Encode text or files to Base64 and decode Base64 strings.
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.
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.
Paste your text into the box to encode it, or paste a Base64 string and switch to Decode to read it back.
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.
Copy the result. For a data URI, prefix it with the right header, e.g. data:image/png;base64, followed by the encoded text.
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.
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.
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.
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.