File to Base64 Converter

Choose any file below and it is read and encoded to a Base64 data URI right here in your browser — nothing is uploaded anywhere.

How it works

Choosing a file reads it with FileReader.readAsDataURL, the same local, in-memory read every upload on this site uses — nothing about the file, not even its name, leaves this tab. The result is a data:<mime-type>;base64,<data> string: the MIME type your browser detected from the file, followed by the file's own bytes re-encoded as Base64 text.

Frequently asked questions

Does my file get uploaded anywhere?

No. The file is read with the browser's FileReader API, which is a local, in-memory read — the exact same guarantee every other upload-enabled tool on this site relies on. Nothing is sent to a server; the whole conversion happens in this tab.

What is a data URI actually for?

It lets a small file — an icon, a font, a tiny image — be embedded directly inside HTML, CSS or JSON as text, instead of being a separate file the browser has to fetch with its own network request. That is handy for a handful of small assets; it is a poor fit for anything large, since base64 text is roughly a third bigger than the original bytes.

Why is there a file size limit?

It keeps the tab from choking on something huge. Reading a file this way holds its entire contents in memory as a base64 string, and a multi-hundred-megabyte video or archive would make the page unresponsive for no benefit — this tool is meant for the small assets a data URI actually suits.