QU|⟩BSign in

About QU|⟩B

A browser-based quantum circuit simulator powered by Rust and WebAssembly.

qu00b is a browser-based quantum circuit simulator. You place gates on a wire grid, hit Run, and it shows you the resulting probability distribution — no cloud, no install, no quantum hardware required. The whole thing runs in your browser tab.

How the engine works

Most quantum simulators represent state as a 2n × 2n matrix. qu00b doesn’t. Instead it tracks the state vector directly — a list of 2n complex amplitudes, one per computational basis state. Each gate is applied by mutating just the entries it affects, which keeps things fast enough to run live in a browser tab without a loading spinner.

The simulation engine is written in Rust, compiled to WebAssembly via wasm-pack. The UI is Next.js. The two talk to each other through a thin TypeScript wrapper. When you click Run, no network request is made — the Wasm module runs locally in your JS engine.

The source is public: github.com/franklinrussell/qu00b.

Display convention: qu00b labels basis states with q0 as the leftmost bit — the same order as the wire grid, where q0 is the top wire. Internally the state vector stores q0 at the least-significant bit position; the display is reversed so labels read left-to-right as q0 q1 q2 …

The name

In quantum mechanics, |00⟩ is Dirac (ket) notation for the two-qubit state where both qubits are in the ground state — the simplest starting point for a circuit. qu00b is that: the starting point. A place to build your first qubit intuition before the textbooks make it complicated.

The slashed zeros in the wordmark are there so the digits read as digits and not letter O. A small detail, but this is a tool about precision.

Four things to try (and why they’re strange)

Open the simulator and hit Try this — each preset loads in one click. Here’s what you’re actually looking at.

The fair coin.One Hadamard gate turns a definite 0 into a perfect 50/50. That’s not the computer being unsure — it’s the qubit genuinely being both at once until you measure it. Run it 512 times and watch the two bars hover near half each.

The Bell pair.Two qubits, entangled. Only the outcomes where they agree ever show up — both 0 or both 1, never a mix. On its own each qubit is still a 50/50 coin. But the moment you’d measure one, the other’s answer is fixed, instantly, with no signal passing between them. Two ordinary coins can’t be correlated like this no matter how you flip them. Einstein hated it; the experiments keep proving it real.

Deutsch’s trick.Here’s a real algorithm. There’s a hidden one-bit function, and the only question is whether it’s “constant” or “balanced.” A normal computer has to test it twice to be sure. This circuit answers in a single evaluation — the qubit comes out 1 for balanced, 0 for constant, guaranteed. It’s tiny and a little contrived, but it’s the smallest honest proof that asking a question in superposition can cost strictly fewer steps than asking it one input at a time.

Grover’s search.Four items, one marked. A classical search needs up to four lookups — two on average. Grover finds it in one. Load Grover — 1 iter and the marked state climbs from 25% to 100% in a single pass: not by eliminating the other options but by rotating their amplitudes until destructive interference drives them to zero. Load step 2 and it overshoots — the probability rotates back to uniform. Grover is a rotation, not a ratchet, and one step is exactly right for N=4.

None of this is the computer being fast. It’s the computer following different rules.

Built by

qu00b is a Birch Tree Studio project.

Questions?

Reach us on the support page.