Open-source compiler software
1008 open-source libraries, tools and applications tagged compiler, ranked by how closely compiler is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
1008 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| dtolnay/cxx CXX is a Rust library providing a safe, statically analyzed foreign function interface between Rust and C++. It generates zero-overhead bri… | 95 | 6843 | stable |
| Unison Unison is a statically-typed functional programming language with type inference, an effect (abilities) system, and content-addressed code … | 99 | 6756 | active |
| halide/Halide Halide is an embedded DSL (in C++ and Python) for writing high-performance, data-parallel image and array processing pipelines. It separate… | 68 | 6620 | stable |
| brython-dev/brython Brython is an implementation of Python 3 that runs entirely in the web browser, loaded as a JavaScript file and executing Python code embed… | 88 | 6609 | active |
| ocaml/ocaml The core OCaml compiler system, including bytecode and native-code compilers, a runtime system with generational garbage collection, and th… | 92 | 6571 | stable |
| Unleashed Recompiled XenonRecomp is a static recompilation tool that converts Xbox 360 (PowerPC) executables into C++ code that can be recompiled into native ex… | 35 | 6556 | active |
| rizsotto/Bear Bear is a command-line tool that generates a JSON compilation database (compile_commands.) for C and C++ projects by intercepting compiler … | 95 | 6499 | active |
| wazero/wazero wazero is a zero-dependency WebAssembly runtime written in pure Go, supporting the WebAssembly Core Specification 1.0 and 2.0 with both an … | 83 | 6399 | stable |
| swig/swig SWIG is a compiler that reads annotated C/C++ header files and generates wrapper (glue) code so C/C++ libraries can be called from high-lev… | 76 | 6328 | stable |
| facebook/redex ReDex is a C++ bytecode optimizer for Android dex files, originally developed at Facebook. It provides a framework for reading, writing, an… | 93 | 6308 | active |
| scala/scala3 The Scala 3 compiler (Dotty), along with the Scala 3 standard library and language specification. It compiles Scala 3 source code to JVM by… | 92 | 6305 | stable |
| ponylang/ponyc ponyc is the compiler for Pony, an open-source, object-oriented, actor-model, capabilities-secure, high-performance programming language th… | 100 | 6202 | active |
| bellard/mquickjs MicroQuickJS is a compact JavaScript engine written in C, derived from QuickJS, designed for embedded systems with as little as 10 kB of RA… | 60 | 6193 | active |
| Wasm Micro Runtime WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly runtime with a small footprint, supporting interpreter, AOT, and J… | 89 | 6133 | active |
| luau-lang/luau Luau is a fast, small, gradually typed scripting language derived from Lua 5.1, designed to be embedded in applications with a sandboxed ru… | 95 | 6009 | active |
| KhronosGroup/MoltenVK MoltenVK is a layered implementation of the Vulkan 1.4 graphics and compute API built on top of Apple's Metal framework, enabling Vulkan ap… | 95 | 5892 | active |
| C3 Language c3c is the official compiler for the C3 programming language, an evolution of C with modern features like modules, generics, error handling… | 95 | 5880 | active |
| alangpierce/sucrase Sucrase is a super-fast JavaScript transpiler, forked from Babel's parser, that compiles non-standard syntax like JSX, TypeScript, and Flow… | 52 | 5872 | active |
| PyO3/maturin Maturin is a Rust-based CLI tool that builds and publishes Python wheels for crates with pyo3, cffi, or uniffi bindings, as well as Rust bi… | 97 | 5841 | active |
| LuaJIT/LuaJIT LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language, offering a high-performance interpreter and trace compiler. It in… | 77 | 5803 | stable |
| Slang Slang is a shading language and compiler for building large, modular, high-performance GPU shader codebases. It compiles to D3D12, Vulkan, … | 96 | 5752 | active |
| burrowers/garble Garble is a CLI tool that obfuscates Go binaries by wrapping the Go toolchain's compiler and linker. It replaces identifiers, package paths… | 94 | 5749 | active |
| microsoft/typescript-go The staging repository for TypeScript 7.0, a native Go port of the TypeScript compiler (tsgo/tsc), offering dramatically faster type checki… | 10 | 26180 | maintenance |
| ptitSeb/box64 Box64 is a Linux userspace emulator that lets you run x86_64 Linux programs, including games, on non-x86_64 systems such as ARM64, RISC-V, … | 86 | 5658 | active |
| lebab/lebab Lebab is a JavaScript transpiler that converts ES5 code into readable ES6/ES7, doing the opposite of Babel. It offers a CLI and library API… | 71 | 5631 | active |
| mruby/mruby mruby is a lightweight implementation of the Ruby programming language, ISO-standard compliant and Ruby 4.x syntax compatible, written in C… | 77 | 5617 | stable |
| Farm Farm is an extremely fast, Vite-compatible web build tool and bundler written in Rust that compiles JS/JSX/TS/TSX, CSS, HTML, JSON, and sta… | 74 | 5600 | active |
| ReShade ReShade is a generic post-processing injector for games and video software that hooks into Direct3D 9-12, OpenGL, and Vulkan applications t… | 75 | 5587 | active |
| zeldaret/oot A community-driven, work-in-progress decompilation of The Legend of Zelda: Ocarina of Time that recreates readable C source code from the o… | 76 | 5552 | active |
| ohmjs/ohm Ohm is a parsing toolkit consisting of a JavaScript library and a domain-specific language based on parsing expression grammars (PEGs). It … | 74 | 5550 | active |
| apache/groovy Apache Groovy is a multi-faceted programming language for the JVM that offers Java-like syntax with productivity features such as closures,… | 77 | 5474 | stable |
| hylang/hy Hy is a Lisp dialect that compiles to Python AST, giving full access to Python's ecosystem in Lisp syntax. It ships with a REPL, a compiler… | 87 | 5439 | active |
| winglang/wing Wing is an open-source, cloud-oriented programming language that unifies infrastructure definitions and application runtime code in a singl… | 78 | 5402 | active |
| niXman/mingw-builds-binaries Prebuilt MinGW-W64 GCC compiler toolchain binaries for Windows, distributed as downloadable archives with an optional online installer. It … | 87 | 5280 | active |
| killme2008/aviatorscript AviatorScript is a high-performance, lightweight scripting language that runs on the JVM (including Android). It compiles scripts to JVM by… | 78 | 5246 | stable |
| Racket Racket is a mature, general-purpose programming language and ecosystem designed for language-oriented programming, with a core implementati… | 87 | 5215 | stable |
| apache/calcite Apache Calcite is a dynamic data management framework for the JVM that supplies the building blocks of a database—an industry-standard SQL … | 77 | 5194 | stable |
| Unleashed Recompiled An unofficial PC port of the Xbox 360 version of Sonic Unleashed built via static recompilation of the original PowerPC code into native C+… | 62 | 5190 | active |
| vyperlang/vyper Vyper is a Pythonic smart contract language that compiles to Ethereum Virtual Machine (EVM) bytecode, emphasizing security, simplicity, and… | 73 | 5185 | active |
| tectonic-typesetting/tectonic Tectonic is a modernized, self-contained TeX/LaTeX typesetting engine built on XeTeX and TeXLive, implemented largely in Rust. It compiles … | 85 | 5133 | active |
| crablang/crab CrabLang is a community fork of the Rust programming language, providing the compiler, standard library, and toolchain renamed to avoid tra… | 31 | 5063 | active |
| mozilla/uniffi-rs UniFFI is a Rust toolkit that generates foreign-language bindings for Rust code, letting you write core logic once and call it from Kotlin,… | 77 | 5033 | active |
| PerryTS/perry Perry is a native TypeScript/JavaScript compiler written in Rust that compiles TypeScript source directly to standalone machine-code execut… | 78 | 5013 | active |
| inkle/ink ink is inkle's open-source scripting language and narrative engine for writing interactive, branching stories in games. Written in C#, it i… | 67 | 4973 | stable |
| sbt/sbt sbt is the interactive build tool for Scala and Java projects, using a Scala-based DSL (build.sbt) to define parallel task graphs. It provi… | 97 | 4953 | active |
| pret/pokered A complete assembly-language disassembly of Pokémon Red and Blue for the Game Boy, which can be rebuilt byte-identical into the original RO… | 75 | 4941 | active |
| skeeto/w64devkit w64devkit is a portable, self-contained C, C++, and Fortran development kit for x64 and x86 Windows, bundling Mingw-w64 GCC, GDB, GNU Make,… | 95 | 4930 | active |
| Opal Opal is a Ruby to JavaScript source-to-source compiler that ships with its own implementation of the Ruby corelib and stdlib. It lets devel… | 77 | 4926 | stable |
| NilsIrl/dockerc dockerc is a CLI tool written in Zig that compiles Docker/OCI container images into standalone portable Linux binaries. The resulting execu… | 17 | 4918 | active |
| Leo Programming Language Leo is an imperative, statically-typed programming language for writing zero-knowledge applications that compile to circuits for the Aleo b… | 98 | 4823 | active |
| immunant/c2rust C2Rust is a transpiler that converts C99-compliant C code into semantically equivalent but unsafe, unidiomatic Rust code, preserving functi… | 79 | 4821 | active |
| Chisel Chisel is an open-source hardware description language (HDL) embedded in Scala for describing digital electronics at the register-transfer … | 98 | 4807 | stable |
| OSS CAD Suite Yosys is an open-source framework for Verilog/SystemVerilog RTL synthesis, converting hardware description code into gate-level netlists fo… | 97 | 4788 | stable |
| InkboxSoftware/excelCPU A 16-bit CPU implemented entirely within an Excel spreadsheet, featuring 16 registers, 128KB of RAM, and a 128x128 display, driven by Excel… | 26 | 4763 | active |
| yoav-lavi/melody Melody is a domain-specific language that compiles to ECMAScript regular expressions, designed to be more readable and maintainable than ra… | 23 | 4742 | active |
| TheWover/donut Donut is a shellcode generator that converts VBScript, JScript, EXE, DLL files, and .NET assemblies into x86, x64, or AMD64+x86 position-in… | 33 | 4716 | stable |
| Scala.js Scala.js is a compiler that translates Scala code into efficient JavaScript, letting developers write type-safe applications for browsers, … | 89 | 4710 | stable |
| JavaCV JavaCPP is a Java library that provides efficient access to native C++ from Java via JNI, bridging the two languages by exploiting their sy… | 80 | 4706 | stable |
| scala-native/scala-native Scala Native is an optimizing ahead-of-time compiler and lightweight managed runtime that compiles Scala code to native machine code via LL… | 83 | 4694 | active |
| andreasfertig/cppinsights C++ Insights is a Clang-based source-to-source transformation tool that shows the compiler's view of C++ code, revealing implicit conversio… | 76 | 4671 | active |
| borgo-lang/borgo Borgo is a statically typed programming language with Rust-inspired syntax that transpiles to readable Go code. It offers algebraic data ty… | 31 | 4632 | active |
| riscv-collab/riscv-gnu-toolchain The official GNU toolchain for RISC-V, providing GCC-based C and C++ cross-compilers. It can build bare-metal ELF toolchains (Newlib/Picoli… | 93 | 4625 | active |
| asmjit/asmjit AsmJit is a lightweight C++ library for low-latency machine code generation supporting X86, X86_64, and AArch64 architectures. It provides … | 75 | 4618 | active |
| openxla/xla XLA (Accelerated Linear Algebra) is an open-source machine learning compiler that optimizes models from frameworks like PyTorch, TensorFlow… | 77 | 4605 | active |
| marcobambini/gravity Gravity is a lightweight, dynamically typed, class-based scripting language written in portable C99 with no external dependencies, featurin… | 95 | 4582 | active |
| apache/fory Apache Fory is a blazingly fast multi-language serialization framework supporting idiomatic domain objects, a reference-aware schema IDL, a… | 98 | 4568 | active |
| Fody Fody is an extensible tool for weaving .NET assemblies, manipulating IL code as part of the build process. It provides an add-in model that… | 70 | 4543 | active |
| onnxsim/onnxsim ONNX Simplifier (onnxsim) is a tool that simplifies ONNX models by inferring the whole computation graph and replacing redundant operators … | 100 | 4415 | active |
| trunk-rs/trunk Trunk is a build tool and bundler for Rust WASM web applications, driven by a source HTML file with optional configuration. It bundles WASM… | 77 | 4398 | active |
| libffi/libffi libffi is a portable C library providing a high-level interface to various calling conventions, allowing code to call compiled functions wh… | 90 | 4394 | stable |
| evhub/coconut Coconut is a functional programming language that is a superset of Python, compiling to Python code while adding features like pattern matc… | 55 | 4356 | active |
| dotnet/fsharp The official open-source F# compiler, F# core library (FSharp.Core), and F# language service, including tooling integration for Visual Stud… | 74 | 4344 | stable |
| zenc-lang/zenc Zen C is a modern, strictly typed systems programming language that transpiles to human-readable GNU C/C11, offering type inference, patter… | 68 | 4317 | active |
| Alibaba Dragonwell Alibaba Dragonwell8 is a downstream, production-hardened distribution of OpenJDK 8 (LTS) optimized for large-scale online e-commerce, finan… | 97 | 4315 | active |
| rolldown/tsdown tsdown is a fast bundler designed for building JavaScript/TypeScript libraries, powered by Rolldown and Oxc. It generates declaration files… | 85 | 4283 | active |
| mint-lang/mint Mint is a programming language that compiles to JavaScript, designed specifically for building front-end web applications. It provides buil… | 91 | 4267 | active |
| jboss-javassist/javassist Javassist is a Java class library for editing Java bytecode, enabling programs to define new classes at runtime or modify class files as th… | 89 | 4233 | stable |
| root-project/cling Cling is an interactive C++ interpreter built on top of Clang and LLVM, implementing a read-eval-print loop (REPL) for rapid C++ developmen… | 70 | 4195 | active |
| ton-blockchain/ton The main TON monorepo containing the reference implementation of The Open Network blockchain, including the node/validator software, lite-c… | 95 | 4160 | active |
| zml/zml ZML is a production LLM inference stack written in Zig, built on MLIR and OpenXLA, that compiles models to run at peak performance across N… | 69 | 4136 | active |
| westes/flex flex is the classic fast lexical analyzer generator that produces C/C++ scanner code from regular-expression pattern specifications. It is … | 62 | 4042 | stable |
| verilator/verilator Verilator is an open-source Verilog/SystemVerilog simulator and lint system that compiles RTL designs into fast, multithreaded C++ or Syste… | 77 | 4021 | stable |
| IREE IREE is an MLIR-based end-to-end machine learning compiler and runtime that lowers models from frameworks like PyTorch, TensorFlow, JAX, an… | 95 | 3980 | active |
| atopile/atopile atopile is a language, compiler, and toolchain for designing electronic circuit boards as code using declarative .ato files. It provides de… | 67 | 3976 | active |
| bflat bflat is a C# compiler and ahead-of-time runtime that combines Roslyn and NativeAOT to produce small, self-contained native executables wit… | 46 | 3972 | active |
| Mezzano Mezzano is an operating system written entirely in Common Lisp, featuring its own compiler, GUI, networking stack, and file system support.… | 67 | 3914 | active |
| Rocket Chip Rocket Chip is a Scala/Chisel-based hardware generator that produces parameterizable RISC-V System-on-Chip designs, emitting Verilog RTL fo… | 65 | 3883 | active |
| unikraft/unikraft Unikraft is an open-source Unikernel Development Kit for building custom, specialized operating system kernels tailored to individual appli… | 82 | 3881 | active |
| Ballerina Ballerina is an open-source, cloud-native programming language optimized for integration, developed by WSO2, with built-in support for JSON… | 98 | 3864 | active |
| jashkenas/coffeescript CoffeeScript is a small programming language that compiles one-to-one into readable JavaScript, exposing JavaScript's good parts with clean… | 32 | 16594 | maintenance |
| d5/tengo Tengo is a small, dynamic, fast scripting language implemented in pure Go, compiled to bytecode and executed on a stack-based VM. It is des… | 66 | 3840 | stable |
| ptitSeb/box86 Box86 is a Linux userspace x86 (32-bit) emulator written in C, targeted at ARM Linux devices. It uses a dynamic recompiler (dynarec) and na… | 65 | 3807 | active |
| facebookincubator/MetaPython Meta's fork of the CPython runtime (historically named Cinder), maintained by Facebook Incubator. It tracks upstream Python 3.14+ and pairs… | 77 | 3793 | active |
| kach/nearley nearley is a JavaScript parser toolkit built on the Earley parsing algorithm, consisting of a BNF-based grammar DSL compiler and a lightwei… | 23 | 3741 | stable |
| nanobind nanobind is a small C++ library for creating Python bindings of C++ types and functions, with syntax nearly identical to pybind11 and Boost… | 76 | 3732 | stable |
| swiftlang/swift-syntax A set of Swift libraries for parsing, inspecting, generating, and transforming Swift source code via a source-accurate syntax tree (SwiftSy… | 94 | 3710 | stable |
| steveicarus/iverilog Icarus Verilog is an open-source Verilog HDL compilation system that compiles IEEE 1364 Verilog and a growing subset of SystemVerilog (IEEE… | 77 | 3684 | active |
| ProGuard ProGuard is a free shrinker, optimizer, obfuscator, and preverifier for Java bytecode. It removes unused code, optimizes bytecode, and rena… | 85 | 3676 | active |
| emscripten-core/emsdk The Emscripten SDK (emsdk) is a package-manager-style CLI tool that installs, activates, and switches between versions of the Emscripten co… | 76 | 3671 | active |
| microsoft/DirectXShaderCompiler Microsoft's DirectX Shader Compiler (DXC), an LLVM/Clang-based compiler that translates HLSL shader programs into DXIL bytecode for DirectX… | 95 | 3666 | active |