File to Base64.
Drop any file and get its Base64, ready for a data URL or a JSON field. The bytes are encoded in your browser, so a 10 MB image takes a moment and never leaves your machine.
File to Base64.
Need the UI around it? With Pro, your AI agent builds the form, the result card and the rest of the page from a prompt.
Get ProHow it works
3 steps, no account. It runs in your browser and nothing is uploaded.
Drop a file
Drop any file onto the input or choose one with the button; it is read on your machine.
Read the result
The bytes are encoded as Base64 and the result shows how much larger the text is.
Copy or download
Copy the Base64 into your code or config, or download it as a text file.
Related tools
More encoders and decoders. Every one free, in the browser.
Pricing
Build it with Pro
The tool is free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds the product around it.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
Questions and answers
Before you trust the result: what to know about the format, the limits, your data and the tools next to it.
Base64 writes binary data with 64 printable characters: A to Z, a to z, 0 to 9, + and /, with = as padding. It dates from the PEM mail standard of 1987, was fixed in MIME in 1993 and is specified in RFC 4648. It exists so that bytes can travel through systems built for text, such as email and JSON.
Three bytes are 24 bits, split into four groups of six bits, each written as one of the 64 characters. The output is a third larger than the input. When the input isn't a multiple of three bytes, the last group is padded with one or two = characters so the length is a multiple of four.
Email attachments (MIME), data URLs in HTML and CSS, JSON Web Tokens, HTTP Basic authentication headers, images inlined in stylesheets, binary fields in JSON and XML, and the SSH and PEM key files on every developer's machine.
Not the standard alphabet: + and / have meanings in a URL and = is reserved, so they have to be percent-encoded. The URL-safe variant from RFC 4648 §5 swaps them for - and _ and usually drops the padding; JWTs and most web APIs use it. The encoder here offers both.
It is the default for a reason: a third larger than the bytes, where hex doubles them and Base85 adds a quarter; built into every language and browser (btoa, atob, Buffer); and understood by every protocol. Pick Base32 when case can't be trusted, Base58 for things people copy by hand, Base85 only where PDF or PostScript asks for it.
No. Base64 is an encoding, not encryption: it changes how bytes are written, not who can read them, and anyone can decode it with no key. Encrypt first (AES, age, a library's sealed box) when the content needs protecting, then encode the ciphertext if it has to travel as text.
Drop the file onto the input or choose it with the button. Its bytes are encoded in your browser and the Base64 appears in the result pane, with the size it grew to. Copy it, or download it as a text file.
Any file the browser can hold in memory works; a few hundred megabytes is fine, and the result is a third larger.
Whatever needs the bytes as text: a data URL (`data:image/png;base64,…`), a JSON field, an email attachment or a config value. Base64 is safe in a URL only in its URL-safe variant, and it is a third larger than the file, so it is for carrying bytes through text, not for storing them.
Nothing leaves your browser. The file is read into memory on your machine and the encoding is computed there, in plain JavaScript; the page makes no request with it. Load the page, go offline and it keeps working.
No. The "File to Base64" tool is free and opens without a sign-in, an account or an install.
Nothing. The "File to Base64" tool holds your input in the page's memory, so closing or reloading the tab clears it, and it saves nothing in this browser.
Any file the browser can open. The bytes are read in your browser and encoded as Base64; the result can be copied or downloaded as base64-encoded.txt.
Base64 output is 4 characters for every 3 bytes, so about a third longer, and the status line under the result shows the bytes in, the characters out and the percentage.
Use the Base64 to file page: it decodes Base64 back to the original bytes, and names the download after the file type it recognises.
Yes, the same choices as the text encoder: Alphabet, standard (+ and /, padded with =) or URL-safe (- and _, no padding).
Closest to the "File to Base64" tool: Base64 to file, Base64 encoder, Base64 decoder, File to Base32. Each opens on its own page, free and in the browser.
The "File to Base64" tool is one of 32 in its group. The group's page, /tools/encoding, lists them all.
The tool is free. Its interface is built from shadcn.io's own components (Button, Input, Slider and the rest of the registry under /ui), which come in React, Vue, Svelte and Solid. Pro adds the blocks and templates for the product around it.
4.9 out of 5 from 150+ developers
Build the product around it
Every block, template and icon, installed by your AI agent in your theme. The tools stay free.
Get Pro





