Bases & encoding

Binary, hexadecimal, Base64, hashing, Morse, classic ciphers and fun codes — 100% local.

Enter a value in any field, the other three update automatically. Reliable up to roughly 2^53.

Each character is encoded in UTF-8, then each byte is shown as 8 bits, separated by spaces. Both fields are synced both ways — edit the text or paste binary to decode it. UTF-8 compatible (accents, emoji, etc.).

Both fields are synced both ways — edit the text or paste existing Base64 to decode it. UTF-8 compatible (accents, emojis, etc.).

Encoding compatible with URL parameters (equivalent to encodeURIComponent).

For each character: its Unicode code point (U+XXXX) and its UTF-8 encoded bytes.

Hashes computed entirely in your browser, for fun and educational purposes. MD5 and SHA-1 are no longer considered secure for real security use — only SHA-256 (or higher) is suitable for genuine cryptographic needs.

Letters separated by a space, words separated by "/". International alphabet, digits and common punctuation supported. Both fields are synced both ways.

International radio alphabet (Alpha, Bravo, Charlie…) used by pilots, military and emergency services to spell without ambiguity. Digits and punctuation left as-is. Synced both ways.

Each letter is shifted in the alphabet by the chosen number of positions (accents and symbols unchanged). Both text fields are synced — edit either one.

Alphabet-mirror cipher, one of the oldest known. Self-inverse: applying it twice restores the original text.

Historic polyalphabetic cipher (16th century): each letter is shifted according to the corresponding letter of the key, repeated over the whole text. Only unaccented A-Z letters are encrypted.

Each letter is replaced by a symbol from the chosen theme (separated by spaces). Decodable both ways — digits and punctuation left as-is.

Substitution of letters with visually similar digits (a→4, e→3, i→1, o→0, s→5, t→7, g→9, b→8). Both fields are synced — decoding is inherently approximate.

The text is reversed character by character and each letter/digit is replaced with its visually flipped 180° equivalent, like the popular "upside down text" generators on social media. The result is always lowercase.

Zorglangue, a tribute to Professor Zorglub (from the Spirou and Fantasio comics) who speaks backwards: each word is reversed letter by letter, word order stays the same — e.g. "Station Impulse" → "noitatS eslupmI". Both fields are synced both ways.

Preview shown as it would appear in a real mirror (left-right visual flip, via CSS). This is a visual effect — the text cannot be copy-pasted "mirrored" elsewhere, unlike the other tools on this page.

Adds random combining diacritical marks to each character. The result changes with each generation. The "Clean up" button removes the marks to recover readable text.

Playful English wordplay: the starting consonants of a word move to the end followed by "ay" (or "way"/"yay" if the word starts with a vowel). Works word by word, punctuation preserved.

Each letter and digit is replaced by a dedicated emoji (separated by spaces) — decodable both ways.

All conversions and encodings are performed entirely in your browser — nothing is sent to a server.

Counting in another base

Our way of writing numbers is positional: the digit 3 in "30" means thirty because it sits in the tens column. In base 10, each column is worth ten times the previous one. In base 2 (binary), it's two times — the only digits are 0 and 1, matching "current / no current" in a circuit. In base 16 (hexadecimal), it's sixteen times, with digits 0-9 then A-F.

1010₂ = 8 + 0 + 2 + 0 = 10₁₀ = A₁₆

Hexadecimal is mainly used to write bytes compactly: one byte (8 bits) fits in exactly two hex digits (00 to FF), hence its use for colours (#FF8800), memory addresses or fingerprints.

Encoding is not encryption

Base64 and URL encoding transform text so it can travel unharmed (in an email, a web address), but anyone can reverse the operation: they are not protections. A password "in Base64" is a plaintext password.

Remember: if a transformation undoes itself without a secret key, it's encoding (Base64, URL, Morse). If it needs a key, it's encryption. The Caesar, Atbash and Vigenère ciphers in this tool are historical and playful — trivial to break, for puzzles and games, not for real secrets.

The playful codes

NATO alphabet, Morse, leetspeak, pig latin, upside-down text, emoji… these are reversible substitutions with no claim to security. Handy for spelling out a name on the phone, running a birthday party, or building a treasure hunt.

Frequently asked questions

Up to what value are base conversions reliable?

Up to about 2⁵³ (9 quadrillion), the limit of exact integers in JavaScript. Beyond that, the last digits may be wrong.

Does the "playful hash" replace SHA-256?

No. It's a short function for teaching and fun, not a cryptographic digest. Don't use it to verify a file or store a password.

Is my text sent anywhere?

No. All encoding and decoding happens in the browser, offline once the page has loaded.