Solves a monoalphabetic substitution by hill climbing on English quadgram fitness, with restarts and letters you fix by hand.
Procedure
How it works
A simple substitution replaces each letter by another through a fixed mixed alphabet. There are $26! \approx 4 \cdot 10^{26}$ keys, so trying them all is out of the question, yet the cipher is weak: the letter counts and, better still, the patterns of letter groups survive.
The solver starts from a key guessed from the letter frequencies and improves it by hill climbing: swap the plaintext letters of two ciphertext letters, keep the swap when the quadgram fitness of the decryption goes up, and repeat until no swap helps. Such a climb can stop on a lesser hilltop, so it restarts from random keys and keeps the best result; when the same best key comes out of several restarts, it is very likely the right one.
With 200 letters or more the answer is usually exact, apart from rare letters that occur once or never. If a few letters stay wrong, fix the ones you can read (for example Q=T) and solve again: the solver keeps them.
Everything is calculated in your browser. Nothing you type leaves your device.