Short answer: choose a file to get a data URI, or paste one to get the file back. Both sizes are shown, so the 33% Base64 overhead is visible rather than implied.
The shape of a data URI
data:[<mime>][;base64],<data>. Everything before the comma is a header; everything after is the payload. A missing or wrong MIME type is the most common failure — the browser gets valid bytes and still refuses to render them, with no error in the console that points at the cause.
Where the size hurts
- HTML is not compressible twice. Gzip shrinks base64 by roughly a quarter, which does not recover the encoding overhead.
- Caching stops working. An inlined asset is re-downloaded with every page that contains it; a separate file is cached once.
- Every byte is in the critical path. An inlined 40 KB image blocks the stylesheet or HTML that carries it.
For a large image, compress first (image compressor) and keep it as a file; use the Base64 encoder when you need the raw payload for something other than a URI.