How to encode and decode Base64 with UTF-8 text

Convert accents and emoji correctly and distinguish encoding from encryption.

Practical guideUpdated Approx. reading time: 3 min
On this page

Bytes first, then Base64

Base64 represents bytes using letters, digits and a few symbols. Kitavio converts text to UTF-8 bytes first, supporting accents, different scripts and emoji.

Hola encodes as SG9sYQ==. The = sign pads certain outputs; do not remove it when using this standard Base64 tool.

Decode with validation

Choose Decode and paste standard Base64. Formatting whitespace is ignored, but invalid characters, padding or UTF-8 bytes are rejected.

URL-safe Base64 uses other characters and is not the format supported here. Binary files also cannot be displayed as though they were UTF-8 text.

  1. Select encoding or decoding.
  2. Paste the complete text.
  3. Convert and check accents and line breaks.
  4. Copy the result without adding or removing characters.

It does not provide confidentiality

Anyone can reverse Base64. It cannot replace encryption, anonymization or a password; an encoded secret remains readable after decoding.

Conversion is local. If the result goes into a URL, it may also need URL component encoding depending on the receiving system.

Criteria for reviewing and delivering the result

A Unicode trial can use an accented word, emoji and final line break. Encode the exact sequence and decode it again to verify preservation. If another system differs, inspect character encoding and Base64 variant first. Alphabet or padding differences may reflect a format unsupported by this converter rather than a damaged source message. A defined sample helps distinguish those representation issues from accidental truncation during transfer.

Document whether the exchange involves UTF-8 text or binary data. This workflow is for text, not interpreting an arbitrary image or file. Use Image to Base64 for an image Data URL and retain the prefix expected by the destination. Base64 is reversible, so output preserves the sensitivity of the original content despite looking unreadable. Do not publish a real secret as a demonstration. Keep a fictitious reference and verify complete copying. For a string placed in a URL, check the receiving variant and whether component encoding is also required instead of repeatedly applying transformations blindly. The appropriate sequence depends on the destination’s representation rules and should be established before sharing the generated value.

TRY IT YOURSELF

Check a round trip

Encode Hello and copy the result. Switch to Decode and paste SGVsbG8=. Repeat with the Unicode sample to test accents.

You recover Hello exactly. Unicode encoding operates on UTF-8 bytes: an accented letter may use more bytes than an ASCII letter.

Do not remove the = padding from standard Base64. Non-UTF-8 content is rejected; use the image Data URL tool for images.

View tool screenshot
Base64 encoder and decoder example using sample data
Kitavio screenshot in Chrome using the described example. Downloadable files contain fictitious data.