A Base100 encoder is an encoding tool that maps each byte of a UTF-8 text input to one symbol from a fixed 256-emoji alphabet, producing a continuous stream of emoji as output. The mapping covers every possible byte value from 0x00 to 0xFF, which means every well-formed UTF-8 character — including ASCII letters, accented Latin, CJK ideographs, and emoji themselves — can be represented, and the original bytes can be recovered losslessly with the matching Base100 decoder. The format is sometimes described as a "Base100 emoji code" because it gives each of the 256 byte values its own dedicated emoji slot, much like Base64 gives 64 values their own printable character.

People search for a Base100 encoder for a handful of reasons. Some want to embed a hidden message inside a string of emoji that looks like noise in a chat app. Others want a memorable, visually distinct way to fingerprint a short string — a password, a license key, a UUID — so it stands out from surrounding text. A few developers use Base100 as a debugging aid to confirm whether a string survived a copy-paste through systems that strip or transform normal characters. None of these uses require security; Base100 is a reversible display encoding, not encryption, and the tool is meant for casual formatting and decoding rather than confidentiality.

base 100 encoder
base 100 encoder

What Base100 Actually Maps

The Base100 specification assigns one emoji to each byte value 0–255 in a deterministic order. When you feed UTF-8 text into the encoder, the tool first converts each Unicode character into its constituent one to four UTF-8 bytes, then looks up the corresponding emoji for each byte. A single ASCII letter such as "A" becomes a single emoji because it occupies one byte. A character outside ASCII, such as "é" or "你", occupies two or three bytes and therefore becomes two or three emoji in the output stream. An emoji such as 😀, which takes four UTF-8 bytes, becomes four Base100 symbols.

The full mapping is defined by the original Base100 project and is consistent across conformant tools. There is no choice of alphabet, no padding, and no header; the output is simply the emoji stream in the same order as the input bytes. This simplicity is what makes the format easy to verify and decode in one step.

Encoding UTF-8 Text With the Online Tool

The fastest way to produce a Base100 string is to use the Base100 Encoder / Decoder in your browser. The tool runs locally, so nothing is uploaded, and it handles the full Unicode range because it reads your input as UTF-8 before mapping each byte.

  1. Open the Base100 Encoder / Decoder page and choose the Text to Base100 direction.
  2. Type or paste your UTF-8 text into the input box. Plain ASCII, accented characters, and emoji are all accepted without preprocessing.
  3. Click the encode button. The tool converts each character to its UTF-8 bytes and looks up the Base100 emoji for every byte.
  4. Copy the exact symbol stream that appears in the output. Do not insert spaces, line breaks, or emoji variation selectors between symbols, because the decoder treats every emoji as one byte and will reject anything outside the defined set.
  5. Paste the unmodified stream wherever you need it — a chat message, a code comment, a status field — confident that the original text can be recovered.

If you only have a small amount of text to convert, the entire process takes a few seconds and no setup is required. For larger blocks, paste from a file and let the page handle the conversion in one pass.

Decoding a Base100 Stream Back to Text

Decoding is the strict mirror of encoding. The tool inspects each emoji in the stream, checks that it belongs to the Base100 alphabet, and converts it back to its byte value. The resulting bytes are then interpreted as UTF-8 to rebuild the original characters.

  1. Switch the Base100 Encoder / Decoder to the Base100 to text direction.
  2. Paste the symbol stream you want to reverse. Keep the order identical to the original output.
  3. Run the decoder. Each recognized emoji contributes one byte, and the byte sequence is validated as UTF-8.
  4. If the tool reports an invalid symbol, find the offending emoji and remove it. Common culprits are variation selectors (such as the invisible U+FE0F), zero-width joiners, or a stray space that was added during copy-paste.
  5. Read or copy the decoded UTF-8 text once the stream passes validation.

Strict rejection is a feature, not a limitation. A silent replacement would let a corrupted stream masquerade as valid text and hide bugs; an error message tells you exactly where the stream was altered so you can fix it at the source.

Common Reasons a Base100 Stream Will Not Decode

Most decode failures come from a small set of well-known causes. The first is variant emoji sequences: many chat clients and keyboards add an invisible variation selector after an emoji to force a colored presentation, and that selector is not part of the Base100 alphabet. The second is copy-paste whitespace — a stray space, tab, or newline inserted between symbols — which the decoder will flag as invalid. The third is a mixed stream, where some symbols come from the Base100 set and others come from a visually similar emoji that is not in the mapping.

A fourth, rarer cause is partial truncation. If even a single emoji at the end of the stream is missing, the byte count no longer matches a valid UTF-8 sequence, and the decoder will reject the final byte group. The fix in each case is to go back to the source — re-encode the original text if necessary — rather than to patch the stream by hand, because manual edits are easy to get wrong.

ScenarioWhat to do
Variation selector appended to a symbolRe-copy from the encoder output, or strip U+FE0F in a text editor before decoding
Spaces or line breaks inserted between symbolsPaste into a plain-text field and remove all whitespace, then decode
Visually similar but wrong emojiRe-encode the original text from the source file
Truncated or missing final emojiRecover the full stream from the encoder and retry

Base100 Compared With Other Byte-to-Text Encodings

Base100 sits in the same family as Base64, Base32, and Base58, but it trades compactness for visual flair. Each of those encodings turns every byte or group of bytes into a fixed alphabet of printable ASCII characters; Base100 turns every single byte into a single emoji. The emoji alphabet is much larger than 64 or 58, which is why one emoji per byte is possible, but emojis are also visually wider than ASCII characters, so a Base100 string takes up more horizontal space on screen than the equivalent Base64 output.

EncodingBytes per symbolOutput alphabetBest fit
Base643 bytes → 4 symbolsA–Z, a–z, 0–9, +, /Compact transport of binary data in text-only channels
Base325 bytes → 8 symbolsA–Z, 2–7Case-insensitive, human-typed identifiers
Base58~1 byte → ~1.37 symbolsBitcoin alphabetShort, copy-friendly IDs without look-alike characters
Base1001 byte → 1 symbol256 emojiVisually distinctive reversible display of byte streams

If you need a compact, transport-safe encoding, Base64 Encode / Decode remains the standard choice and works natively with full UTF-8. For a Bitcoin-style short identifier, Base58 Encode / Decode is the better tool. Base100 is the option to reach for when the goal is to make a byte stream visually unmistakable — for example, to mark a string as "do not edit" in a comment or to embed a recognizable fingerprint in a chat reply. Related reading on the site covers turning a Base64 string back into an image and decoding Base58 strings in one click if you want to compare workflows.

Limitations and Honest Expectations

It is worth stating plainly: Base100 is a reversible display transformation, not compression and not security. An encoded emoji stream is roughly the same length in characters as the original text in bytes, but each character is wider on screen, so the visible line length grows. Anyone who knows the Base100 alphabet can decode a stream by hand or with a small script, so it should never be used to hide a secret — for that, look at AES Encryption Online, which provides real confidentiality with a password-derived key.

Base100 also assumes that the underlying text is well-formed UTF-8. The tool will refuse to decode a stream that contains invalid UTF-8 bytes rather than silently replacing them, which keeps the round-trip clean but means you cannot use Base100 to repair a corrupted file. If you need to inspect or fix raw bytes, start with a dedicated Hex to Text Converter and only convert to Base100 once the bytes are known to be valid.

Putting It Together

The shortest workflow is: encode with the Base100 Encoder / Decoder in the "Text to Base100" direction, copy the unmodified emoji stream, paste it wherever it needs to live, and reverse it later in the "Base100 to text" direction. If decoding fails, the cause is almost always an extra invisible character, a stray space, or a missing final symbol — and the tool will point at the exact position so you can correct it. Used this way, Base100 is a lightweight, reversible way to dress up a byte stream in emoji while keeping every byte recoverable.

If you're weighing options, Translate Morse Code Audio to Text in Your Browser covers this in detail.