QEC Explorer ↗
QEC ExplorerSurface Code Playground
How it works ↓
Part of QEC Explorer · Module 1 · Detection
0 · Basics 1 · Detect errors 2 · Decoder race 3 · Noise explorer 4 · qLDPC Notebooks
Interactive · Runs entirely in your browser

See quantum errors get caught

Click the round data qubits to inject errors. The diamond stabilizers light up whenever they detect that something nearby has flipped, without ever measuring the data itself. That detection pattern is the syndrome, and it's the only clue a real quantum computer gets. This is the foundation of how we protect quantum information.

Controls

Error type to paint
Note on Y: a Y error is a simultaneous X and Z flip on the same qubit, so it toggles as one unit, clicking adds both, clicking again removes both. (X and Z, by contrast, toggle independently.)
Code distance
Tip: Try placing two X errors next to each other on the same row. Watch how the syndromes between them stay dark, only the two ends of an error chain are visible. That ambiguity is exactly what makes decoding hard.
StatusNo errors. A clean code, every stabilizer reads +1 (silent). Click a data qubit to begin.

Live readout

CodeRotated surface, d=3
Data qubits9
Stabilizers8
Errors placed0
Syndromes lit0
Logical stateProtected ✓
A logical error happens when errors form an unbroken chain all the way across the code, the syndrome goes silent again, but the stored information has secretly flipped. Build one and watch this flip.

Legend

Data qubit (clean)
X error (bit flip)
Z error (phase flip)
Y error (both)
Z-stabilizer (catches X)
X-stabilizer (catches Z)
Lit syndrome (detected!)
Where this is going

You just did the detection step. Next: the fix.

Spotting that an error happened is only half the battle. The hard, research-grade part is the decoder, the algorithm that stares at this sparse syndrome and guesses what actually went wrong, then undoes it. That's the next module of QEC Explorer.

Embed this

Drop the live lattice into your own page

Paste this snippet anywhere, it embeds just the interactive surface-code lattice (no nav, no prose), fully clickable.

How it works

The whole idea in 90 seconds

A single quantum bit is fragile, the slightest noise flips it and your computation is ruined. The fix isn't a better qubit; it's spreading one piece of information across many physical qubits so that no single failure destroys it. That bundle is a logical qubit, and the layout above, the rotated surface code, is today's leading way to build one.

The trick is the diamond-shaped stabilizers. Each one constantly asks a yes/no question about its neighboring data qubits, but a question carefully designed so the answer reveals that an error occurred without revealing what the data is. (Measuring the data directly would destroy the superposition; that's the heart of the problem QEC solves.)

When a stabilizer's answer changes, it lights up. The full pattern of lit stabilizers is the syndrome, and there's a catch you can see above: an error chain only lights up the stabilizers at its two endpoints. From that sparse clue, a decoder has to guess what actually went wrong and undo it. That guessing is where most of the hard research lives, and it's what the next module lets you watch in action.

On accuracy: the lattice connectivity, stabilizer checks, and syndrome computation here are physically faithful to the rotated surface code. This page shows the detection step. Decoding, noise models, and threshold behavior are coming as separate, clearly-labeled modules, so nothing here is a cartoon standing in for real physics.