Equana vs Octave Online: two free ways to do numerical computing in the browser
How Equana's on-device notebook compares with Octave Online's server-side terminal for free numerical computing.
GNU Octave is the classic free answer to MATLAB, and Octave Online puts it behind a browser terminal. Equana shares the same goal — free numerical computing without installing anything — but takes a different path. Octave's strength is MATLAB compatibility: it runs most .m files as-is. Equana is its own language, Julia-inspired with an optional natural-language syntax, and it executes entirely on your device via WebAssembly rather than on a remote server. This page compares the two honestly: where Octave's maturity wins, and where Equana's modern notebook, plotting, and debugger make the difference. Equana is currently in alpha.
| Equana | Octave Online | |
|---|---|---|
| Cost | Free (currently in alpha) | Free (donation-supported); paid tiers for more resources |
| Install | None — browser tab; optional desktop app | None for Octave Online; desktop Octave requires installation |
| Where code runs | On your device (WebAssembly) — zero server calls for execution | On Octave Online's servers |
| Privacy | Data never leaves your machine | Code and data are processed server-side |
| Language | Equana's own .eq language — Julia-inspired, optional natural-language syntax. Not MATLAB-compatible | Octave language — largely MATLAB-compatible; runs most .m scripts |
| Ecosystem | 20 packages, 282 functions; young and growing | Mature: decades of development plus Octave Forge packages |
| Interface | Full notebook: cells, rich output, interactive plots | Terminal-style prompt with a script editor |
| Debugger | Integrated: breakpoints, stepping, variable inspection | Limited in the online UI |
| Plotting | Line, scatter, histogram, 3D surfaces, heatmaps, VTK volume rendering — interactive, in-page | Static plot images rendered server-side |
| Maturity | Alpha | Stable, long-established |
The honest summary: if your goal is running existing MATLAB/Octave scripts for free, Octave Online is the pragmatic choice. If you're starting fresh and want a modern notebook that computes privately on your own machine, Equana is built for exactly that.
Server terminal vs local notebook
Octave Online sends every command to a server, runs it there, and streams the result back — a faithful port of a desktop REPL to the web. Equana was built browser-native from the start: a notebook with cells, rich outputs, and interactive plots, where the interpreter and the WASM numerical kernels run inside your tab on a single shared linear memory. That buys you three things: your data stays local, there's no queue or session limit imposed by someone else's server, and plots are live objects you can interact with instead of images.
arr = [3, 1, 4, 1, 5, 9]
for x in arr {
s = s + x
}
r = 1:2:10 # ranges
Local execution holds up on speed, too: on a Ryzen 9950X, a 1000×1000 double-precision matrix multiply drops from about 649 ms in plain JavaScript to about 57 ms with WASM SIMD and about 15 ms with multithreaded WASM. The trade-off is honest as well — Octave's function library, matured over decades, is far larger than Equana's 282 functions today.
A language designed to be read
Octave's language is defined by MATLAB compatibility — a real virtue if you have .m files to run. Equana, free of that constraint, is designed for readability: 1-based indexing and multiple dispatch like Julia, plus an optional natural-language layer that makes numerical code read like prose:
let x be 42 # 'let' cosmetic, 'be'/'equals' alias '='
let square be x mapsto x^2 # 'mapsto' aliases '->'
3 add 4 # built-in binary fns usable infix
5.double() # method syntax on any function
Everything above is optional sugar over conventional syntax (square = x -> x^2 works identically) — you can mix both styles freely in one notebook. For teaching, and for code you'll reread in six months, that readability compounds.
Debugging where notebooks usually can't
A practical differentiator: Equana ships an integrated debugger in the browser. Set breakpoints in a cell, step through execution, and inspect variables — including arrays and matrices — as you go. This falls out of the architecture: Equana's interpreter is a pure TypeScript AST-walker running in a web worker, which makes breakpoints and stepping trivial to support. Octave Online's terminal model doesn't offer comparable interactive debugging. The code you step through stays ordinary code:
function r = deg2rad(x) {
r = x * pi / 180
}
if x < lo { r = lo } else { r = x }
If you've ever debugged numerical code with a wall of disp() calls, this alone is worth a try.
Try it
You don't need an account to see how Equana feels: the tutorials run code directly in your browser, no sign-up required. For the full notebook experience — saved notebooks, interactive plots, the debugger — sign in free. It's alpha software, but it's real math, running on your machine.