RunMat - Fast, Free, Modern MATLAB Runtime

Run MATLAB code for free with RunMat: high-performance, open-source runtime with Jupyter kernel, BLAS/LAPACK, beautiful plotting, and JIT compilation. Replacement for MATLAB and GNU Octave with dramatically faster performance.

🚀 Open Source • MIT Licensed • Free Forever

The Fast, Free, Modern
MATLAB Runtime

Run your existing MATLAB/Octave code with full language grammar and core semantics. No license fees, no lock-in.

Why Use RunMat?

Full Language Semantics
Run the whole language, not a subset: proper indexing (end/colon/masks), multiple returns, classdef OOP, events/handles. What you already write just works. See coverage.
150x-180x Faster Than Octave
Instant startup and triple-digit speedups vs Octave across startup, matrix ops, math, and control flow. Read the results.
📦
Slim Core + Packages
Best practices borrowed from the Python/Rust/JavaScript ecosystems. Install native Rust or source MATLAB packages. See the package manager.
🧱
Portable & Lightweight
Same code, everywhere: small static binaries with consistent performance on Linux/macOS/Windows and embedded devices. Great for laptops, clusters, and CI.

Modern Compiler and Executor of MATLAB Code

Boots in 5ms, GPU optimizes by default, single compact cross-platform binary.

$runmat
RunMat v0.1.0 by Dystr (https://dystr.com)
Fast, free, modern MATLAB runtime with JIT compilation and GC
Type 'help' for help, 'exit' to quit
% Generate data
runmat>x = linspace(0, 4 * pi, 1000);
ans = Num(1000x1 vector)
runmat>y = sin(x) .* exp(-x/10);
ans = Num(1000x1 vector)
% Create beautiful plot
runmat>plot(x, y);
[Interactive plot window opened]
% Matrix operations
runmat>A = randn(1000, 1000);
ans = Matrix(1000x1000 double)
runmat>B = A * A';
ans = Matrix(1000x1000 double)
runmat>eigenvals = eig(B);
ans = Num(1000x1 complex vector)
runmat>
RunMat - Interactive Visualization
RunMat interactive plot showing a damped sine wave with real-time visualization controls

Full Language Semantics

RunMat implements the full grammar and core semantics of the MATLAB language. Seelanguage coverage.

Feature CategoryRunMatOctave
Grammar & parser (full surface)
Arrays & indexing (end, colon, masks, N-D)
Multiple returns, varargin/varargout, nargin/nargout
classdef OOP + operator overloading
Events/handles (addlistener/notify/isvalid/delete)
Imports precedence & static access (Class.*)
Metaclass operator ?Class
String arrays (double-quoted)
Standardized MException identifiers

Blazing Fast Performance

Benchmarked on an Apple M2 Max, 32GB.
Reproduce with benchmarks in the repo.

BenchmarkOctave (s)RunMat (s)Speedup
Startup Time0.91470.0050183x
Matrix Operations0.82200.0050164x
Mathematical Functions0.86770.0057163x
Control Flow0.87570.0057155x

Free and Open Source, Forever

Copy and paste the command below to get started with RunMat.

Linux & macOS
curl -fsSL https://runmat.org/install.sh | sh
Windows
iwr https://runmat.org/install.ps1 | iex

Ready to Experience the Future?

Join researchers and engineers who’ve made the switch to RunMat.