Skip to content
TextArray
100% local

Bacon cipher

Encode text as five-symbol A/B groups with Bacon’s biliteral cipher, and back.

Input

Bacon cipher

Francis Bacon devised his biliteral cipher in 1605 on a beautifully simple idea: with only two symbols you can encode the whole alphabet, if you use them in groups of five — 2⁵ is 32, more than enough for 26 letters. A becomes AAAAA, B becomes AAAAB, and so on. This tool encodes text into those A/B groups and decodes them back, one letter per group of five.

Its cleverness was never the A/B letters themselves but that they could hide in plain sight: a message written in two subtly different typefaces, two ink shades, or upright versus italic letters carries a Bacon-encoded secret invisibly. That makes it a steganography classic, a staple of puzzle hunts, escape rooms and CTF challenges — and the reason a page of seemingly ordinary text can hold a concealed message five characters at a time.

Two alphabets are offered. The classic 24-letter version is Bacon's original, where I and J share a code and U and V share a code — a quirk of the period's Latin alphabet. The modern 26-letter version gives every letter its own distinct code, so it round-trips losslessly. Encoding groups letters into words separated by a slash for readability; decoding ignores anything that is not an A or B (and accepts 0/1 too), reading the stream in fives, so you can paste a message however it was formatted.

Everything runs locally in your browser — your text never leaves your device.

FAQ

Why does the classic alphabet only have 24 letters?
Bacon worked with the Latin alphabet of his day, where I and J were the same letter and U and V were the same letter. The classic mode reproduces that: I/J share a code and U/V share a code, so encoding "J" gives the "I" code and decoding returns I. Use modern for all 26 distinct.
Why does decoding classic text sometimes lose a letter?
Because of the I/J and U/V folding. Encoding "JUMP" in classic mode stores I and U codes, so decoding yields "IUMP" — the original J and V are unrecoverable. If you need a perfect round trip, use the modern 26-letter alphabet on both sides.
Can I decode a message using letters other than A and B?
Yes. The decoder keeps only A/B (case-insensitive) and treats 0 as A and 1 as B, ignoring everything else. So a message hidden as two typefaces, or written with any two symbols mapped to A/B, decodes once you transcribe it to A/B or 0/1.
What happens to digits, spaces and punctuation?
On encode, letters become codes and word breaks become a slash; digits and punctuation are dropped so the A/B stream stays pure. On decode, only A/B (or 0/1) count and everything else is ignored, so formatting never matters.
Is my text uploaded anywhere?
No. The cipher runs entirely in your browser and your text never leaves your device.