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, and it executes entirely on your device via WebAssembly rather than on a remote server. This page compares the two: 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. 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 |
In short: 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
end
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 real — Octave's function library, matured over decades, is far larger than Equana's 282 functions today.
A clean, modern language
Octave's language is defined by MATLAB compatibility — a real virtue if you have .m files to run. Equana, free of that constraint, takes its cues from Julia: 1-based indexing, multiple dispatch, and a clean syntax for numerical code:
square = x -> x^2 # arrow functions
y = 2x + 3x^2 # implicit multiplication
5.double() # method syntax on any function
The syntax stays close to the math you're expressing. 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
end
if x < lo
r = lo
else
r = x
end
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 examples 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.