Base64 Encoder / Decoder
Encode any text or file to Base64, or decode a Base64 string back to its original form. Useful for embedding images in CSS, signing JWTs by hand, building data URIs, or transmitting binary data through plain-text channels (email, JSON, form fields). UTF-8 safe and works fully offline.
How to use
- 1
Paste text or upload a file
Drop text into the editor or pick a file to encode. Files up to 100 MB are supported.
- 2
Pick direction and variant
Encode or decode; standard or URL-safe Base64.
- 3
Copy or download
Click Copy for text or Download for binary output.
Technical details
Base64 is a binary-to-text encoding scheme that represents binary data in an ASCII string using a 64-character alphabet (A–Z, a–z, 0–9, + and /). Each three input bytes produce four output characters, which makes Base64 ~33% larger than the original. It is the standard way to embed binary content in formats that only allow text.
For text input, the tool encodes the UTF-8 bytes of the string. For files, it reads the binary content with the FileReader API and outputs the raw Base64 representation. URL-safe Base64 (replacing `+/` with `-_` and dropping padding) is available for JWT, OAuth and JWS use cases.
Decoding accepts both standard and URL-safe Base64 and auto-detects padding. If the input is not valid Base64, the tool highlights the offending character instead of silently producing garbage.
Base64 should never be considered encryption: it is a perfectly reversible encoding that anyone can decode without a key. To protect data, encrypt with AES-GCM and Base64 the ciphertext.
Frequently asked questions
Is Base64 encryption?
Why is the result 33% larger?
Can I encode files?
What is URL-safe Base64?
Are my files uploaded?
This tool was tested and calibrated by our engineering team. All processing happens locally in your browser — your files and data never leave your device.