emscripten-core/emscripten

Emscripten: An LLVM-to-WebAssembly Compiler

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 29 minutes ago
Added to GitGenius on September 2nd, 2026
Created on February 12th, 2011
Open Issues & Pull Requests: 2,480 (+0)
GitHub issues: Enabled
Number of forks: 3,544
Total Stargazers: 27,599 (+0)
Total Subscribers: 573 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.1 hours
Mean response time: 21.9 days
90th percentile: 6.6 days
Tracked items: 1,273

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 71% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "embind" is answered fastest, typically in about 12 hours, while "wasmfs" waits about 3 days. 73% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 541
New in 7 days: 5
Closed in 7 days: 4
Avg open age: 675 days
Stale 30+ days: 502
Stale 90+ days: 468

Recent activity

Opened in 7 days: 4
Closed in 7 days: 4
Comments in 7 days: 0
Events in 7 days: 5

Top labels

  • webgpu (42)
  • embind (40)
  • help wanted (26)
  • good first bug (19)
  • wontfix (18)
  • wasmfs (10)
  • docs (6)
  • jspi (6)

Detailed Description

Emscripten is an LLVM-to-WebAssembly compiler that transforms C and C++ code into WebAssembly modules executable in browsers, Node.js, and standalone wasm runtimes.

The tool solves the problem of running native C and C++ applications on the Web by compiling through LLVM and Binaryen to produce WebAssembly output. It provides Web support for established portable APIs such as OpenGL and SDL2, enabling complex graphical applications originally written for desktop platforms to run in browser environments with minimal modification. The compiler works by accepting C and C++ source code and producing both a WebAssembly module and accompanying JavaScript loader code, which can then be executed directly in web browsers or JavaScript runtimes.

Adoption suits projects that have existing C or C++ codebases and need to run them on the Web without rewriting in JavaScript. It is particularly valuable for graphical applications, game engines, and computationally intensive software that benefit from WebAssembly's performance characteristics. The tool can integrate with other LLVM-based compilers, such as Rust's wasm32-unknown-emscripten target. Installation is available through the official Emscripten SDK for ease of setup, or through manual Git checkout for developers who prefer direct repository access.

The project maintains active continuous integration through CircleCI and Chromium builder infrastructure. Development follows a structured contribution process documented in the repository's contributing guidelines and developer documentation. The tool is distributed under dual licensing with both MIT and University of Illinois/NCSA Open Source licenses, providing flexibility for different project requirements.