All processing happens locally in your browser. No data leaves your device.
How it works
This page implements Base64 encode/decode using typed arrays (Uint8Array) and custom helpers. URL-safe mode swaps +// with -/_. Optional padding = can be kept or removed. Encoded output can be wrapped at fixed column widths.
Text is converted to bytes with TextEncoder (UTF-8). For non-UTF-8 encodings, browsers typically support decoding via TextDecoder, but encoding to those legacy charsets is not widely supported. When you select a non-UTF-8 charset for encoding, this tool falls back to UTF-8 and shows a warning.
Large inputs are processed in chunks and progress indicators keep the UI responsive. Accessibility features include labeled controls, ARIA live regions for status, and keyboard shortcuts: Ctrl/Cmd+Enter run, Ctrl/Cmd+L toggle live mode, Ctrl/Cmd+Shift+S download output.