Developer tools

Base64 encoder and decoder

Encode UTF-8 text or files to Base64 and decode standard or URL-safe Base64 into text or exact binary downloads. Private, local processing with recoverable inputs.

Convert locally. Switching workflows keeps your inputs.

UTF-8 text, up to 1 MiB. Editor line breaks use LF. Choose File → Base64 to preserve original file bytes, including line endings.

Alphabet and padding

Keep padding unless the destination explicitly accepts unpadded Base64. Output has no added line breaks.

Choose a workflow, add your input, and convert when ready.

Text, files and binary results

Text → Base64 first encodes your text as UTF-8, including Tamil, emoji and other Unicode characters. File → Base64 preserves every original byte. Base64 → text or file accepts the standard alphabet, the URL-safe alphabet, or an inline data URL with a Base64 payload. It does not fetch URLs or render the decoded contents.

Decoded text is shown only when the complete byte sequence is valid UTF-8. Binary data stays available as an exact download, with a hexadecimal preview. Text containing control characters opens in byte view; you can switch to text. A UTF-8 byte-order mark is retained in decoded bytes. Browser editor or manual-copy line endings may differ, so use the file download when byte-for-byte fidelity matters.

Choose the right variant

Standard Base64 uses + and /, while URL-safe Base64 uses - and _. Padding uses one or two final = characters when required. Encoding includes padding by default and never adds line wrapping. Decoding allows omitted padding and ASCII whitespace by default; turn those allowances off for stricter input. Unsupported characters, mixed alphabets and non-canonical padding bits produce a correction message rather than silently changing the data.

For example, the UTF-8 text foo becomes Zm9v, and f becomes Zg==. Empty input represents zero bytes and is valid. Base64 is an encoding, not encryption or compression; it usually makes binary data about one third larger.

Complete downloads and recoverable inputs

Large results show a clearly labelled preview: up to 32,768 text characters or 256 hexadecimal bytes. Copy uses the complete Base64 or UTF-8 text; Download includes the entire result. Binary data is downloaded without converting it through text. If clipboard access is unavailable, download the complete result instead of relying on a shortened preview.

Workflow changes retain inputs. Example, file replacement, clear, large paste and reverse conversion provide one Undo replacement for the inputs, conversion options and decoded filename, retained across option changes. Ordinary typing clears that history. Reverse conversion uses decoded bytes as a file to avoid newline or binary-data loss. It retains a known filename and accepts padding omitted by this encoder; Undo restores your previous decoding allowances. Invalid file selections preserve useful work. Changed inputs cancel old processing and hide stale results.

Privacy and limits

Processing runs locally in a cancellable worker, without uploads or automatic storage. Text encoding is limited to 1 MiB of UTF-8, file encoding and decoded output to 5 MiB, and Base64 input to 8 MiB including allowed whitespace. Reading and conversion have ten-second deadlines. All files remain on your device until you explicitly download a result.

The codec follows the alphabet and padding rules in RFC 4648, with the explicitly selected decoding allowances above. For image-specific data URLs and HTML/CSS snippets, use the image-to-Base64 converter.