The official Imba documentation.

Imba is a programming language for building amazing web applications. It's greatly optimized for modern browsers.


Below are just a few of the benefits of using Imba

  • A friendly full stack language, You can use it on the server and the client.

  • Seamless integration with JavaScript. You can easily reuse existing JavaScript in Imba.

  • Performance builtin with the Memoized DOM. This frees you up to focus on

    the application and business logic.

Imba is 💯 open source and you can find the source on the imba/imba repository.


Imba was created around 2010 by Sindre Aarsaether in order to port Ruby to browsers. As time progressed, the project morphed into an effort to create an optimal platform for end-to-end end web development.

Even though the speed was not one of the original goals, the implementation of the Imba's DOM reconciler, also known as 'Memoized DOM', has stood the test of time, and is, to date, one of the fastest DOM reconciler designs on the market. Many of today's high-performance designs use the same or similar techniques.

The language is heavily inspired by Ruby, Python, CoffeeScript and JavaScript.

The Name

The name Imba comes from the term 'imbalance' used in the gaming world to point to a character or an item that is overpowered / unjustly good and therefore causes the gameplay to become imbalanced.


Note that this documentation is under construction. Please report any issues or potential feedback on GitHub.