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 |
|---|---|---|---|
| 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 | 1954 | experimental |
| google/rune Rune is an experimental, Python-inspired systems programming language from Google that compiles to C and emphasizes memory safety and const… | 70 | 1935 | experimental |
| rentruewang/aioway Aioway is an optimizing compiler for deep learning algorithms that treats ML models as instructions and builds declarative pipelines using … | 77 | 1823 | experimental |
| zeldaret/mm A work-in-progress from-scratch decompilation of The Legend of Zelda: Majora's Mask (N64 US 1.0), recreating readable C source code that bu… | 77 | 1754 | 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 |
| google-research/dex-lang Dex is an experimental research programming language from Google Research for typed, functional array processing in the Haskell/ML family. … | 56 | 1704 | 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 |
| octanejs/octane Octane is a compiled JavaScript UI framework that keeps React's component and hooks API while compiling components to direct DOM code with … | 77 | 1458 | 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 |
| tomaka/redshirt Redshirt is an experimental operating system written in Rust where all executables are WebAssembly programs loaded from an IPFS-like decent… | 54 | 1435 | 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 |
| emexlab/Nyxian Nyxian is a native iOS IDE that lets developers write, compile, sign, and run Swift, C, Objective-C, and C++ apps entirely on an iPhone or … | 84 | 1242 | 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 |
| mvel/mvel MVEL (MVFLEX Expression Language) is an embeddable expression language and runtime for the Java platform, with MVEL3 transpiling expression… | 74 | 1203 | 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 |
| Pound Emulator Pound is an open-source emulator for the Nintendo Switch 1 and 2, written in C and still highly work-in-progress. Development is focused on… | 62 | 1135 | experimental |
| tvlfyi/tvix Tvix is a Rust implementation of the Nix language and package manager, developed by TVL as an alternative to the C++ Nix. It includes compo… | 75 | 1109 | experimental |
| drogus/jawsm Jawsm is an experimental JavaScript to WebAssembly compiler written in Rust that produces standalone WASM binaries executable without bundl… | 25 | 1106 | experimental |
| JuliaPoo/Artfuscator Artfuscator is a novelty C compiler built on ELVM that compiles C programs into a binary whose entire control flow graph renders as a chose… | 32 | 1105 | experimental |
| vrtbl/passerine Passerine is a small, extensible functional scripting language with a VM written in Rust, featuring pattern matching, structural types, fib… | 54 | 1092 | experimental |
| rust-lang/portable-simd The official Rust project group repository developing a portable SIMD API for the Rust standard library, exposing architecture-independent … | 75 | 1076 | 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 |
| pkg A command-line tool that packages Node.js projects into standalone executables that run without Node.js installed, supporting cross-compila… | 10 | 24330 | abandoned |
| facebookarchive/prepack Prepack is a partial evaluator for JavaScript that rewrites bundles by executing computations at compile time and replacing global code wit… | 10 | 14097 | abandoned |
| dotnet/coreclr CoreCLR is the execution runtime for .NET Core, containing the garbage collector, JIT compiler, primitive data types, and low-level base cl… | 10 | 12755 | abandoned |
| 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 |
| Theano/Theano Theano is a Python library for defining, optimizing, and efficiently evaluating mathematical expressions involving multi-dimensional arrays… | 32 | 10002 | 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 |
| Windows Bridge for iOS The Windows Bridge for iOS (WinObjC) is a Microsoft open-source framework providing an Objective-C development environment for Visual Studi… | 10 | 6220 | 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 | 5201 | abandoned |
| twitter/hogan.js Hogan.js is a JavaScript compiler for the Mustache templating language, developed at Twitter. It compiles templates into standalone HoganTe… | 23 | 5121 | abandoned |
| cia-foundation/TempleOS TempleOS is a free, public-domain, 64-bit hobby operating system written by Terry A. Davis, featuring its own HolyC language, compiler, and… | 23 | 4881 | abandoned |
| LLVM LLVM is a modular compiler infrastructure providing an SSA-based intermediate representation, a source- and target-independent optimizer, a… | 10 | 4576 | abandoned |
| coolwanglu/vim.js Vim.js is a JavaScript port of the Vim text editor, compiled from C to run in the browser via Emscripten with ASM.js support. It offers per… | 10 | 4440 | 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 |
| oklai/koala Koala is a cross-platform desktop GUI application for compiling LESS, Sass/Compass, and CoffeeScript files with real-time file watching and… | 23 | 3948 | abandoned |
| yck1509/ConfuserEx ConfuserEx is a free, open-source protector for .NET applications that provides obfuscation features such as symbol renaming, control flow … | 10 | 3765 | abandoned |
| Pagedraw/pagedraw Pagedraw is a WYSIWYG design tool, similar to Sketch or Figma, that compiles visual designs into production-quality JSX/CSS code for React … | 23 | 3561 | 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 |
| spring-attic/spring-native Spring Native was a Spring Boot add-on providing ahead-of-time compilation of Spring applications into GraalVM native images for faster sta… | 10 | 2697 | 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 |
| Pyston Pyston v1 was a faster, highly compatible implementation of the Python programming language, focused on improving runtime performance. This… | 23 | 2492 | abandoned |
| MichiganTypeScript/typescript-types-only-wasm-runtime A WebAssembly runtime implemented entirely in TypeScript's type system, with no JavaScript runtime code, capable of compiling and executing… | 29 | 2409 | abandoned |
| vuejs/vue-vapor Vue Vapor is a research fork of vuejs/core exploring a rendering mode for Vue that compiles components without the Virtual DOM. Development… | 10 | 2392 | abandoned |
| s-panferov/awesome-typescript-loader A webpack loader that compiles TypeScript files as part of the webpack build pipeline, with Babel integration, caching, and forked type-che… | 10 | 2338 | abandoned |
| move-language/move The original home of the Move programming language, a Rust-based language and toolchain for safe smart-contract development on blockchains.… | 10 | 2328 | abandoned |
| fsharp/fsharp The historical repository for alternative packagings of the F# compiler, F# Interactive (fsi), and FSharp.Core, distributed via the FSharp.… | 10 | 2156 | abandoned |
| unofficial-openjdk/openjdk An automated read-only Git mirror of various OpenJDK branches, not intended for contributions. The repository is no longer actively updated… | 32 | 2128 | abandoned |
| Hikari Obfuscator Hikari is an LLVM-based code obfuscator that transforms compiled binaries with techniques like string encryption, indirect branching, funct… | 10 | 2103 | abandoned |
| ValveSoftware/ToGL ToGL is Valve's Direct3D 9 to OpenGL translation layer, extracted from the DOTA2/Source Engine codebase. It includes a bytecode-level HLSL-… | 32 | 2087 | abandoned |
| tildeio/helix Helix is a Rust framework for writing native Ruby extension classes in Rust without manual glue code, using a ruby! macro to generate bindi… | 10 | 1992 | abandoned |
| AMD Open Source Driver for Vulkan (AMDVLK) AMD's open-source Vulkan driver for Radeon graphics adapters on Linux, built on the Platform Abstraction Library (PAL) and the LLVM-based L… | 49 | 1978 | abandoned |
| rui314/9cc 9cc is a small C compiler written in C that compiles source code to x86-64 assembly through a simple, readable pipeline of parsing, semanti… | 32 | 1950 | abandoned |
| tweag/asterius Asterius is a Haskell to WebAssembly compiler based on GHC that compiles Haskell source files or Cabal executables to WebAssembly plus Java… | 10 | 1947 | abandoned |
| linux-noah/noah Noah is a Darwin subsystem for Linux that runs Linux binaries directly on macOS by trapping Linux system calls and translating them into Da… | 10 | 1937 | abandoned |
| raspberrypi/tools A repository of prebuilt ARM cross-compilation toolchains for building software targeting Raspberry Pi boards. The project is officially de… | 32 | 1907 | abandoned |
| pypyjs/pypyjs PyPy.js is the PyPy Python interpreter compiled to JavaScript via an experimental emscripten/asm.js backend, allowing Python to run in the … | 23 | 1846 | abandoned |
| Closure Compiler An npm package exposing the pure-JavaScript version of Google Closure Compiler, allowing JavaScript checking, transpilation, optimization, … | 10 | 1829 | abandoned |
| aras-p/glsl-optimizer A C++ library based on Mesa's GLSL compiler that performs GPU-independent optimizations on GLSL shaders and outputs optimized GLSL or Metal… | 32 | 1790 | abandoned |
| tensorflow/mlir MLIR (Multi-Level Intermediate Representation) is a compiler infrastructure for building reusable and extensible compiler toolchains, origi… | 10 | 1769 | abandoned |
| jamiebuilds/babel-react-optimize A Babel preset and collection of plugins that optimize compiled React code, such as hoisting constant JSX elements, inlining elements, stri… | 32 | 1664 | abandoned |
| NNVM NNVM was a computation-graph intermediate representation and compiler front-end for deep learning frameworks, serving as the graph-level op… | 10 | 1649 | abandoned |
| tildeio/htmlbars HTMLBars is a variant of Handlebars that compiles templates into DOM document fragments instead of string buffers, enabling helpers that ma… | 10 | 1625 | abandoned |
| microsoft/Pyjion Pyjion is a just-in-time (JIT) compilation library for CPython built on the .NET CoreCLR JIT compiler, exposed through a C API that allows … | 10 | 1594 | abandoned |
| ElixirScript ElixirScript is a compiler that converts Elixir code into JavaScript by transforming the Elixir AST into a JavaScript ESTree AST. It integr… | 23 | 1565 | abandoned |
| nbp/holyjit HolyJit is a generic-purpose Just-In-Time compiler library for Rust that extends the Rust compiler (as a rustc driver) to convert annotated… | 32 | 1552 | abandoned |
| cevek/ttypescript ttypescript is a drop-in wrapper around the TypeScript compiler that enables custom AST transformers to be declared in tsconfig. and run vi… | 23 | 1534 | abandoned |
| sailro/Reflexil Reflexil is a .NET assembly editor that runs as a plugin for Reflector, ILSpy, and JustDecompile. Built on Mono.Cecil, it can manipulate IL… | 10 | 1529 | abandoned |
| dotnet/llilc LLILC is an LLVM-based compiler for .NET Core that compiles MSIL bytecode to LLVM-supported platforms, serving as a JIT for CoreCLR and an … | 10 | 1513 | abandoned |
| tdenniston/bish Bish is a lightweight programming language with modern syntax that compiles down to Bash, making shell scripts more comfortable to write wh… | 32 | 1489 | abandoned |
| asLody/TurboDex TurboDex is a native Android library (C++/NDK) that dramatically speeds up loading unoptimized DEX files in memory at runtime, especially u… | 32 | 1483 | abandoned |