Base64 is a binary-to-text encoding scheme that represents binary data as a string of printable ASCII characters. It works by taking groups of three bytes (24 bits) and splitting them into four 6-bit values, each mapped to one of 64 characters: A–Z, a–z, 0–9, +, and /. The = character pads the output when the input length is not a multiple of three. Base64 is widely used in email attachments (MIME), data URIs in HTML and CSS, JSON Web Tokens (JWT), and anywhere binary data must pass through text-only channels. It increases data size by roughly 33%, which is the trade-off for universal text compatibility.
To encode text to Base64 on freebase64.app, make sure "Encode" mode is selected at the top and type or paste your text into the Input field on the left. The Base64-encoded output appears instantly in the Output field on the right as you type — no button click is required. The tool correctly handles Unicode characters including emoji, accented letters, and CJK characters by first encoding the text as UTF-8 before applying Base64 conversion. You can choose between standard Base64 and URL-safe Base64 using the pills above the text areas. Copy the result with one click or download it as a .txt file.
Switch to "Decode" mode using the toggle at the top of the page, then paste your Base64 string into the Input field. The decoded plain text appears instantly in the Output field. If your input contains invalid Base64 characters, the input field will show a red border with an error message so you can fix the string. freebase64.app automatically detects whether you are pasting standard or URL-safe Base64 based on your selected encoding option. For URL-safe strings that use - and _ instead of + and /, select the "URL-safe Base64" pill before decoding. All decoding runs entirely in your browser — nothing is sent to any server.
Yes. Click the "File Mode" toggle below the text areas to switch from text input to file input. In File Mode with Encode selected, you can drag and drop any file onto the drop zone or click to select a file from your device. The tool reads the file using the browser’s FileReader API and converts the raw bytes to a Base64 string displayed in the Output field. You can toggle "Include data URI prefix" to get a complete data URI (like data:image/png;base64,...) ready to paste into HTML or CSS. File info including name, size, and MIME type is shown below the drop zone. Files up to 50 MB are supported.
URL-safe Base64 is a variant of standard Base64 designed for use in URLs, filenames, and other contexts where the + and / characters would cause problems. It replaces + with - (hyphen) and / with _ (underscore), and removes the trailing = padding characters. This avoids the need for percent-encoding when embedding Base64 data in query strings or path segments. URL-safe Base64 is commonly used in JSON Web Tokens (JWT), OAuth tokens, and API parameters. On freebase64.app, select the "URL-safe Base64" pill to encode or decode using this variant. The conversion is fully reversible — the tool re-adds padding automatically when decoding.
Yes, freebase64.app is completely free to use with no limits, no accounts, and no ads. All Base64 encoding and decoding happens directly in your browser.
No. All processing happens entirely in your browser using JavaScript. Your text and files never leave your device. There is no server-side component — freebase64.app is a static web application.
Yes. freebase64.app correctly encodes and decodes Unicode text including emoji, accented characters, CJK characters, and other multi-byte sequences. It encodes text as UTF-8 before applying Base64 conversion, and reverses the process when decoding.
Yes. Switch to File Mode, drop or select any image file (PNG, JPEG, GIF, SVG, WebP, etc.), and it will be converted to a Base64 string. You can optionally include the data URI prefix (data:image/png;base64,...) for direct use in HTML or CSS.
Standard Base64 uses + and / characters with = padding. URL-safe Base64 replaces + with -, / with _, and removes trailing = padding. URL-safe Base64 is used in URLs, filenames, and JWT tokens where standard Base64 characters would need percent-encoding.
Yes. freebase64.app is a Progressive Web App with a service worker that caches all assets. After your first visit, you can use it without an internet connection. You can also install it to your home screen on mobile devices.