Toolgeist › Developer

Reed-Solomon Erasure Coding Playground — Destroy Disks, Watch Recovery

A working Reed-Solomon erasure coder, not an animation of one. Your text is split into k data shards, encoded with a Vandermonde matrix over GF(2⁸) using the 0x11D primitive polynomial that real storage systems and QR codes use, and any shard you click is genuinely destroyed. Recovery runs a real Gauss-Jordan matrix inverse over GF(256) on whichever k shards survived and prints the reconstructed bytes — which either match your input exactly or, once you kill more than m shards, refuse to reconstruct at all, because at that point the mathematics really has run out.

How to use Reed-Solomon Erasure Coding Playground

  1. Type or paste the data you want to protect.
  2. Set k data shards and m parity shards — or pick a preset like RAID 6 or Backblaze 17+3.
  3. Click any shard to destroy that disk.
  4. Watch which surviving shards get used to rebuild, and where recovery finally becomes impossible.

Frequently asked questions

How many disks can a k+m scheme actually lose?
Exactly m, and it does not matter which m. Every k×k submatrix of a Vandermonde matrix over GF(2⁸) is invertible, so any k surviving shards form a solvable system. Destroy m+1 and the system is underdetermined — the data is genuinely unrecoverable, which is why this tool refuses rather than pretending.
Why is erasure coding better than just keeping three copies?
Storage cost. Three-way replication survives 2 failures at 300% storage. An 8+4 erasure code survives 4 failures at 150% storage. That is the entire reason Backblaze, Ceph, HDFS and S3 use erasure coding for cold data rather than replicating everything.
Is this the same GF(2^8) as AES?
No, and it is a common mix-up. AES uses the primitive polynomial 0x11B; Reed-Solomon in storage systems, QR codes and libraries like klauspost/reedsolomon uses 0x11D. Same field size, different reduction polynomial, completely different multiplication tables.
What does "systematic" mean here?
The encode matrix is multiplied by the inverse of its own top k×k block, which forces the first k rows to become an identity matrix. That means the first k shards are your original bytes verbatim — you can read them in the hex column — so reading undamaged data needs no decoding work at all.
Does my data leave the browser?
No. The entire field arithmetic, encoding and matrix inversion runs in JavaScript on your own machine. Nothing is uploaded.

Related Developer tools

Also searched for: reed solomon calculator · erasure coding explained · raid 6 parity how it works · galois field gf(256) arithmetic · k+m erasure code storage overhead

Browse all 738 free tools on Toolgeist →