Emscripten is an LLVM to JavaScript compiler. It takes LLVM bytecode (e.g. generated from C/C++ using Clang, or from another language) and compiles that into JavaScript, which can be run on the Web.

Important: This page provides a very brief introduction to what Emscripten is. To get started with Emscripten, go to the official Emscripten Wiki.

Using Emscripten, you can

Emscripten makes native code immediately available on the Web: a platform that is standards-based, has numerous independent compatible implementations, and runs everywhere from PCs to iPads.

With Emscripten, C/C++ developers don’t have the high cost of porting code manually to JavaScript — or having to learn JavaScript at all. Web developers also benefit, as they can use the many thousands of pre-existing native utilities and libraries in their sites.

Practically any portable C or C++ codebase can be compiled into JavaScript using Emscripten, ranging from high performance games that need to render graphics, play sounds, and load and process files, through to application frameworks like Qt.

Emscripten generates fast code — its default output format is asm.js , a highly optimizable subset of JavaScript that can execute at close to native speed in many cases.

Note: Sound interesting? Read more about Emscripten and try some demos, then get started with using it.