FileToolHub

Encode and decode Base64 online

83tools, all free
Nosignup, ever
Nothingadded to your file

How it works

  1. Paste your input

    Type it or paste it in. It never leaves this tab.

  2. Encode or decode

    Switch direction in one tap; the result follows as you type.

  3. Copy the result

    Straight to your clipboard. No signup and no limit on how often.

Need something else?

Base64 shows up everywhere — API tokens, data URIs, email attachments. Switch between encode and decode mode, paste your text, and see the result instantly. This tool correctly handles Unicode text (emoji, non-Latin scripts), unlike naive btoa/atob usage, by encoding through UTF-8 bytes first. Everything runs in your browser; nothing you paste is sent anywhere.

What Base64 is for

Base64 represents binary data using only 64 safe text characters, which lets it travel through systems that expect text — email bodies, JSON fields, data URIs embedded in CSS, HTTP headers. It is an encoding, not encryption: anyone can decode it instantly, and it provides no security whatsoever. Base64 in a URL or a token is there to make binary data survive transport, not to hide it.

Unicode handled correctly

The browser's built-in btoa function fails outright on characters above the basic Latin range, which is why so many Base64 tools mangle emoji, Devanagari, and accented text. This tool encodes through UTF-8 bytes first, so any text round-trips exactly — encode 'नमस्ते 🎉' and decoding returns it unchanged rather than throwing an error or producing replacement characters.

The size cost

Base64 expands data by roughly a third, because it stores three bytes of input in four characters of output. That is worth knowing when embedding images as data URIs: a 100KB image becomes about 133KB of text in your HTML or CSS, and unlike a linked file it cannot be cached separately by the browser. Data URIs suit small icons; for anything substantial, a normal file reference is faster.

Frequently asked questions

Does this handle non-English text and emoji?

Yes, text is encoded as UTF-8 bytes before base64 encoding, so accented characters, non-Latin scripts, and emoji round-trip correctly.

What happens if I paste invalid Base64 in decode mode?

You'll see a clear error instead of garbled output or a crash.

Is my text sent anywhere?

No, encoding and decoding happen locally in your browser using JavaScript. Nothing is transmitted.

Is Base64 a form of encryption?

No, and treating it as one is a genuine security mistake. It is trivially reversible by anyone — it exists to make binary data survive text-only channels.

Why did another tool break my emoji?

Most use btoa directly, which cannot handle characters outside Latin-1. Encoding via UTF-8 bytes first, as this tool does, handles any text.