Baconian Cipher Encoder / Decoder

Encode and decode messages using Francis Bacon’s A/B cipher. Supports classic 24-letter alphabet, 26-letter variant, A/B or 0/1 output, and cover-text steganography helpers.

Symbol set
Text normalization
Formatting

For decoding, paste A/B or 0/1 sequences. Non-symbol characters are ignored.

Cover Text Steganography Helper

The original Baconian cipher hides A/B symbols inside an innocent-looking cover text, for example by using lowercase for A and UPPERCASE for B. Use this helper to map a Baconian sequence onto a cover sentence.

Embedding style

How the Baconian cipher works

The Baconian cipher, invented by Francis Bacon (1561–1626), is a steganographic cipher: it hides a secret message inside an apparently harmless text. Each plaintext letter is replaced by a group of five symbols, traditionally A and B. Those symbols are then encoded visually, for example using different fonts, letter cases, or spacing.

Step 1 – Map letters to 5-bit patterns

In the original version, Bacon used a 24-letter Latin alphabet where I/J and U/V are merged. Each letter is assigned a unique 5-bit pattern (from 00000 to 10111), which we represent as A/B:

AAAAA → A
AAAAB → B
AAABA → C
AAABB → D
AABAA → E
AABAB → F
AABBA → G
AABBB → H
ABAAA → I / J
ABAAB → K
ABABA → L
ABABB → M
ABBAA → N
ABBAB → O
ABBBA → P
ABBBB → Q
BAAAA → R
BAAAB → S
BAABA → T
BAABB → U / V
BABAA → W
BABAB → X
BABBA → Y
BABBB → Z

Our calculator supports both this 24-letter table and a 26-letter modern variant. When decoding, you must use the same variant that was used to encode the message.

Step 2 – Encode plaintext to A/B

To encode a message:

  1. Normalize the text (optionally merge I/J and U/V, remove accents and punctuation).
  2. For each letter, look up its 5-symbol A/B pattern.
  3. Optionally group the output into blocks of 5 for readability.

Example (24-letter alphabet, I/J and U/V merged):

Plaintext: HELLO
H → AABBB
E → AABAA
L → ABABA
L → ABABA
O → ABBAB

Cipher (grouped): AABBB AABAA ABABA ABABA ABBAB

Step 3 – Hide A/B inside a cover text

Historically, the A/B sequence is not sent directly. Instead, it is hidden inside a cover text. For example:

  • Case method: A = lowercase, B = UPPERCASE.
  • Font method: A = normal font, B = italic or bold.
  • Spacing method: A = single space, B = double space.

Our steganography helper lets you map a Baconian sequence onto a cover sentence using either case changes or Markdown-style bold.

Using this Baconian cipher calculator

Encoding

  1. Select Encode mode.
  2. Choose the alphabet variant (24 or 26 letters).
  3. Select the symbol set (A/B, 0/1, or custom symbols).
  4. Type your plaintext in the Input box.
  5. Click Run Baconian Cipher to generate the encoded sequence.
  6. Optionally, copy the output and use the Cover Text Steganography Helper to embed it.

Decoding

  1. Select Decode mode.
  2. Choose the same alphabet variant and symbol set that were used to encode.
  3. Paste the A/B or 0/1 sequence into the Input box. Non-symbol characters are ignored.
  4. Click Run Baconian Cipher to recover the plaintext.

If the total number of symbols is not a multiple of 5, the last incomplete block is ignored and a warning is shown.

Limitations and security notes

  • The Baconian cipher is not secure by modern cryptographic standards.
  • It is mainly used for puzzles, geocaching, escape rooms, and educational demonstrations of steganography.
  • Anyone who suspects a Baconian cipher can decode it quickly with tools like this one.

FAQ

Why are I/J and U/V sometimes merged?

Bacon worked with a 24-letter Latin alphabet. To fit all letters into 5-bit patterns (25 = 32 possibilities), he merged I with J and U with V. Many historical texts and ciphers follow this convention. Modern variants often keep all 26 English letters, but then the mapping is no longer strictly “original” Bacon.

Can I use other symbols instead of A and B?

Yes. Any two distinct symbols can represent the two states, such as 0/1, x/o, ./-, or even emojis. This tool lets you define a custom pair of symbols and will encode/decode accordingly.

How do I extract A/B from a cover text?

Decide on a rule (e.g., lowercase = A, uppercase = B). Then scan the cover text letter by letter, converting each character into A or B according to your rule. Once you have the A/B sequence, group it into blocks of five and decode with the same alphabet variant.