In1.

Base64 encoder and decoder

Convert text to Base64 or decode Base64 back to readable text in one click. Accents, emoji and any other Unicode characters are handled correctly thanks to proper UTF-8 encoding. Everything runs locally in your browser.

Loading tool…
All Web tools

How to use Base64 Encoder / Decoder

  1. 1

    Choose a mode

    Pick Encode to turn text into Base64, or Decode to turn Base64 back into text.

  2. 2

    Enter your text

    Type or paste the text or Base64 string you want to convert.

  3. 3

    Get the result instantly

    The converted output appears right away, with full UTF-8 support for accents and emoji.

  4. 4

    Copy the output

    Copy the result with one click and use it wherever you need it.

What Base64 is and why it exists

Base64 is a way of representing binary or text data using only 64 safe, printable ASCII characters. It exists because many systems were built to move plain text reliably but can corrupt or misinterpret raw bytes — think email bodies, URLs, JSON fields, HTML attributes and HTTP headers. By translating data into a compact, text-only alphabet, Base64 lets you embed images, fonts, tokens or arbitrary text inside those text-only channels without anything getting mangled in transit. It does not encrypt or compress — the goal is safe, lossless transport — but it is one of the most common encodings you will meet when working with the web. The name comes from the size of its alphabet: the uppercase and lowercase letters, the digits zero through nine, and two extra symbols, plus a padding character. Every three bytes of input become four Base64 characters, which is why an encoded string is always a bit larger than the original — a deliberate trade of size for safety and compatibility.

Encode and decode in one place

This tool handles both directions. Switch to encode mode and your text is converted into its Base64 representation, ready to paste into a data URI, a config file or an API field. Switch to decode mode and a Base64 string is turned back into the original readable text. A single toggle moves between the two, so you do not need separate tools for each direction. The result appears instantly and can be copied with one click, making it quick to round-trip a value, inspect an encoded token, or prepare data for a system that expects Base64 input. Because the output updates as you type and as you flip modes, it is easy to experiment: paste a suspicious-looking string, switch to decode, and immediately see whether it was Base64 at all. The same convenience helps when you are building a request by hand and need to encode a credential or a small payload without leaving the page.

Full UTF-8 support — accents and emoji included

A surprising number of Base64 tools break the moment you feed them anything beyond plain English, because the naive browser functions only handle a narrow byte range. In1 encodes through the TextEncoder and decodes through the TextDecoder APIs, which means your text is first converted to proper UTF-8 bytes before encoding and reconstructed faithfully on the way back. Accented characters, non-Latin scripts, symbols and emoji all survive the round trip intact. Whether you are encoding Portuguese, Japanese, mathematical symbols or a string full of emoji, what you decode is exactly what you put in. This is more than a nice-to-have: the classic browser shortcut for Base64 throws an error or silently corrupts data when it meets a character outside the basic Latin range, which is exactly the kind of subtle bug that surfaces only in production with real user input. By handling Unicode correctly from the start, this tool gives you results you can trust regardless of the language or symbols involved.

Private by design — nothing leaves your browser

Encoded data often contains things you would rather keep private: access tokens, credentials, snippets of personal information or internal configuration. Because Base64 is trivial to reverse, sending such values to a remote server just to encode or decode them would be careless. In1 performs every conversion locally in your browser, so your text never travels over the network and nothing is stored. There is no account and no logging. You can safely decode a token to inspect its contents or encode a sensitive value, confident that the data stays on your own device the whole time. This point deserves emphasis because Base64 is sometimes mistaken for a security measure, when in reality anyone can decode it in seconds. The only real protection for the data inside an encoded string is to never expose it in the first place — and a local-only tool that keeps your input on your machine is exactly the right way to handle anything sensitive.

Common uses for Base64

Developers run into Base64 constantly. Data URIs embed small images, icons or fonts directly in CSS and HTML as Base64 so they load without a separate request. JSON Web Tokens (JWTs) are made of Base64url-encoded segments that you often want to decode and inspect while debugging an authentication flow. Basic authentication headers, email attachments (MIME), and many API parameters all rely on Base64. It is also handy for safely passing arbitrary text through URLs and query strings, or for storing binary-ish data in places that only accept text, such as certain database columns or environment variables. Whenever you need data to travel through a text-only channel intact, Base64 is the standard answer. Knowing how to quickly encode and decode it by hand is a small but genuinely useful skill — it turns an opaque string in a log or a config file into something you can actually read and reason about. Once you start noticing Base64, you will spot it in dozens of everyday places you previously scrolled right past.

Get more from In1

Higher limits, batch processing and an API are on the way. Want early access?

Frequently asked questions