Emscripten
Shares rank 9 of 26 compilers by recommenders
Free compiler that turns C and C++ code into WebAssembly for the browser, praised for working reliably. Critics say it adds bulky output and is hard to set up.
Free compiler that turns C and C++ code into WebAssembly for the browser, praised for working reliably. Critics say it adds bulky output and is hard to set up.
32 people gave an opinion
- recommend it
- 18
- criticize it
- 14
- approval share
- 56%
Recommended in 11 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: not recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it doesn’t carry the badge
- 18 people recommend itNeeds 10 or more, met.
- 1.2 recommenders for every criticNeeds 2 to 1 or better, not met.
- Recommended in 11 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Works for porting C and C++
“I have been flabbergasted by how well Emscripten actually worked”
Comment from 20 May 2026 in “Saying Goodbye to Asm.js” “Emscripten exists, DWARF debugging support exists and works”
Comment from 12 Mar 2026 in “Making WebAssembly a first-class language on the Web” “Just build a web app with emscripten. You can do anything.”
Comment from 14 Apr 2026 in “A new spam policy for "back button hijacking"” - Comment from 13 Mar 2026 in “Making WebAssembly a first-class language on the Web”
Easy calls between C and JavaScript
“FFI calls into Javascript are trivial (it's even possible to embed JS code into C/C++ source files)”
Comment from 14 Nov 2025 in “Rust in Android: move fast and fix things” “one of my favorite technologies ever since the first time I called malloc from the JS console”
Comment from 9 Jan 2026 in “What Happened to WebAssembly” “you can even mix C/C++ and Javascript in the same source file”
Comment from 11 Mar 2026 in “Making WebAssembly a first-class language on the Web” - Comment from 14 Nov 2025 in “Rust in Android: move fast and fix things”
Good runtime performance
“Performance-wise WebAssembly and Emscripten seem remarkable”
Comment from 12 Oct 2026 in “A Modern Web App in C” “Emscripten output performance was surprisingly good”
Comment from 20 May 2026 in “Saying Goodbye to Asm.js”
What people warn about
Each mark is one comment
Bloated generated output
“Emscripten adds a lot of bloat and edges just to serve out of the box posix compatibility”
Comment from 8 Mar 2026 in “Notes on Writing WASM” “thousands lines of generated javascript to glue the wasm and javaecript together”
Comment from 31 Jan 2026 in “Antirender: remove the glossy shine on architectural renderings” “tools like emscripten include the entire C++ standard library”
Comment from 1 Nov 2026 in “The AI cost of JavaScript frameworks” - Comment from 20 May 2026 in “Saying Goodbye to Asm.js”
- Comment from 12 May 2026 in “Docker images are MB; a full game engine compiles to 35MB WASM”
Hard to install and set up
“I was writing emscripten and getting lots of errors and problems and it wouldn't run at all”
Comment from 12 May 2026 in “If AI Writes Your Code, Why Use Python?” “It's too heavy to install, too much of a hassle to get running”
Comment from 24 Jan 2026 in “Show HN: Coi – A language that compiles to WASM, beats React/Vue” “Emscripten can be a fickle beast”
Comment from 12 Feb 2026 in “GPT‑5.3‑Codex‑Spark” Legacy versions and flag issues
“compiling legacy code with legacy versions of Emscripten is quite frustrating”
Comment from 20 May 2026 in “Saying Goodbye to Asm.js” “Emscripten export flags still bite”
Comment from 15 Jun 2026 in “Ported my C game to WASM, here's everybug that I hit”
Other compilers people recommend
The four most recommended other compilers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| GCC | 138 | 123 | 53% | 12 | 15 yrs9 owners | — |
| Clang | 74 | 50 | 60% | 12 | — | — |
| Free Pascal compiler | 38 | 7 | 84% | 11 | — | Approved |
| GraalVM Native Image | 31 | 9 | 78% | 11 | — | Approved |
| EmscriptenThis page | 18 | 14 | 56% | 11 | — | — |
What people said
36 of the 41 comments that mention it, newest first. Each links to the original comment.
“tools like emscripten include the entire C++ standard library”
“most people would still grab for Emscripten with a shadow stack and asyncify hacks”
“Absolutely awesome to work with.”
“Performance-wise WebAssembly and Emscripten seem remarkable”
“the most respectable work, apart from the original AVS code, was done by the Emscripten contributors”
“worked perfectly fine with the exact same routines”
“It is bad and most demos don't bother changing it.”
“Emscripten export flags still bite”
“the de-facto only tool (emscripten) is an amateur hour hobby project”
“We still need to download half Internet for emscripten”
“I have been flabbergasted by how well Emscripten actually worked”
“compiling legacy code with legacy versions of Emscripten is quite frustrating”
“Emscripten output performance was surprisingly good”
“But I wasn't sure that emscripten still fully supported it.”
“There is significant bloat in this setup”
“I was writing emscripten and getting lots of errors and problems and it wouldn't run at all”
“Just build a web app with emscripten. You can do anything.”
“All things that perform better and are often better to use than JavaScript”
“Emscripten exists and works”
“Emscripten exists, DWARF debugging support exists and works”
“Emscripten has solved this problem long ago”
“you can even mix C/C++ and Javascript in the same source file”
“Emscripten adds a lot of bloat and edges just to serve out of the box posix compatibility”
“Emscripten can be a fickle beast”
“thousands lines of generated javascript to glue the wasm and javaecript together”
“Emscripten uses their val class for JS interop which wraps each canvas call in their abstraction layer.”
“It's too heavy to install, too much of a hassle to get running”
“currently in the process of ripping out Emscripten entirely”
“It still hasn't escaped its tech-demo origins, and it's a rats' nest of compiler flags and janky polyfills.”
“one of my favorite technologies ever since the first time I called malloc from the JS console”
“does a fairly good job making OpenGL code work on WebGL”
“FFI calls into Javascript are trivial (it's even possible to embed JS code into C/C++ source files)”
“The one great feature of Emscripten is that you can do:”
“given how badly documented its whole tooling is”
“take a long hard look at Emscripten”
“Have Kids These Days forgotten all about Emscripten?”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.