Base64 Encoder/Decoder

Encode text or files to Base64 and decode Base64 strings.

No signup requiredAlways free to use256-bit secureNever leaves your device

Base64 turns binary data into plain text so it survives places that only handle text — JSON payloads, data URIs, email MIME, auth headers. You usually need it when you are debugging an API response, embedding a small image in CSS, or decoding a token to see what is inside. This runs in your browser, which matters: pasting a real auth token into a server-side tool means handing your credential to someone else.

About Base64 encoding

Base64 encodes binary data as ASCII text using 64 printable characters (A–Z, a–z, 0–9, +, /). Common uses include email attachments (MIME), CSS data URIs (data:image/png;base64,…), HTTP Basic Auth headers, and embedding files in JSON or HTML.

Every 3 bytes of input become 4 Base64 characters — encoded data is roughly 33% larger than the original. Padding characters (=) are added to make the output a multiple of 4 characters.

How to use Base64 Encoder/Decoder

  1. 1

    Paste your text into the box to encode it, or paste a Base64 string and switch to Decode to read it back.

  2. 2

    To encode a file, click 'Encode a file instead' and choose any image, PDF or font — the output is the full Base64 string ready to embed.

  3. 3

    Copy the result. For a data URI, prefix it with the right header, e.g. data:image/png;base64, followed by the encoded text.

Things to know

Base64 is encoding, not encryption

Anyone can decode Base64 instantly — it hides nothing. Never use it to 'protect' a password or secret. It exists to make binary data safe to transport as text, not to keep it private.

Expect files to grow about 33%

Every 3 bytes become 4 characters, so a Base64 string is roughly a third larger than the original. That is why embedding large images as data URIs can bloat a page — it is fine for small icons, wasteful for photos.

UTF-8 vs raw bytes trips people up

The browser's btoa() chokes on characters outside Latin-1, like emoji or accented text, unless they are encoded as UTF-8 bytes first. This tool handles that for you, which is why pasting 'café' or '🚀' here works where a naive btoa() call would throw an error.

Why Criply

Private by default

Client-side tools never upload your files. Server-side tools delete them immediately after processing.

No account needed

Just upload and go. No email, no password, no account — ever.

Works on any device

Fully browser-based. Works on desktop, tablet, and mobile with nothing to install.

Frequently asked questions

Base64 encodes binary data as ASCII text using 64 printable characters (A–Z, a–z, 0–9, +, /). It is used wherever binary data needs to be stored or transmitted as text.

Related tools

Encode any UTF-8 text or binary file to Base64, or decode a Base64 string back to plain text — instantly, in your browser. No signup, no file upload to servers, no size limits for text input.