Ciphers

Polybius square

Each letter becomes a row digit and a column digit in a 5×5 grid, I and J sharing a cell. An optional keyword reorders the grid.
IDpolybius25 / 72classical · fractionation
Cipher / Fractionation

Polybius Square

Each letter becomes a row and a column.

Keyspace
1
Decode
same options back
Works on
A-Z, J as I, the rest dropped
Family
10 in fractionation
required 0 / 1

Options

keystring
optional
Optional keyword for the 5×5 table

Access

Createcreate("polybius")
CLIciphers encode polybius HELLO
Tryplayground with the sample above
Kinnihilist, morse, fractionated-morse, bacon +5

The alphabet fills a 5×5 grid, J folded into I. A letter is its row and column, both 1 to 5, pairs separated by spaces. With a key the keyword goes first, duplicates removed, and the rest of the alphabet follows - the same square Playfair and Bifid build.

ts
const polybius = create("polybius");
polybius.encode("HELLO").text; // "23 15 31 31 34"
polybius.encode("JULIUS").text; // "24 45 31 24 45 43", J is 24 like I
polybius.encode("HELLO", { key: "KEYWORD" }).text; // "33 12 35 35 15"
polybius.decode("23 15 31 31 34").text; // "HELLO"

Decoding reads digit pairs and leaves anything else in place, so "23 ab 24" becomes "HabI". Tap code is the same grid with C and K sharing instead of I and J. Bifid and ADFGVX build on the coordinates.