Shamir's Secret Sharing

Split a secret into several shares so that any K of N can reconstruct it, but fewer reveal nothing. Useful for backup keys, recovery phrases, and shared custody. All math runs in your browser over GF(256) — the secret is never uploaded.

Split

Total shares (N) Threshold (K)

{{splitErr}}

Recover{{collected.length}} share{{collected.length===1?'':'s'}} loaded

Add QR images

Click or drop — or paste share text below.

#{{i+1}} {{s.slice(0,42)}}{{s.length>42?'…':''}}
{{restored}}

{{restoreErr}}

About this toolpolynomials over GF(256)

Each byte of the secret becomes the constant term of a random polynomial of degree K−1 over the finite field GF(256). Every share is that polynomial evaluated at a distinct point x.

Given any K points you can reconstruct the polynomial by Lagrange interpolation and read off the constant term — the original byte. With only K−1 points, every possible secret remains equally likely, so fewer shares reveal nothing.

Each Base64 share includes its threshold, a random set identifier and an integrity check alongside x and the polynomial values. Recovery rejects mixed share sets, too few shares and corrupted data instead of displaying garbage as a secret.

All splitting and recovery happen locally with a cryptographically secure RNG. Nothing you enter is transmitted, logged, or stored. This tool splits a secret; it does not encrypt — protect each share as you would the secret itself.