Project Nayuki

Automatic Caesar cipher breaker (JavaScript)


Best guesses:
Shift Entropy per letter (bits) (lower is better)


Type or paste the ciphertext, then press Break code. The ciphertext is decrypted automatically with the best guessed shift. If the result is incorrect, you can manually try all the different shifts by pressing Up/Down, or by clicking on a table row.

The case is preserved and non-letters are unchanged by encryption or decryption. The automatic decryption done by trying all 26 possible shift values and calculating the cross-entropy with English letter frequencies (unigram model). The algorithm works best on English text, but in practice it works well on other European languages too.

The source code is available for viewing.

More info