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 |
|---|---|---|---|
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| IoLanguage/io Io is a small, dynamic prototype-based programming language implemented in C, inspired by Self, Smalltalk, Lisp, and Lua, where everything … | 67 | 2803 | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| CatalaLang/catala Catala is a domain-specific programming language for deriving faithful-by-construction algorithms from legislative texts via literate progr… | 94 | 2417 | active |
| shadow-cljs shadow-cljs is a build tool and compiler for ClojureScript that focuses on simplicity, good defaults, and seamless npm integration. It supp… | 76 | 2407 | active |
| google/souper Souper is a superoptimizer for LLVM IR that uses SMT solvers (like Z3) to synthesize shorter, equivalent instruction sequences. It identifi… | 10 | 2386 | active |
| herumi/xbyak Xbyak is a C++ header-only JIT assembler for generating x86/x64 machine code at runtime using Intel/MASM-like mnemonics. It supports instru… | 76 | 2285 | active |
| llvm/circt CIRCT (Circuit IR Compilers and Tools) is an LLVM/MLIR-based infrastructure project for building hardware design compilers and tools. It pr… | 95 | 2267 | active |
| matz/spinel Spinel is an ahead-of-time compiler that translates Ruby source code into standalone native executables via whole-program type inference an… | 70 | 2265 | active |
| AbsInt/CompCert CompCert is a formally verified C compiler whose correctness is machine-checked with the Coq proof assistant, guaranteeing generated assemb… | 85 | 2238 | active |
| Sergio0694/PolySharp PolySharp is a Roslyn source generator that emits source-only polyfill types (nullability attributes, Index/Range, records support types, e… | 70 | 2232 | active |
| Shaderc Shaderc is a collection of tools, libraries, and tests for compiling GLSL and HLSL shaders to SPIR-V for Vulkan. It includes glslc, a GCC/C… | 76 | 2192 | stable |
| elliotchance/c2go c2go is a command-line transpiler that converts C source code into Go source code using the clang AST. It aims to be a repeatable, predicta… | 63 | 2186 | active |
| ryanmjacobs/c A small shell script that compiles and executes C (and C++) files in a single command, supporting shebang-style executable C scripts. It wo… | 57 | 2184 | active |
| rust-lang/cc-rs cc-rs is a Rust library for Cargo build scripts that compiles C/C++/assembly/CUDA source files into a static archive to link into Rust crat… | 95 | 2161 | stable |
| sbcl/sbcl Steel Bank Common Lisp (SBCL) is a high-performance open-source compiler and runtime system for ANSI Common Lisp. It includes an interactiv… | 99 | 2159 | stable |
| zesterer/ariadne Ariadne is a Rust crate for producing fancy, colored compiler diagnostics and error reports with inline and multi-line labels, multi-file e… | 10 | 2156 | active |
| NVIDIA/cutile-python cuTile Python is a tile-based programming language and library from NVIDIA for writing parallel kernels that run on NVIDIA GPUs, compiling … | 62 | 2151 | active |
| serge-sans-paille/pythran Pythran is an ahead-of-time compiler that translates a subset of Python, focused on scientific computing with NumPy, into fast native C++ e… | 75 | 2144 | active |
| rust-lang/rustc_codegen_cranelift An alternative codegen backend for the Rust compiler (rustc) built on the Cranelift code generator. It aims to significantly speed up debug… | 84 | 2141 | active |
| blade-build/blade-build Blade is a declarative, high-performance build system from Tencent optimized for large-scale monorepo development, primarily for C/C++ but … | 90 | 2106 | active |
| google/traceur-compiler Traceur is a JavaScript.next-to-JavaScript-of-today compiler that transpiles ES6 and experimental ES.next features into JavaScript that run… | 10 | 8125 | maintenance |
| wdanilo/crabtime Crabtime is a Rust crate providing a powerful macro that generates code by evaluating inline Rust logic at compile time. It enables metapro… | 46 | 2055 | active |
| DanielXMoore/Civet Civet is a programming language that is a superset of TypeScript, compiling to TypeScript or JavaScript with concise syntax like indentatio… | 77 | 1959 | active |
| AdaptiveCpp/AdaptiveCpp AdaptiveCpp (formerly hipSYCL/Open SYCL) is an independent, community-driven C++ compiler platform for heterogeneous programming models inc… | 72 | 1951 | active |
| llvm/torch-mlir Torch-MLIR is a compiler project providing first-class translation of PyTorch programs into the MLIR compiler ecosystem. It lets hardware v… | 99 | 1935 | active |
| fusionlanguage/fut Fusion is a programming language designed for writing reusable library components in a single codebase that transpiles to C, C++, C#, D, Ja… | 94 | 1932 | active |
| MadAppGang/dingo Dingo is a meta-language for Go that adds Result types, error propagation with ?, pattern matching, sum types, tuples, and safe navigation,… | 67 | 1916 | active |
| starkware-libs/cairo Cairo is a Turing-complete programming language for writing provable programs, implemented as a compiler toolchain written in Rust. It comp… | 98 | 1907 | active |
| Raku (Rakudo) Rakudo is the primary, production-ready compiler implementation of the Raku programming language, targeting the MoarVM, JVM, and JavaScript… | 98 | 1906 | stable |
| lifting-bits/remill Remill is a C++ library that statically translates machine code instructions (x86, amd64, AArch64, SPARC32/64) into LLVM bitcode. It is des… | 78 | 1866 | active |
| factor/factor Factor is a concatenative, stack-based programming language with dynamic types, extensible syntax, macros, and garbage collection. It ships… | 88 | 1863 | active |
| xorvoid/sectorc SectorC is a C compiler written in x86-16 assembly that fits entirely within a 512-byte x86 boot sector. It supports a small but usable sub… | 56 | 1862 | active |
| egraphs-good/egg egg is a Rust library implementing e-graphs and equality saturation, providing a fast and flexible data structure for compactly representin… | 76 | 1842 | active |
| Vexu/arocc Aro is a modern C compiler written in Zig that aims for fast compilation, low memory usage, and high-quality diagnostics, with support for … | 76 | 1832 | active |
| lhartikk/ArnoldC ArnoldC is an esoteric programming language whose keywords are Arnold Schwarzenegger movie one-liners, implemented in Scala. It ships as a … | 32 | 6888 | maintenance |
| vgvassilev/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 | 1810 | active |
| pypy/pypy PyPy is a fast, compliant alternative implementation of the Python programming language built on the RPython compiler framework. It feature… | 70 | 1800 | stable |
| bytecodealliance/wasm-tools A Bytecode Alliance project providing a CLI and Rust libraries for low-level manipulation of WebAssembly modules. It supports validation, p… | 94 | 1799 | active |
| wa-lang/wa Wa (凹) is a general-purpose, statically typed programming language designed for WebAssembly, with a fully self-developed compiler and runti… | 71 | 1770 | active |
| tgrysztar/fasm flat assembler (fasm) is a fast self-assembling assembler for x86 and x86-64 that generates executable files directly. This repository hold… | 60 | 1766 | stable |
| GraalVM GraalVM CE builds is the official distribution repository of GraalVM Community Edition binaries built on OpenJDK. GraalVM is a high-perform… | 93 | 1755 | active |
| Zaneham/Booth Booth is an open-source compiler that takes CUDA C, HIP, or Triton kernel source and emits binaries for AMD RDNA 2/3/4 GPUs, NVIDIA PTX, Te… | 79 | 1750 | active |
| LuxLang/lux Lux is a functional, statically-typed Lisp programming language with a compiler that targets the JVM, JavaScript, Python, Lua, and Ruby. It… | 70 | 1748 | active |
| jzimmerman/langcc langcc is a next-generation compiler compiler that generates efficient linear-time parsers and full compiler frontends (AST definitions, tr… | 32 | 1729 | stable |
| Enzyme Enzyme is a high-performance automatic differentiation plugin for LLVM and MLIR that computes derivatives and gradients of arbitrary existi… | 95 | 1718 | active |
| clojerl/clojerl Clojerl is an unofficial implementation of the Clojure programming language that runs on the Erlang VM (BEAM). It provides a REPL, compiler… | 23 | 1715 | active |
| ferrocene/ferrocene Ferrocene is a safety-critical Rust toolchain, a downstream fork of the official Rust compiler, qualified for use in safety- and mission-cr… | 73 | 1688 | active |
| csmith-project/creduce C-Reduce is a command-line tool that automatically reduces large C or C++ programs that trigger a property of interest (such as a compiler … | 32 | 1672 | stable |
| JetBrains/MPS JetBrains MPS is an open-source meta-programming system (language workbench) for designing domain-specific languages with a complete develo… | 77 | 1660 | stable |
| nickdiego/compiledb A Python CLI tool that generates Clang's JSON Compilation Database (compile_commands.) for GNU make-based build systems. It parses compile … | 74 | 1658 | active |
| Cherri Cherri is a domain-specific programming language and compiler, written in Go, that compiles source files into signed Apple Siri Shortcuts. … | 91 | 1644 | active |
| WASI SDK WASI SDK is a WebAssembly C/C++ toolchain that bundles upstream Clang/LLVM with the wasi-libc sysroot, configured to target wasm32-wasi out… | 92 | 1643 | active |
| intelxed/xed Intel XED is a C library for encoding and decoding X86 (IA32 and Intel64) machine instructions, converting between byte sequences and struc… | 89 | 1622 | stable |
| richfelker/musl-cross-make A makefile-based build system for producing musl libc-targeting GCC cross compilers. It automates downloading, patching, and building GCC, … | 68 | 1588 | active |
| dotnetcore/Natasha Natasha is a Roslyn-based C# dynamic assembly building library that lets developers compile and load C# code at runtime, creating domains, … | 64 | 1587 | active |
| austral/austral Austral is a new systems programming language featuring linear types for provably safe resource and memory management, and linear capabilit… | 34 | 1586 | active |
| Hylo programming language Hylo (formerly Val) is a systems programming language built around mutable value semantics and generic programming, implemented in Swift wi… | 80 | 1570 | active |
| JuliaLang/PackageCompiler.jl A Julia package for creating custom system images, standalone 'app' executables, and relocatable C libraries from Julia code. It moves Juli… | 95 | 1556 | active |
| ivov/lisette Lisette is a small programming language inspired by Rust that compiles to readable Go, featuring Hindley-Milner type inference, algebraic d… | 78 | 1554 | active |
| ThakeeNathees/pocketlang Pocketlang is a lightweight, fast, embeddable scripting language written in C with a Ruby-flavored Python-like syntax, including its own by… | 56 | 1548 | active |
| intel/llvm Intel's staging area for LLVM upstream contributions and home for Intel LLVM-based projects, most notably the oneAPI DPC++ compiler impleme… | 96 | 1537 | active |
| dtolnay/watt Watt is a Rust runtime for executing procedural macros that have been compiled ahead-of-time to WebAssembly. It lets downstream users run m… | 61 | 1531 | active |
| VKCOM/kphp KPHP is a PHP compiler developed at VK.com that compiles a limited subset of PHP to C++ and then to a native binary running faster than pla… | 76 | 1526 | active |
| jart/sectorlisp SectorLISP is a 512-byte LISP implementation that fits in a boot sector and boots John McCarthy's meta-circular evaluator on bare metal fro… | 68 | 1526 | stable |
| Carbon Language Carbon is an experimental successor language to C++ with bidirectional C++ interoperability, built on LLVM for C++-level performance. The r… | 85 | 33900 | experimental |
| Lightning-AI/lightning-thunder Lightning Thunder is a source-to-source deep learning compiler for PyTorch that optimizes models for training and inference. It provides a … | 70 | 1475 | active |
| ring-lang/ring Ring is a simple, lightweight, embeddable, multi-paradigm dynamic programming language implemented in C, supporting imperative, procedural,… | 84 | 1470 | active |
| bytecodealliance/wit-bindgen A suite of bindings generators that produce guest-language bindings from WIT (WebAssembly Interface Types) files for the WebAssembly Compon… | 97 | 1468 | active |
| objectionary/eo EO (EOLANG) is an experimental pure object-oriented programming language based on 𝜑-calculus, implemented in Java. It deliberately rejects … | 92 | 1462 | active |
| gambit/gambit Gambit is a complete, portable, and efficient implementation of the Scheme programming language, including an interpreter (gsi) and an opti… | 77 | 1447 | stable |
| titzer/virgil Virgil is a fast, lightweight, statically-typed systems programming language that blends functional and object-oriented paradigms. Its self… | 77 | 1427 | active |
| sysprog21/shecc shecc is a self-hosting, educational optimizing C compiler written in ANSI C that targets 32-bit ARMv7-A and RV32IM (RISC-V) Linux systems.… | 75 | 1397 | active |