Extract Base64 Files from JSON

Paste the whole API response instead of picking strings out by hand. The tool walks the JSON, finds every Base64 payload, matches it with its file name, and hands you each file separately โ€” including when the response was copied incompletely.

b64file โ€” converter ยท local

Processed as you paste โ€” no button to press (Ctrl+Enter converts now / Esc clears)

Paste, drag and drop, or Ctrl+V a screenshot

[01]

When this is what you need

A single API call often returns several attachments at once: a claim bundle with a form, an ID scan and a receipt; a report with a spreadsheet and a chart image. Copying one Base64 string at a time out of that JSON is tedious and error-prone, and the file names are lost along the way.

[{ "fileCode": "TD0101", "fileName": "report.pdf", "fileContent": "JVBERi..." }, ...]
[02]

Supported structures

  • Arrays of objects with a file name field alongside the content field
  • Nested objects โ€” the tool walks every level rather than only the top
  • Property names in any casing โ€” fileContent, file_content, content, base64, data
[03]

Different from decoding a single Base64 string

Plain decoding restores one file and has to guess the name. This mode treats the JSON as a container: it keeps each payload paired with its own fileName, so ten attachments come out as ten correctly named files. If the JSON is malformed โ€” a copy that stopped mid-object โ€” the tool still scans for Base64 shaped strings and recovers what it can.

Frequently asked questions

Can it still extract when the JSON will not parse?

Yes. If a complete parse fails, the tool falls back to scanning for Base64-shaped strings and recovers those, then tells you that the source was incomplete so you know to grab a fresh copy.

Where do the file names come from?

From the name field next to each payload in the JSON. When there is none, the detected type from the file header is used to build a sensible name.

How many files can it extract at once?

There is no fixed limit โ€” every Base64 payload in the response is extracted. The only ceiling is the overall input size of 100 MB.

Related tools and guides