Substitution Cipher

A monoalphabetic substitution cipher replaces every letter of the plaintext with a different letter of the alphabet. Solve it manually, or let the autosolver find the key automatically with a Rust/WebAssembly simulated-annealing engine.

0 chars · 0 letters
Output — plaintext
Substitution key

Type the plaintext letter that each ciphertext letter maps to. The mapping is applied instantly. Grey letters are unassigned.

A word/phrase you think appears in the plaintext.
Ready.

How the autosolver works

The solver runs entirely in your browser via a WebAssembly module compiled from Rust. It models English with a smoothed 27-symbol (A–Z + wordbreak) quadgram language model plus a 550,000-word dictionary matched by word shape, then performs multi-restart simulated annealing over the key space (each swap is rescored incrementally), hill-climbs on the combined score, and snaps words onto dictionary words of the same shape. Punctuation is preserved and used as a constraint: apostrophes pin down contractions (’S, ’T, ’LL, ’RE …), quotes and sentence stops mark word boundaries and are copied to the output. Word boundaries and an optional known-plaintext crib are respected. Nothing is uploaded — your ciphertext never leaves the page.