Base100 Emoji Encoder And Decoder

Encode plain text as Base100 emoji, or decode Base100 emoji text back into readable text.



Question

What is Base100 emoji encoding?

Base100 is an emoji binary-to-text encoding from Adam Niederer's base100 project. It represents each byte with one emoji code point from the contiguous range U+1F3F7 through U+1F4F6. There is no padding, separator, checksum, compression, or final-byte marker.

Use the encoder when you want a playful emoji representation of text for demos, examples, or controlled copy-and-paste workflows. Use the decoder when you already have Base100 emoji text and want to recover the original readable text.

The decoder accepts only Base100 emoji symbols after surrounding whitespace is removed. It shows an error when the pasted value contains other characters, unsupported emoji, or byte sequences that do not recover as valid UTF-8 text.

Base100 output is encoded data, not emoji translation, semantic emoji text, encryption, signing, hashing, authentication, or privacy protection. Anyone using the same mapping can decode it, and changing one emoji changes one byte in the decoded data.

Base100 is different from Ecoji, base emoji alphabets, and simple word-to-emoji substitutions. Ecoji packs bits into a larger emoji alphabet with different padding behavior; Base100 keeps one output emoji per input byte for easy visual comparison and simple byte recovery.


Code

Unicode and transport cautions

Emoji rendering varies by operating system, browser, font, and platform emoji set. Some Base100 code points may show as colorful emoji, monochrome glyphs, missing boxes, or with unexpected presentation differences. Variation selectors are not part of the Base100 data and should not be inserted into encoded text.

Copy and paste, Unicode normalization, SMS, chat apps, social networks, Markdown processors, JSON serializers, databases, source code editors, command lines, URLs, and older browsers may transform, reject, escape, split, or display emoji text differently. Treat Base100 as useful for controlled workflows and demos, not as universally transport-safe text.

If you need ASCII-only transport, use Base64, Base64url, Base32, Base58, or another encoding designed for the target system. If you need compatibility with another Base100 library, confirm that it uses the same U+1F3F7 + byte mapping from Adam Niederer's project.