JSON · Free · On-device

Corrupt a JSON File Online

Corrupt a .json file online for free. Breaks bracket structure and injects invalid UTF-8 so every JSON parser rejects the file.

  • No upload
  • No size limit
  • No sign-up

Corrupt your JSON file

Tuned for .json, .jsonl, .geojson, and works with every other format too.

100% on-device
Drop files here or browse Any format, any size, multiple files at once
Corruption level

Working…0%
Ready to download

Why JSON files are hard to corrupt properly

JSON has no header and no index. It is validated purely by grammar. That makes it easy to break and hard to break convincingly: replacing characters at random often produces something a lenient parser still accepts, or something so obviously mangled it reads as a text edit rather than corruption.

What this tool destroys

  • Structural characters. Braces, brackets, commas and quotes are overwritten, so the document can no longer be balanced.
  • Invalid UTF-8. Byte sequences that are not valid UTF-8 are injected, which fails at the decoding stage before parsing even begins.
  • The opening bytes. The start of the document is destroyed, so streaming parsers fail on the very first token.
  • The tail. The closing bytes are replaced, leaving the document permanently unterminated.

What you will see afterwards

ApplicationBehaviour
JSON.parse()Throws SyntaxError: Unexpected token immediately.
Python json.load()Raises JSONDecodeError or UnicodeDecodeError.
jq"parse error: Invalid numeric literal" and a non-zero exit code.
Postman / API clientsReject the body as malformed before sending.

Common reasons people do this

  • Testing that an API rejects a malformed request body with a clean 400 rather than a 500.
  • Verifying a config loader fails fast instead of running with partial settings.
  • Building malformed fixtures for a parser fuzzing corpus.
  • Checking that a data import job reports the failing file rather than dropping records silently.

How to corrupt a JSON file

  1. Drop your .json file onto the box above, or click to browse.
  2. Leave the level on Standard unless you want partial damage (Light) or need to defeat recovery software (Heavy).
  3. Press Corrupt file. Processing happens on your device, so it finishes almost immediately.
  4. Download the result. It keeps the original filename and byte length by default.

JSON FAQ

Why not just delete a closing brace?

Because that is a hand edit, not corruption. It is trivially spotted and trivially fixed. Injecting invalid UTF-8 alongside structural damage makes the file fail at the byte level, the way a truncated transfer actually fails.

Will a lenient parser still read it?

No. At Standard level the file is not valid UTF-8, so even parsers that tolerate trailing commas or comments fail before they reach the grammar.

Does it work on JSON Lines and NDJSON?

Yes. Line-delimited formats use the same text profile, and the injected bytes break individual records as well as the file as a whole.

Can I get a file that is only slightly broken?

Yes. Light level touches roughly 0.5% of the payload, which usually produces a file that fails at one specific offset rather than everywhere.

Use this responsibly. Files Corrupter is built for software testing, QA, research, training and education. Submitting a deliberately corrupted file to misrepresent completed work may breach your school or employer policy. You are responsible for how you use the output. See our disclaimer.

More code & data tools

All corrupter tools