Open-source interpreter software
754 open-source libraries, tools and applications tagged interpreter, ranked by how closely interpreter 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.
754 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| mthom/scryer-prolog Scryer Prolog is a modern, ISO-compliant Prolog interpreter written mostly in Rust, built on a Warren Abstract Machine implementation. It a… | 66 | 2453 | 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 |
| ZealOS ZealOS is a modernized fork of the 64-bit TempleOS, a public-domain hobbyist operating system written in HolyC (renamed ZealC). It aims to … | 68 | 2409 | active |
| Ladybird Ladybird is a truly independent web browser built on a novel engine written from scratch based on web standards, with no forks of existing … | 70 | 66581 | experimental |
| chakra-core/ChakraCore ChakraCore is an open-source JavaScript engine with a C API for embedding JavaScript execution into C or C-compatible applications. It was … | 50 | 9260 | maintenance |
| Perl/perl5 Perl 5 is a general-purpose, dynamically typed programming language originally developed for text manipulation, now used for system adminis… | 77 | 2344 | stable |
| microsoft/napajs Napa.js is a multi-threaded JavaScript runtime built on V8 that executes JavaScript across multiple V8 isolates with APIs for object transp… | 10 | 9170 | maintenance |
| rune-rs/rune Rune is an embeddable dynamic programming language for Rust, running on an efficient stack-based virtual machine. It offers clean Rust inte… | 78 | 2331 | active |
| wasmi-labs/wasmi Wasmi is an efficient, lightweight WebAssembly interpreter written in Rust, focused on constrained and embedded (no_std) environments. It o… | 96 | 2317 | active |
| cashapp/zipline Zipline is a Kotlin library that lets Kotlin/JVM and Kotlin/Native programs load and run Kotlin/JS code by embedding the QuickJS JavaScript… | 93 | 2309 | active |
| cosmos72/gomacro gomacro is an almost complete Go interpreter written in pure Go, providing an interactive REPL with line editing and completion, a scriptin… | 64 | 2302 | 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 |
| reubeno/brush brush is a bash- and POSIX-compatible shell implemented in Rust, capable of running existing bash scripts and .bashrc files unchanged. It i… | 84 | 2265 | active |
| BAP (Binary Analysis Platform) CMU Binary Analysis Platform (BAP) is a suite of OCaml libraries and a plugin-extensible CLI tool for analyzing binary programs. It lifts b… | 56 | 2262 | active |
| bluealloy/revm Revm is a highly efficient and stable Rust implementation of the Ethereum Virtual Machine (EVM). It serves both as a transaction executor f… | 94 | 2248 | stable |
| AtomVM AtomVM is a lightweight implementation of the BEAM virtual machine that runs Erlang, Elixir, and Gleam bytecode on microcontrollers and oth… | 67 | 2248 | active |
| NLua NLua is a .NET library that bridges the Lua scripting language with C#/.NET, allowing Lua code to be executed from .NET applications and .N… | 80 | 2245 | stable |
| dynamicexpresso/DynamicExpresso Dynamic Expresso is a .NET library that interprets simple C# expressions at runtime, converting them into expression trees or delegates wit… | 97 | 2243 | active |
| ArthurSonzogni/Diagon Diagon is an interactive interpreter that transforms markdown-style expressions into ASCII art diagrams, supporting math expressions, seque… | 29 | 2230 | active |
| pvieito/PythonKit PythonKit is a Swift framework that lets Swift code interact with the Python runtime, importing Python modules and calling Python objects d… | 75 | 2220 | active |
| aemkei/jsfuck JSFuck is an esoteric JavaScript library that encodes and executes arbitrary JavaScript using only six characters: []()!+. It works both in… | 33 | 8604 | maintenance |
| NeilFraser/JS-Interpreter A sandboxed JavaScript interpreter written in JavaScript that executes arbitrary ES5 code in isolation and safety. It supports line-by-line… | 68 | 2185 | active |
| cnlohr/mini-rv32ima A tiny, single-file, header-only RISC-V RV32IMA emulator written in ~400 lines of dependency-free C, capable of booting Linux (RV32-NOMMU).… | 55 | 2185 | active |
| uiua-lang/uiua Uiua is a tacit, stack-based array programming language implemented in Rust, inspired by APL. It ships as a local interpreter/REPL with a b… | 96 | 2170 | active |
| 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 |
| nanochess/bootOS bootOS is a monolithic operating system written in x86 assembly that fits entirely within a single 512-byte boot sector. It provides a mini… | 75 | 2143 | stable |
| pocketpy/pocketpy pocketpy is a portable Python 3.x interpreter written in C11 with no dependencies beyond the C standard library, designed as a Lua alternat… | 92 | 2125 | active |
| vtereshkov/umka-lang Umka is a statically typed, embeddable scripting language implemented in C99, with a bytecode compiler and virtual machine distributed as a… | 88 | 2110 | 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 |
| slime/slime SLIME (Superior Lisp Interaction Mode for Emacs) is an Emacs plugin that provides an interactive development environment for Common Lisp. I… | 72 | 2093 | stable |
| Wasm3 Wasm3 is a fast WebAssembly interpreter and universal WASM runtime written in C, usable as a CLI tool or embedded library with bindings for… | 97 | 8037 | maintenance |
| IzzelAliz/Arclight Arclight is a hybrid Minecraft server implementation that runs Bukkit/Spigot plugins alongside Forge, NeoForge, or Fabric mods using Mixin.… | 74 | 2086 | active |
| ValveSoftware/wine Valve's fork of Wine, a compatibility layer that runs Microsoft Windows executables (DOS, Win32, Win64) on Unix-like systems by translating… | 76 | 2069 | active |
| YGOPro YGOPro is a script engine for the Yu-Gi-Oh! trading card game with a sample GUI, written in C++. It lets players duel each other over LAN o… | 77 | 2067 | active |
| benhoyt/goawk GoAWK is a POSIX-compliant AWK interpreter written in Go, featuring a bytecode compiler and VM plus native CSV/TSV support. It can be used … | 88 | 2061 | active |
| plv8/plv8 PLV8 is a PostgreSQL extension that adds a trusted procedural language powered by the V8 JavaScript engine, letting you write stored proced… | 75 | 2053 | active |
| AndreRH/hangover Hangover is a compatibility layer that runs x86_64 and x86_32 Windows applications on ARM64 (aarch64) Linux by combining Wine with emulator… | 94 | 2049 | active |
| ClearFoundry/ClearScript ClearScript is a .NET library for embedding script engines into applications, supporting Google's V8, Microsoft JScript, and VBScript. It e… | 83 | 2033 | active |
| Fengari Fengari is a complete Lua 5.3 virtual machine, parser, and base libraries ported from the Lua C library to JavaScript ES6, runnable in Node… | 52 | 2033 | active |
| oracle/graaljs GraalJS is a high-performance, ECMAScript-compliant JavaScript engine implemented in Java on top of GraalVM. It can execute JavaScript and … | 94 | 2032 | active |
| openjdk/loom Project Loom is the OpenJDK project that developed lightweight concurrency for the Java platform, most notably virtual threads (fibers) and… | 75 | 2016 | active |
| JetBrains/JetBrainsRuntime A JetBrains-maintained fork of OpenJDK that serves as the runtime environment for IntelliJ Platform-based IDEs and products. It includes Je… | 96 | 2012 | active |
| djhworld/simple-computer A Go-based simulator of the 16-bit CPU described in 'But How Do It Know?' by J. Clark Scott, built from NAND gates up through registers, RA… | 66 | 1998 | active |
| Tencent/sluaunreal Slua-unreal is an Unreal Engine 4/5 plugin that lets developers write game logic in Lua instead of C++, with automatic export of blueprint … | 40 | 1991 | stable |
| alibaba/compileflow CompileFlow is a high-performance, lightweight process orchestration engine from Alibaba that compiles BPMN 2.0 and TBBPM process definitio… | 66 | 1985 | active |
| Epsilon Epsilon is a high-performance operating system for the NumWorks graphing calculator, written in C++, with eleven apps covering the high sch… | 61 | 1957 | active |
| trynova/nova Nova is a JavaScript (ECMAScript) engine written in Rust, focused on being lightweight, modular, and easy to embed, with a data-oriented de… | 65 | 1952 | active |
| jerryscript-project/jerryscript JerryScript is an ultra-lightweight JavaScript engine written in C99 for resource-constrained devices like microcontrollers, running in und… | 40 | 7418 | maintenance |
| codeplea/tinyexpr TinyExpr is a small recursive descent parser, compiler, and evaluation engine for math expressions in C. It ships as a single source and he… | 95 | 1936 | stable |
| lmorg/murex Murex is a smarter shell and scripting language written in Go, with typed pipelines supporting JSON, YAML, XML, and CSV natively. It adds u… | 91 | 1925 | active |
| sartography/SpiffWorkflow SpiffWorkflow is a pure Python workflow engine that parses and executes BPMN process diagrams and DMN decision tables. It enables building … | 82 | 1922 | active |
| PistonDevelopers/dyon Dyon is a dynamically typed scripting language implemented in Rust, designed for embedding in Rust applications, particularly games in the … | 65 | 1921 | active |
| face-hh/webx Web X (Bussin Web X) is an alternative to the World Wide Web, comprising a custom Rust/GTK browser (Bussin Napture), a custom HTML/CSS/Lua … | 10 | 1921 | active |
| lightspark/lightspark Lightspark is an open source Flash player implementation written in C++ that plays SWF files and supports all versions of ActionScript. It … | 89 | 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 |
| cesanta/elk Elk is a tiny embeddable JavaScript engine written in C that implements a small subset of ES6, designed for microcontrollers with footprint… | 52 | 1902 | active |
| liljencrantz/crush Crush is a command line shell written in Rust that doubles as a modern programming language with a type system, closures, and lexical scopi… | 75 | 1889 | active |
| simh/simh SIMH is a collection of highly portable simulators for historically significant computer systems such as the DEC PDP series, VAX, IBM mainf… | 66 | 1882 | active |
| CS-Script CS-Script is a CLR-based scripting platform that uses ECMA-compliant C# as its scripting language, supporting both standalone CLI execution… | 85 | 1868 | stable |
| dart-lang/dart-pad DartPad is a free, open-source online editor for writing, compiling, and running Dart and Flutter code directly in the browser. It includes… | 77 | 1867 | active |
| 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 |
| 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 |
| 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 |
| metacall/core MetaCall is an extensible, embeddable polyglot runtime that lets you call functions, methods, or procedures across multiple programming lan… | 99 | 1826 | active |
| 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 |
| dfinity/ic The source code for the Internet Computer blockchain protocol, including the replica software run by node providers. It implements consensu… | 95 | 1795 | active |
| glycerine/zygomys Zygomys is an embeddable Lisp interpreter written in pure Go, with an optional infix syntax subset of Go and a standalone REPL called zygo.… | 77 | 1790 | active |
| vinniefalco/LuaBridge LuaBridge is a lightweight, dependency-free, header-only C++ library for binding Lua data, functions, and classes between C++ and Lua. It s… | 49 | 1784 | active |
| rcore-os/zCore zCore is a reimplementation of Google's Zircon microkernel written in safe Rust, runnable both as a userspace libos program and on bare met… | 83 | 1779 | active |
| Joker Joker is a small Clojure dialect interpreter written in Go that also serves as a Clojure/ClojureScript linter and formatter. It offers fast… | 96 | 1774 | active |
| rstudio/reticulate reticulate is an R package that embeds a Python session inside an R session, enabling seamless interoperability between the two languages. … | 86 | 1761 | 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 |
| pikasTech/PikaPython PikaPython is an ultra-lightweight Python interpreter written in C that runs on microcontrollers with as little as 4KB of RAM and 64KB of f… | 81 | 1755 | 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 |
| MightyPirates/OpenComputers OpenComputers is a Minecraft mod that adds programmable computers, robots, and peripherals to the game, powered by a persistent Lua 5.2 run… | 10 | 1741 | active |
| revng rev.ng is an open-source binary analysis framework and decompiler built on LLVM and QEMU, supporting over 20 CPU architectures. It automati… | 75 | 1739 | active |
| radian-software/riju Riju is an extremely fast online playground that lets users run code in hundreds of programming languages directly in the browser, with sub… | 62 | 1735 | active |
| quint-co/quint Quint is an executable specification language based on the Temporal Logic of Actions (TLA+), designed for modeling and verifying the behavi… | 88 | 1730 | active |
| joshiemoore/snakeware snakeware is a free Linux distribution whose userspace is written entirely in Python, booting directly into a Python interpreter inspired b… | 23 | 1730 | active |
| justjake/quickjs-emscripten TypeScript bindings for the QuickJS JavaScript interpreter compiled to WebAssembly, letting you safely evaluate untrusted JavaScript inside… | 71 | 1729 | 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 |
| michaelb/sniprun Sniprun is a Neovim plugin written in Lua and Rust that runs selected lines or blocks of code independently of the rest of the file, suppor… | 78 | 1712 | active |
| vygr/ChrysaLisp ChrysaLisp is a 64-bit parallel operating system environment featuring a virtual processor, GUI, terminal, OO assembler, C-Script compiler,… | 98 | 1695 | active |
| filhodanuvem/gitql Gitql is a CLI tool that provides a SQL-like query language for querying Git repository data such as commits, tags, and authors. It interpr… | 23 | 6292 | maintenance |
| svaarala/duktape Duktape is an embeddable JavaScript (ECMAScript E5/E5.1 with partial ES2015+) engine written in C, focused on portability and a compact foo… | 65 | 6215 | maintenance |
| glot glot is an open source online code playground (glot.io) that lets users run and share code snippets in dozens of languages. It executes cod… | 32 | 1665 | active |
| clojure/clojure-clr ClojureCLR is a native implementation of the Clojure programming language on the .NET Common Language Runtime, written in C# and Clojure. I… | 77 | 1658 | active |
| NRules NRules is an open-source production rules engine for .NET based on the Rete matching algorithm, with rules authored in C# via an internal f… | 63 | 1651 | active |
| oracle/graalpython GraalPy is a high-performance Python 3.12 implementation for the JVM built on GraalVM. It supports embedding Python in Java applications an… | 93 | 1647 | active |
| JohnEarnest/Decker Decker is a multimedia platform and sketchpad for creating and sharing interactive documents with sound, images, hypertext, and scripted be… | 77 | 1647 | active |
| TheThirdOne/rars RARS is a RISC-V assembler and runtime simulator built as a successor to MARS, distributed as an executable Java jar. It provides a beginne… | 23 | 1647 | active |
| Tensegritics/ClojureDart ClojureDart is a Clojure dialect that compiles to Dart, enabling native mobile and desktop apps built with Flutter. It is production-ready … | 96 | 1646 | active |
| Almond Almond is a Scala kernel for Jupyter, formerly known as jupyter-scala. It wraps the Ammonite Scala REPL with Jupyter integration, offering … | 95 | 1629 | active |
| chrisjpatty/flume Flume is a React-powered node editor library that lets developers build user-friendly visual editors for modeling business logic as JSON gr… | 57 | 1627 | stable |
| Bitburner Bitburner is a programming-based incremental game with hacking and cyberpunk themes, where players write JavaScript/TypeScript scripts to a… | 88 | 1619 | active |
| moonsharp-devs/moonsharp MoonSharp is a complete Lua 5.2 interpreter written entirely in C# for .NET, Mono, Xamarin, and Unity, with no external dependencies. It in… | 72 | 1618 | active |
| jmoenig/Snap Snap! is a visual, blocks-based programming language and IDE inspired by Scratch, written in JavaScript and runnable in the browser. It sup… | 100 | 1616 | active |
| nasa/spacewasm SpaceWasm is a no_std WebAssembly 1.0 decoder, validator, and interpreter written in Rust, developed at NASA JPL for executing Wasm binarie… | 77 | 1591 | active |