Base64 Encoder & Decoder
Move between bytes and text.
Encode text or a file. Decode Base64 into its original bytes, with explicit choices for the alphabet and padding.
Processed on your device · inputs are not savedSource
The browser text editor normalizes line breaks. Choose File to encode exact original bytes.
No file selected.
Result
Review → exportChoose your source and settings, then select Encode or Decode. Your original input stays in place.
Byte preview
The first 256 bytes appear here after conversion.
| Offset | Hexadecimal bytes | ASCII |
|---|
The alphabet changes. The bytes stay exact.
Base64 or Base64url
Standard Base64 uses + and /. Base64url uses - and _. Choose the alphabet used by your application; it is never guessed.
Text is one interpretation
Decoded data can be an image, a document or arbitrary bytes. A UTF-8 preview appears only when valid. Download bytes always includes the original decoded data.
Encoding is reversible
Base64 is not encryption. This tool converts representations; it does not verify a token, signature, file type or source.
Padding and ignored characters
Padding is required by default where needed. Choose Allow missing padding to accept unpadded final groups. Ignoring ASCII whitespace or a leading input BOM requires an explicit choice and is reported. Incorrect padding, characters outside the selected alphabet and nonzero unused bits are rejected.
Limits, previews and complete exports
Text to encode: 2,000,000 UTF-16 units. Files to encode and decoded results: 8 MiB. Base64 input: 12,000,000 text units, or a UTF-8 file up to 12,000,000 bytes. The text preview shows up to 40,000 units; the byte preview shows up to 256 bytes. Copy and download use the complete result. Empty text and zero-byte files are valid.
What stays local?
Inputs and files stay in this tab and are not saved. Conversion runs in a local worker. Cancel or edit the source to discard an old result. Decoded data is never opened, rendered or executed. Related tools open without transferring your input.