Biliteral substitution

Bacon cipher

Encode plain ASCII letters as five-symbol Bacon groups, or decode a validated A/B or 0/1 message with an explicitly chosen alphabet.

01 / Workspace

Convert a message

Direction

Encode turns A-Z letters into five selected symbols.

The historical table maps J to I and V to U. Decoding returns I and U for those shared codes.

A is the zero symbol and B is the one symbol. A/B decoding is case-insensitive.

Grouped output uses spaces between letters and a standalone slash between words.

0 / 5,000 code points

Encoding accepts ASCII letters A-Z in either case and Unicode whitespace. It rejects punctuation, digits, emoji, accented letters, and other scripts.

Ready to encode.

02 / Result

Converted text

No result yet

Grouped output contains one five-symbol group per letter. Word whitespace is normalized to a standalone slash.

03 / Convention

Two tables, one five-symbol method

  1. Choose the table first. The historical 24-letter alphabet is ABCDEFGHIKLMNOPQRSTUWXYZ. It folds J into I and V into U. The distinct variant uses all 26 letters in normal A-Z order.
  2. Count in five binary places. Each alphabet position becomes a five-symbol group, starting with AAAAA or 00000 for A. The first selected symbol means zero and the second means one.
  3. Use separators deliberately. Grouped mode requires every code group to contain exactly five symbols. Whitespace separates groups, and a slash must stand alone between two groups. Continuous mode ignores whitespace, rejects slashes, and requires the symbol count to be divisible by five.
  4. Expect normalized text. Decoding produces uppercase ASCII letters. Grouped slashes become single spaces. Original case and exact whitespace cannot be recovered.
Variant Shared letters Example for BACON
Historical 24 I/J and U/V AAAAB AAAAA AAABA ABBAB ABBAA
Distinct 26 None AAAAB AAAAA AAABA ABBBA ABBAB

Known checks

Historical example
FUGE encodes as AABAB BAABB AABBA AABAA with the 24-letter table.
Shared-letter result
JIVE round-trips as IIUE with the historical table, because J/I and V/U share codes.
Distinct result
JIVE round-trips exactly with the 26-letter table.

Limits and security

  • Plaintext is limited to 5,000 Unicode code points. Cipher input is limited to 40,000 code points and 5,000 decoded groups.
  • Plaintext punctuation, digits, markup, accents, emoji, and non-Latin scripts are rejected rather than silently removed. Decode mode rejects symbols and separators outside the selected format.
  • This converter handles direct A/B or 0/1 notation. Hiding the pattern in typefaces, capitalization, or other cover text is outside its scope.
  • Classical ciphers are educational and unsuitable for sensitive data. Do not use Bacon cipher output to protect passwords, personal information, or secrets.