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 |
|---|---|---|---|
| Bicep Bicep is a declarative infrastructure-as-code language and toolchain for describing and deploying Azure resources, compiling down to ARM te… | 95 | 3657 | active |
| privatenumber/esbuild-loader A Webpack loader that uses esbuild to transpile JavaScript and TypeScript and minify output far faster than babel-loader, ts-loader, or Ter… | 87 | 3604 | active |
| KhronosGroup/glslang Khronos's reference front end for GLSL and ESSL shaders, with a deprecated partial HLSL front end, that validates shader code and generates… | 94 | 3597 | stable |
| icedland/iced iced is a fast and correct x86/x64 (16/32/64-bit) instruction decoder, disassembler, and assembler library with bindings for Rust, .NET, Ja… | 67 | 3592 | active |
| maciejhirsz/logos Logos is a Rust lexer generator library that derives fast tokenizers from enum definitions using token and regex attributes. It combines al… | 79 | 3578 | stable |
| dafny-lang/dafny Dafny is a verification-aware programming language with native support for writing specifications and a built-in static verifier powered by… | 73 | 3578 | active |
| eliben/pycparser pycparser is a complete C99 parser written in pure Python with no external dependencies. It produces an AST that can be used for static ana… | 91 | 3576 | stable |
| OpenGOAL OpenGOAL is a project that decompiles the Jak & Daxter PS2 games and recompiles them into native x86-64 ports, including a from-scratch imp… | 100 | 3574 | active |
| Eclipse OpenJ9 Eclipse OpenJ9 is an independent, enterprise-grade Java Virtual Machine implementation for OpenJDK, built on Eclipse OMR. It is optimized f… | 94 | 3547 | active |
| microsoft/hummingbird Hummingbird is a Microsoft library that compiles trained traditional ML models (decision trees, random forests, XGBoost, LightGBM) into ten… | 65 | 3545 | active |
| lalrpop/lalrpop LALRPOP is an LR(1) parser generator for Rust focused on usability, letting you write compact, DRY, readable grammars with macros, type inf… | 77 | 3504 | stable |
| pret/pokeemerald A complete decompilation of Pokémon Emerald into C source code that rebuilds the exact original Game Boy Advance ROM. It serves as a base f… | 74 | 3494 | active |
| google/ksp Kotlin Symbol Processing (KSP) is an API from Google for developing lightweight Kotlin compiler plugins, primarily used for annotation proc… | 97 | 3481 | active |
| TypeStrong/ts-loader ts-loader is the official TypeScript loader for webpack, compiling .ts and .tsx files during webpack builds. It integrates the TypeScript c… | 88 | 3481 | active |
| grain-lang/grain Grain is a strongly-typed functional programming language that compiles to WebAssembly, together with its compiler toolchain and CLI. It ai… | 85 | 3468 | active |
| scala/scala The Scala 2 programming language compiler and standard library, hosted by the Scala organization. Scala 2 is in maintenance mode, with acti… | 78 | 14562 | maintenance |
| gluon Gluon is a small, statically-typed functional programming language with type inference, implemented in Rust and designed for embedding in a… | 91 | 3451 | active |
| dtolnay/syn Syn is a Rust parsing library that converts a stream of Rust tokens into a syntax tree of Rust source code. It is primarily designed for us… | 99 | 3433 | stable |
| Emojicode Emojicode is an open-source, multi-paradigm programming language whose syntax consists of emojis, featuring object-orientation, optionals, … | 23 | 3417 | active |
| osxcross Toolchain OSXCross is a macOS cross-compilation toolchain that lets you build macOS binaries from Linux and *BSD hosts. It combines a host compiler, … | 71 | 3403 | active |
| mono/CppSharp CppSharp is a tool and library set that parses C/C++ headers and libraries and generates glue code to expose native APIs as managed .NET AP… | 60 | 3403 | active |
| NVIDIA/cuda-python NVIDIA's official Python package for accessing the CUDA platform, providing Pythonic APIs and low-level bindings to CUDA C APIs, parallel a… | 95 | 3399 | active |
| Zephir Zephir is a high-level, statically/dynamically typed programming language with a compiler CLI that transpiles code to C for building PHP ex… | 98 | 3384 | active |
| D Programming Language (DMD toolchain) DMD is the reference compiler for the D programming language, a statically typed systems and applications language with C-like syntax and n… | 85 | 3328 | active |
| netwide-assembler/nasm NASM (the Netwide Assembler) is a portable, cross-platform assembler for the x86 and x86-64 CPU architectures using Intel-like syntax. It s… | 73 | 3314 | stable |
| virtualagc/virtualagc Virtual AGC is a project providing emulators for the Apollo Guidance Computer (AGC), Abort Guidance System (AGS), and related peripherals l… | 68 | 3308 | active |
| SpinalHDL/VexRiscv VexRiscv is a parameterizable 32-bit RISC-V CPU core written in SpinalHDL that generates Verilog for FPGA deployment. It supports RV32I[M][… | 76 | 3277 | active |
| ghc/ghc The Glasgow Haskell Compiler (GHC), the state-of-the-art open-source compiler and interactive environment (GHCi) for the Haskell functional… | 77 | 3275 | active |
| matter-labs/zksync-era ZKsync Era is a ZK rollup layer 2 protocol for scaling Ethereum using zero-knowledge proofs, implemented primarily in Rust. It is EVM-compa… | 89 | 3235 | active |
| truffleruby/truffleruby TruffleRuby is a high-performance implementation of the Ruby programming language built on GraalVM's Truffle framework. It aims for full MR… | 92 | 3227 | active |
| Skip Skip is an open-source toolchain that lets developers build native iOS and Android apps from a single Swift/SwiftUI codebase. It compiles S… | 91 | 3227 | active |
| mishoo/UglifyJS UglifyJS is a JavaScript parser, minifier, compressor, and beautifier toolkit written in JavaScript. It provides a CLI and a programmatic A… | 23 | 13379 | maintenance |
| CosmosOS/Cosmos Cosmos is an operating system construction kit that lets developers build bare-metal OS kernels using .NET languages like C#, VB.NET, and F… | 99 | 3217 | active |
| The-OpenROAD-Project/OpenROAD OpenROAD is an open-source application implementing a unified RTL-to-GDSII flow for digital chip design, covering synthesis through floorpl… | 68 | 3203 | active |
| Faust Faust (Functional Audio Stream) is a functional programming language for real-time digital signal processing and sound synthesis, developed… | 96 | 3188 | stable |
| Obfuscar Obfuscar is an open source MIT-licensed obfuscation tool for .NET assemblies that renames metadata to minimal names, making decompiled code… | 96 | 3185 | active |
| pxb1988/dex2jar dex2jar is a set of Java-based command-line tools for working with Android .dex and Java .class files. It converts Dalvik executables (e.g.… | 23 | 13148 | maintenance |
| Fable Fable is an open-source F# compiler that translates F# code to JavaScript, TypeScript, Python, Rust, Dart, and Erlang/BEAM. It makes F# a f… | 99 | 3152 | active |
| dtolnay/cargo-expand A Cargo subcommand that prints the result of macro and #[derive] expansion for a Rust crate, wrapping the verbose `cargo rustc -- -Zunprett… | 99 | 3134 | stable |
| TeaVM TeaVM is an ahead-of-time compiler that translates Java bytecode (from Java, Kotlin, or Scala) into JavaScript, WebAssembly, or C. It ships… | 95 | 3132 | active |
| F* F* is a general-purpose proof-oriented programming language combining dependent types with SMT-based proof automation and interactive theor… | 100 | 3121 | active |
| oasislinux/oasis Oasis is a small, fully statically-linked Linux system built around musl, with reproducible builds driven by Lua-generated samurai manifest… | 58 | 3114 | active |
| idris-lang/Idris2 Idris 2 is a purely functional programming language with first-class types and full dependent types, designed for type-driven development. … | 70 | 3094 | active |
| Remix Remix Project is a browser-based IDE and compiler toolset for developing, deploying, and debugging Ethereum smart contracts in Solidity and… | 97 | 3057 | active |
| TinyCC/tinycc TinyCC (tcc) is a very small and fast ANSI C compiler that can compile, link, and run C code directly, including as shebang-style C scripts… | 75 | 3041 | active |
| TheDan64/inkwell Inkwell is a Rust library providing a safe, strongly-typed wrapper around llvm-sys for building compilers and JIT engines. It mirrors LLVM … | 96 | 3031 | active |
| luminal-ai/luminal Luminal is a high-performance general-purpose ML inference compiler written in Rust that lowers models to a minimal 15-op dataflow IR and c… | 77 | 3026 | active |
| pytorch/TensorRT Torch-TensorRT is a compiler library that accelerates PyTorch model inference on NVIDIA GPUs using TensorRT. It supports just-in-time compi… | 93 | 3009 | active |
| Cecil Mono.Cecil is a C# library for inspecting, modifying, and generating .NET assemblies in ECMA CIL form. It provides a powerful object model … | 38 | 3005 | stable |
| salsa-rs/salsa Salsa is a Rust framework for on-demand, incrementalized computation, where programs are defined as memoized queries over inputs. It intell… | 94 | 2998 | active |
| mirage/mirage MirageOS is a library operating system written in OCaml that compiles application code into fully standalone, specialized unikernels for se… | 89 | 2993 | active |
| mmcloughlin/avo avo is a Go library for generating x86-64 assembly using Go programs, providing an assembly-like API with register allocation and automatic… | 66 | 2990 | active |
| ispc/ispc Intel ISPC is a compiler for a C-based SPMD (single program, multiple data) language that targets SIMD vector units on CPUs and GPUs. It le… | 95 | 2984 | stable |
| ashmind/SharpLab SharpLab is a .NET code playground (source of sharplab.io) that shows intermediate steps and results of code compilation, including decompi… | 34 | 2981 | active |
| bytenode/bytenode Bytenode is a minimalist bytecode compiler that compiles JavaScript into V8 bytecode (.jsc files) to protect source code. It works with Nod… | 75 | 2976 | active |
| unjs/jiti jiti is a zero-dependency Node.js library and CLI that provides runtime TypeScript and ESM support with seamless ESM/CommonJS interoperabil… | 90 | 2974 | active |
| mstorsjo/llvm-mingw A reproducibly built LLVM/Clang/LLD based mingw-w64 toolchain for compiling Windows binaries. It provides cross-compilers and native toolch… | 95 | 2965 | active |
| mozilla/cbindgen cbindgen is a tool that generates C and C++11 header files from Rust crates that expose a public C API. It can be used as a standalone CLI … | 85 | 2951 | active |
| TranscryptOrg/Transcrypt Transcrypt is a Python 3.9 to JavaScript compiler that precompiles Python source into lean, readable, fast JavaScript for use in the browse… | 74 | 2919 | active |
| rui314/chibicc chibicc is a small C compiler written in C that implements most of the C11 standard and can compile real-world programs like Git, SQLite, a… | 32 | 11914 | maintenance |
| terralang/terra Terra is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language. It allows Lua cod… | 92 | 2914 | active |
| GHDL GHDL is an open-source analyzer, compiler, simulator, and experimental synthesizer for the VHDL hardware description language, supporting I… | 79 | 2907 | active |
| jsii jsii is a toolchain that lets TypeScript class libraries be consumed natively from Python, Java, C#/.NET, Go, and JavaScript by generating … | 99 | 2870 | active |
| beefytech/Beef Beef is an open-source, performance-oriented compiled programming language derived from C# syntax with C-style low-level control, bundled w… | 68 | 2869 | active |
| erg-lang/erg Erg is a statically typed, Python-compatible general-purpose programming language with a powerful type system featuring dependent and refin… | 55 | 2864 | active |
| rustviz/rustviz RustViz generates interactive timeline visualizations of ownership and borrowing events for short Rust programs, integrating directly with … | 68 | 2851 | active |
| symfony/expression-language A Symfony PHP component providing an engine that compiles and evaluates one-line expressions with a syntax similar to PHP and Twig. It acts… | 94 | 2838 | stable |
| teal-language/tl tl is the compiler and type checker for Teal, a statically-typed dialect of Lua that adds type annotations, generics, and records while com… | 74 | 2829 | active |
| jOOQ/jOOR jOOR is a small, dependency-free fluent API wrapper around Java's java.lang.reflect package, making reflection more intuitive and concise. … | 88 | 2824 | stable |
| mono/mono Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime, inc… | 32 | 11466 | maintenance |
| diku-dk/futhark Futhark is a purely functional, statically typed data-parallel array programming language in the ML family, developed at the University of … | 95 | 2809 | active |
| Chevrotain/chevrotain Chevrotain is a fast, feature-rich parser building toolkit for JavaScript with built-in LL(K) grammar support. Grammars are written as pure… | 67 | 2809 | stable |
| pytorch/xla PyTorch/XLA is a Python package that connects the PyTorch deep learning framework to XLA devices such as Google Cloud TPUs via the XLA deep… | 63 | 2801 | active |
| container2wasm/container2wasm container2wasm is a Go CLI tool that converts container images (e.g. Docker images) into WASM binaries that can run on WASI runtimes or in … | 84 | 2800 | active |
| clasp-developers/clasp Clasp is a Common Lisp implementation that compiles to native code via LLVM and seamlessly interoperates with C++ libraries and programs. I… | 82 | 2785 | active |
| WAVM/WAVM WAVM is a WebAssembly virtual machine designed for non-browser applications, using LLVM to JIT-compile WebAssembly to near-native machine c… | 64 | 2782 | active |
| manifold-systems/manifold Manifold is a Java compiler plugin that extends the Java language at compile time with features like extension methods, properties, operato… | 77 | 2766 | active |
| flix/flix Flix is a statically typed, effect-oriented programming language that combines functional, imperative, and logic programming paradigms, dev… | 99 | 2758 | active |
| Fennel Fennel is a Lisp dialect that compiles to Lua with zero runtime overhead and full Lua compatibility. It supports compile-time macros, patte… | 49 | 2758 | stable |
| bytecodealliance/javy Javy is a JavaScript-to-WebAssembly toolchain that compiles JavaScript source into small Wasm modules executed in an embedded JS runtime. I… | 91 | 2756 | active |
| inkle/inky Inky is a desktop IDE for ink, inkle's narrative scripting language used for interactive branching stories in games. It lets writers edit i… | 67 | 2742 | stable |
| aardappel/lobster Lobster is a statically typed, general-purpose programming language with a Python-like indentation syntax, flow-sensitive type inference, a… | 94 | 2741 | active |
| unjs/unbuild unbuild is a unified JavaScript/TypeScript build system from the unjs ecosystem, built on Rollup, that bundles libraries into CommonJS and … | 78 | 2726 | active |
| sharkdp/numbat Numbat is a statically typed programming language for scientific computations with first-class support for physical dimensions and units, i… | 93 | 2702 | active |
| cc65 cc65 is a complete cross-development suite for 65(C)02-based systems, including a C compiler, macro assembler, linker, archiver, and simula… | 67 | 2695 | active |
| rust-cross/cargo-zigbuild cargo-zigbuild is a Cargo subcommand that uses zig as the linker to make cross-compiling Rust projects easier. It supports building for man… | 97 | 2684 | active |
| vnmakarov/mir MIR is a lightweight JIT compiler project built around a strongly typed Medium Internal Representation, with a C11 JIT compiler and interpr… | 59 | 2661 | active |
| Keystone Assembler Engine Keystone is a lightweight multi-platform, multi-architecture assembler framework implemented in C/C++ with bindings for many languages. It … | 67 | 2649 | active |
| google/googlesql GoogleSQL (formerly ZetaSQL) is a C++ analyzer framework that defines a SQL language—grammar, types, data model, semantics, and function li… | 94 | 2641 | active |
| Reason Reason is an alternative syntax and toolchain for the OCaml programming language, offering simple, fast, type-safe code with a JavaScript-f… | 88 | 10324 | maintenance |
| Circle Circle is a C++ compiler by Sean Baxter that extends C++ with new language features like choice types, pattern matching, interfaces, and re… | 32 | 2577 | active |
| mirage-project/mirage Mirage Persistent Kernel (MPK) is a compiler and runtime that transforms multi-GPU LLM inference into a single fused megakernel, reducing i… | 81 | 2560 | active |
| TypeScriptToLua/TypeScriptToLua TypeScriptToLua is a generic TypeScript to Lua transpiler that lets developers write code in TypeScript and compile it to Lua. It targets a… | 70 | 2545 | active |
| thepowersgang/mrustc mrustc is an alternative Rust compiler written in C++ whose primary purpose is bootstrapping rustc without needing an existing Rust binary.… | 76 | 2533 | active |
| KhronosGroup/SPIRV-Cross SPIRV-Cross is a tool and C++ library from Khronos for parsing SPIR-V binaries, performing reflection, and decompiling them back to high-le… | 67 | 2532 | stable |
| crosstool-ng/crosstool-ng Crosstool-NG is a versatile toolchain generator that builds cross-compilation toolchains (compiler, linker, libraries) for many target arch… | 85 | 2517 | active |
| peachpiecompiler/peachpie PeachPie is an open-source PHP compiler built on Microsoft Roslyn that compiles PHP code to .NET and .NET Core, with a reimplemented PHP ru… | 70 | 2486 | active |
| lfe/lfe Lisp Flavoured Erlang (LFE) is a Lisp syntax front-end to the Erlang compiler, producing code fully compatible with normal Erlang. It inclu… | 85 | 2460 | active |
| tracel-ai/cubecl CubeCL is a Rust language extension, JIT compiler, and runtime set for writing high-performance GPU compute kernels in plain Rust. A single… | 83 | 2437 | active |
| KCL KCL is a constraint-based record and functional configuration and policy language implemented in Rust, with this repo providing the languag… | 100 | 2432 | active |