Smalltalk development in your browser and Node.js
Smalltalk
202
312 commits
updated Sep 21, 2026
Official website:
small-js.org
doAwait: method to class Array to await iterating over an async block.Database and AI more modular,
allowing projects to just install npm packages of implementations they use.SmallJS is a free and open source implementation of the elegant and powerful Smalltalk-80 (ST) language.
It compiles to JavaScript (JS) that runs in modern browsers or in recent Node.js.\
SmallJS is file based, not image based, so you can develop in your favorite IDE.
The default setup is for Visual Studio Code, with ST syntax coloring and step-debugging!
You code separately from the SmallJS base libraries (image).
Only the parts you use are imported automatically when running your app.
SmallJS is fully object oriented, so customizable on every level.
For usability, ST class and method names are kept mostly equal to their familiar JS counterparts.
JS libraries already encapsulated in ST are:
To get you started quickly, there are several example projects using the above.

To install SmallJS check out: Installing.md
For a first impression of running SmallJS code, see the example projects: Examples.md
To get a feel for Smalltalk and to quickly test out ST expressions, a playground is accessible though the offical website: small-js.org/Playground
The complete SmallJS documentation, including a tutorial, is located here: Documentation.md
Contributions to SmallJS that are not part of the main system, but show interesting applications: Contributions.md
Smalltalk
62.0%
TypeScript
17.4%
StringTemplate
14.6%
Shell
3.6%
HTML
1.6%
Smalltalk development in your browser and Node.js
Smalltalk
202
312 commits
updated Sep 21, 2026
Official website:
small-js.org
doAwait: method to class Array to await iterating over an async block.Database and AI more modular,
allowing projects to just install npm packages of implementations they use.SmallJS is a free and open source implementation of the elegant and powerful Smalltalk-80 (ST) language.
It compiles to JavaScript (JS) that runs in modern browsers or in recent Node.js.\
SmallJS is file based, not image based, so you can develop in your favorite IDE.
The default setup is for Visual Studio Code, with ST syntax coloring and step-debugging!
You code separately from the SmallJS base libraries (image).
Only the parts you use are imported automatically when running your app.
SmallJS is fully object oriented, so customizable on every level.
For usability, ST class and method names are kept mostly equal to their familiar JS counterparts.
JS libraries already encapsulated in ST are:
To get you started quickly, there are several example projects using the above.

To install SmallJS check out: Installing.md
For a first impression of running SmallJS code, see the example projects: Examples.md
To get a feel for Smalltalk and to quickly test out ST expressions, a playground is accessible though the offical website: small-js.org/Playground
The complete SmallJS documentation, including a tutorial, is located here: Documentation.md
Contributions to SmallJS that are not part of the main system, but show interesting applications: Contributions.md
Smalltalk
62.0%
TypeScript
17.4%
StringTemplate
14.6%
Shell
3.6%
HTML
1.6%