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
- Type or paste the data you want to protect.
- Set k data shards and m parity shards — or pick a preset like RAID 6 or Backblaze 17+3.
- Click any shard to destroy that disk.
- 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 →