Open-source compilers software
495 open-source libraries, tools and applications tagged compilers, ranked by how closely compilers 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.
495 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| vercel-labs/scriptc scriptc is a TypeScript-to-native compiler that compiles ordinary TypeScript and JavaScript into small, fast, self-contained native executa… | 77 | 6336 | experimental |
| minio/c2goasm c2goasm is a command-line tool that converts assembly generated by C/C++ compilers (such as GCC or Clang) into Go (Plan 9 style) assembly. … | 10 | 1349 | maintenance |
| GoSSIP-SJTU/Armariris Armariris is an LLVM-based code obfuscation framework maintained by Shanghai Jiao Tong University's cryptography and computer security lab.… | 32 | 1346 | maintenance |
| dogescript/dogescript Dogescript is a joke compile-to-JavaScript programming language with doge-meme syntax, distributed as an npm package. It ships a CLI compil… | 36 | 1334 | maintenance |
| janino-compiler/janino Janino is a super-small, super-fast Java compiler that can compile source files to class files like javac, or compile Java expressions, blo… | 10 | 1329 | maintenance |
| jbangert/trapcc trapcc is a proof-by-construction that Intel MMU fault handling is Turing complete: an assembler translates 'Move, Branch if Zero, Decremen… | 32 | 1324 | maintenance |
| mntmn/interim Interim OS is a minimalist experimental operating system with a language-based kernel inspired by Lisp machines and Plan 9. It boots to a J… | 32 | 1322 | maintenance |
| roc-lang/roc Roc is a fast, friendly, functional programming language implemented in Zig, with a compiler toolchain that builds to machine code or WebAs… | 79 | 6127 | experimental |
| carp-lang/Carp Carp is a statically typed Lisp programming language with deterministic memory management and no garbage collector, implemented in Haskell.… | 77 | 6061 | experimental |
| dotnet/ILMerge ILMerge is a static linker that merges multiple .NET assemblies into a single assembly, available as a console application and a NuGet pack… | 10 | 1303 | maintenance |
| Red Programming Language Red is a next-generation programming language inspired by Rebol, shipping as a single ~1MB zero-install executable containing a full toolch… | 66 | 6041 | experimental |
| hsutter/cppfront cppfront is an experimental compiler that translates a new 'Syntax 2' (Cpp2) flavor of C++ into standard 'Syntax 1' (Cpp1) C++ code. It ser… | 64 | 6007 | experimental |
| yrnkrn/zapcc zapcc is a caching C++ compiler based on clang that speeds up builds using an in-memory compilation cache in a client-server architecture. … | 32 | 1273 | maintenance |
| shift-js/shift-js Shift.JS is a Swift-to-JavaScript transpiler built in JavaScript, with a lexer, parser, and AST-based code generation via Escodegen. It shi… | 32 | 1270 | maintenance |
| MLstate/opalang Opa is a functional programming language for web development that compiles to JavaScript, letting developers write frontend and backend cod… | 23 | 1263 | maintenance |
| BitFunnel/NativeJIT NativeJIT is a cross-platform C++ library for just-in-time compilation of expressions involving C data structures into optimized x64 machin… | 32 | 1260 | maintenance |
| csmith-project/csmith Csmith is a random generator of C programs whose primary purpose is finding compiler bugs via differential testing. It emits C programs fre… | 60 | 1249 | maintenance |
| gutomaia/pyNES pyNES is a Python library that lets you write Nintendo Entertainment System (NES) games in Python, compiling them down to 6502 assembly for… | 76 | 1239 | maintenance |
| mstrobel/procyon Procyon is a suite of Java metaprogramming libraries offering a rich reflection API inspired by .NET's System.Reflection, a LINQ-style expr… | 23 | 1217 | maintenance |
| lihaoyi/Metascala Metascala is a tiny metacircular Java Virtual Machine written in about 3000 lines of Scala, including a bytecode interpreter, a stack-machi… | 32 | 1186 | maintenance |
| vercel-labs/zerolang Zerolang is an experimental programming language where a semantic graph serves as the program database, designed so AI agents author code v… | 73 | 5380 | experimental |
| CanadaHonk/porffor Porffor is an ahead-of-time JavaScript/TypeScript compiler that compiles JS source through an IR into C, producing native executables or Wa… | 95 | 5289 | experimental |
| amber-lang/amber Amber is a high-level, type-safe programming language written in Rust that compiles to Bash, Ksh, or Zsh scripts. It provides modern ECMA-s… | 81 | 5232 | experimental |
| nakkaya/ferret Ferret is a Lisp (Clojure-inspired) implementation that compiles down to self-contained C++11 code for real-time embedded control systems. … | 32 | 1127 | maintenance |
| victorlei/smop SMOP is a source-to-source compiler that translates Matlab and Octave code into human-readable Python. It includes a runtime library that c… | 23 | 1126 | maintenance |
| rswier/swieros Swieros is a tiny hand-crafted virtual CPU emulator paired with a fast C-subset compiler and a Unix-ish operating system kernel based on xv… | 32 | 1119 | maintenance |
| leostera/caramel Caramel is a functional programming language that compiles OCaml-style source code to run on the Erlang VM (BEAM), combining OCaml's type s… | 10 | 1106 | maintenance |
| ziutek/emgo Emgo is a compiler and package set that lets you run Go programs on small 32-bit microcontrollers by generating C as intermediate code and … | 32 | 1095 | maintenance |
| pytorch/torchdynamo TorchDynamo is a Python-level JIT compiler that speeds up unmodified PyTorch programs by capturing Python bytecode into FX graphs. The proj… | 10 | 1078 | maintenance |
| scrt/avcleaner avcleaner is a C/C++ source-to-source obfuscator built on LLVM, designed to evade antivirus detection by transforming source code (e.g., hi… | 32 | 1072 | maintenance |
| ballercat/walt Walt is a JavaScript-like alternative syntax for the WebAssembly text format that compiles .walt files directly to WebAssembly binaries. It… | 23 | 4631 | experimental |
| Hamler Hamler is a strongly-typed, Haskell-style functional programming language that compiles to Erlang VM (BEAM) bytecode. It brings compile-tim… | 23 | 1041 | maintenance |
| sweet-js/sweet-core Sweet.js is a JavaScript macro system that brings hygienic macros (like those in Scheme and Rust) to JavaScript, letting developers define … | 10 | 4559 | experimental |
| facebookresearch/CompilerGym CompilerGym is a Python library of OpenAI Gym-compatible reinforcement learning environments for compiler and program optimization tasks, c… | 10 | 1021 | maintenance |
| microsoft/nnfusion NNFusion is a flexible and efficient deep neural network (DNN) compiler that generates high-performance executables from model descriptions… | 23 | 1005 | maintenance |
| koka-lang/koka Koka is a strongly typed functional programming language with a polymorphic effect type system and algebraic effect handlers, developed as … | 89 | 4104 | experimental |
| NVlabs/cuda-oxide cuda-oxide is an experimental rustc codegen backend that compiles Rust GPU kernels directly to CUDA PTX, letting you write SIMT device code… | 82 | 3746 | experimental |
| microsoft/verona Project Verona is a Microsoft research programming language exploring a concurrency model based on concurrent ownership, implemented in C++… | 60 | 3726 | experimental |
| NerdLang/nerd Nerd (formerly NectarJS) is a JavaScript native compiler that compiles JS and NerdLang (a JS subset focused on efficiency) directly to nati… | 32 | 3611 | experimental |
| GetFirefly/firefly Firefly is an alternative implementation of the BEAM virtual machine, including a compiler and runtime for BEAM languages like Erlang and E… | 10 | 3581 | experimental |
| Rust-GPU/rust-gpu A Rust compiler backend that emits SPIR-V, making Rust a first-class language for writing GPU shaders targeting Vulkan. It lets developers … | 80 | 3376 | experimental |
| jank jank is a Clojure dialect compiled to native code via LLVM, with seamless C++ interop including templates, virtual functions, exceptions, a… | 68 | 3344 | experimental |
| artichoke/artichoke Artichoke is a Ruby implementation written in Rust and Ruby, aiming for MRI compatibility and targeting recent MRI Ruby. It can compile to … | 10 | 3125 | experimental |
| SerenityOS/jakt Jakt is a memory-safe systems programming language developed by the SerenityOS project, featuring automatic reference counting, strong typi… | 73 | 2986 | experimental |
| Rust-GCC/gccrs gccrs is a GCC front-end implementing the Rust language, aiming to be fully upstreamed into the GNU toolchain as an alternative to rustc/LL… | 76 | 2955 | experimental |
| anthropics/claudes-c-compiler A C compiler written entirely from scratch in Rust by Claude Opus 4.6, with no external toolchain dependencies. It includes a frontend, SSA… | 42 | 2805 | experimental |
| kaleidawave/ezno Ezno is an experimental TypeScript/JavaScript type checker and compiler written in Rust, usable as a CLI or library. It features a sound im… | 67 | 2736 | experimental |
| yassinebenaid/bunster Bunster is a shell compiler that transpiles shell scripts (aiming for bash compatibility) into Go code and compiles them into standalone, s… | 58 | 2679 | experimental |
| marcj/TypeRunner TypeRunner is a high-performance TypeScript type checker written in C++ that compiles TypeScript to bytecode and executes it in a custom vi… | 33 | 2658 | experimental |
| edubart/nelua-lang Nelua is a minimal, statically-typed, meta-programmable systems programming language inspired by Lua that compiles to C and native code. It… | 32 | 2436 | experimental |
| jfecher/ante Ante is a low-level functional systems programming language exploring safe shared mutability, algebraic effect handlers, ownership/borrowin… | 68 | 2359 | experimental |
| nebulet/nebulet Nebulet is a proof-of-concept microkernel written in Rust that executes WebAssembly modules in Ring 0 within a single address space. It use… | 10 | 2357 | experimental |
| google/tangent Tangent is a Python library for automatic differentiation that works by source-to-source transformation: it reads your Python function's so… | 10 | 2326 | experimental |
| nature-lang/nature Nature is a general-purpose system programming language with its own compiler written in pure C, compiling directly to machine code without… | 84 | 2253 | experimental |
| FractalFir/rustc_codegen_clr An experimental Rust compiler backend plugin that transpiles Rust code into .NET CIL assemblies or C source files. It includes a Rust/.NET … | 46 | 2056 | experimental |
| mypyc/mypyc Mypyc is a compiler that translates type-annotated Python modules into fast C extensions, using mypy for type checking and inference. It po… | 32 | 2023 | experimental |
| ValeLang/Vale The compiler (valec) for Vale, an experimental statically-typed systems programming language that compiles ahead-of-time to LLVM. Vale aims… | 66 | 2022 | experimental |
| google/xls XLS is Google's High Level Synthesis toolchain that compiles high-level functional descriptions into synthesizable Verilog/SystemVerilog ha… | 96 | 1953 | experimental |
| rust-lang/polonius Polonius is a core library from the Rust project that models and implements the Rust borrow checker analysis. It supports multiple algorith… | 63 | 1748 | experimental |
| rexdex/recompiler A C++ tool that converts Xbox 360 PowerPC executables into native Windows x86 executables, handling CPU translation, endianness, and GPU em… | 32 | 1742 | experimental |
| argotorg/fe Fe is a statically typed, Rust-like programming language for the Ethereum Virtual Machine (EVM) featuring explicit effects, message-passing… | 99 | 1736 | experimental |
| FastVM/minivm MiniVM is a small but optimizing virtual machine and runtime written in C11, featuring a just-in-time compiler built on Cuik's TB backend. … | 30 | 1667 | experimental |
| lcompilers/lpython LPython is an ahead-of-time Python compiler written in C++ that compiles a subset of Python to fast native binaries via LLVM, C, C++, and W… | 44 | 1635 | experimental |
| dotnet/runtimelab dotnet/runtimelab is a sandbox repository for experimenting with new .NET runtime features and ideas that may eventually be upstreamed into… | 76 | 1620 | experimental |
| VTIL VTIL-Core is the core library of the Virtual-machine Translation Intermediate Language project, an optimizing compiler infrastructure built… | 71 | 1597 | experimental |
| JonathanSalwan/VMProtect-devirtualization An experimental research project demonstrating a dynamic approach to devirtualize pure functions protected by VMProtect 3.x using symbolic … | 32 | 1537 | experimental |
| alshdavid-public/BorrowScript BorrowScript is an experimental programming language that combines TypeScript-like syntax with a Rust-style borrow checker, compiled to sma… | 32 | 1456 | experimental |
| andrei-markeev/ts2c A transpiler that converts JavaScript/TypeScript source code into readable C89 code. It was created to let developers program low-power IoT… | 52 | 1376 | experimental |
| pintariching/rustle Rustle is a Svelte-like compiler written in Rust, aiming to reimplement the Svelte component compiler. It is a work-in-progress project dis… | 10 | 1340 | experimental |
| Hans-Halverson/brimstone Brimstone is a JavaScript engine written from scratch in Rust, implementing nearly the full ECMAScript specification (ES2026) including a b… | 77 | 1322 | experimental |
| amimo/dcc DCC (Dex-to-C Compiler) is a method-based ahead-of-time compiler that translates Android DEX bytecode into C code compiled via the NDK. It … | 32 | 1317 | experimental |
| RealNeGate/Cuik Cuik is a modern C11 compiler toolchain built as a fast alternative to GCC, MSVC, and LLVM. It features a modular design where the C11 fron… | 75 | 1299 | experimental |
| luajit-remake/luajit-remake A from-scratch re-engineering of LuaJIT aiming to build a multi-tier method-JIT for Lua, with the interpreter and JIT tiers auto-generated … | 32 | 1299 | experimental |
| joelseverin/linux-wasm A set of scripts and patches that build a Linux kernel with a WebAssembly architecture port, runnable in the browser. It combines LLVM tool… | 51 | 1248 | experimental |
| lexi-lambda/hackett Hackett is an experimental, statically typed, pure, lazy functional programming language implemented as a Racket #lang, combining Haskell-s… | 32 | 1206 | experimental |
| rue-language/rue Rue is an experimental systems programming language, implemented in Rust, that explores memory safety without garbage collection while aimi… | 63 | 1205 | experimental |
| rust-lang/rustc_codegen_gcc A GCC-based codegen backend for rustc that uses libgccjit for ahead-of-time compilation of Rust code. It allows compiling Rust on platforms… | 77 | 1181 | experimental |
| evincarofautumn/kitten Kitten is a statically typed, stack-based concatenative programming language with Hindley-Milner type inference and an effect/permission sy… | 32 | 1175 | experimental |
| solod-dev/solod Solod (So) is a strict subset of Go that transpiles to readable C11 code with zero runtime, no garbage collection, and native C interop. It… | 75 | 1165 | experimental |
| zesterer/tao Tao is a statically-typed functional programming language implemented in Rust, featuring generics, typeclasses, sum types, pattern matching… | 34 | 1162 | experimental |
| NytroRST/ShellcodeCompiler A C++ command-line compiler that converts a simplified C/C++-style source language into small, position-independent, NULL-free shellcode fo… | 32 | 1159 | experimental |
| robert-strandh/SICL SICL is a fresh, modular implementation of the Common Lisp programming language. It is split into many implementation-independent, highly p… | 74 | 1146 | experimental |
| onelang/OneLang OneLang is a source-to-source transpiler framework that lets developers write code once and generate it in multiple target languages such a… | 32 | 1142 | experimental |
| drogus/jawsm Jawsm is an experimental JavaScript to WebAssembly compiler written in Rust that produces standalone WASM binaries executable without bundl… | 26 | 1106 | experimental |
| ShivamSarodia/ShivyC ShivyC is a hobby C compiler written in Python 3 that supports a subset of the C11 standard and generates x86-64 Linux binaries with some o… | 34 | 1064 | experimental |
| natalie-lang/natalie Natalie is a work-in-progress alternative implementation of the Ruby language, written in Ruby and C++. It provides an ahead-of-time compil… | 73 | 1032 | experimental |
| google/grumpy Grumpy is a Python-to-Go source code transcompiler and runtime from Google, intended as a near drop-in replacement for CPython 2.7. It comp… | 10 | 10493 | abandoned |
| JetBrains/kotlin-native Kotlin/Native is the Kotlin compiler backend that compiles Kotlin code to native binaries via LLVM, with interop for C and Objective-C. Thi… | 10 | 6969 | abandoned |
| rui314/8cc 8cc is a small, self-hosting C compiler targeting x86-64 Linux, aiming to support C11 features with concise, readable source code. It is no… | 32 | 6424 | abandoned |
| Swift for TensorFlow Swift for TensorFlow was an experimental next-generation machine learning platform integrating differentiable programming directly into the… | 10 | 6121 | abandoned |
| stc stc is a TypeScript type checker written in Rust, aiming to be a much faster alternative to tsc while matching its behavior. The project is… | 10 | 5702 | abandoned |
| microsoft/BosqueLanguage Bosque is an experimental programming language from Microsoft combining functional semantics with block-based syntax, designed for regulari… | 10 | 5203 | abandoned |
| LLVM LLVM is a modular compiler infrastructure providing an SSA-based intermediate representation, a source- and target-independent optimizer, a… | 10 | 4576 | abandoned |
| bytecodealliance/lucet Lucet is a native WebAssembly ahead-of-time compiler and runtime for safely executing untrusted Wasm programs inside applications, built on… | 10 | 4042 | abandoned |
| llvm-mirror/clang Clang is a compiler front-end for the C language family (C, C++, Objective-C, Objective-C++) built as part of the LLVM compiler infrastruct… | 10 | 3040 | abandoned |
| not-kennethreitz/osx-gcc-installer An installer that provides GCC, LLVM, Clang, and developer CLI tools for OS X without requiring a full Xcode installation. It offers pre-bu… | 10 | 3016 | abandoned |
| WebAssemblyStudio WebAssembly Studio was a browser-based IDE for writing, compiling, and debugging WebAssembly projects using C/C++, Rust, and TypeScript. Th… | 10 | 2932 | abandoned |
| dabeaz/ply PLY is a pure-Python, zero-dependency implementation of the classic lex and yacc parsing tools, providing lexing and LALR(1) parsing. It is… | 10 | 2908 | abandoned |
| dotnet/corert CoreRT is an experimental .NET Core runtime and compiler toolchain optimized for ahead-of-time (AOT) compilation, producing native single-f… | 10 | 2882 | abandoned |
| facebookarchive/BOLT BOLT (Binary Optimization and Layout Tool) is a Linux command-line utility that optimizes the performance of native binaries by rearranging… | 10 | 2532 | abandoned |