What This Tool Does
JSON Cleaner parses pasted or uploaded JSON, applies the cleanup rules you select, and serializes the result for review, copying, or export. It keeps JSON types and nesting style, but removal and deduplication options can change object properties, array items, and nested container counts.
Paste JSON text, or drop in a file. When enabled, Strip JSONC comments & trailing commas preprocesses the text before parsing. The tool then walks the parsed value recursively and applies the selected rules. Use it with valid JSON, or JSONC that becomes parseable after preprocessing.
Cleanup Options
Trim string values removes leading and trailing whitespace from strings recursively. Remove null values, Remove empty strings ( "" ), Remove empty arrays ( [] ), and Remove empty objects ( {} ) are independent options. Removal can affect object properties, array items, and nested containers, but it does not remove the root JSON value itself. A root null, empty string, empty array, or empty object remains.
Trim string values and Remove null values are checked by default. The other cleanup options, including JSONC stripping, start unchecked.
Sorting and Array Deduplication
Sort object keys (recursively, A-Z) sorts keys in every object. Its summary count includes every object processed when sorting is enabled, even if an object's order was already sorted. Deduplicate array items cleans items first, then compares their JSON-stringified representations within each array. It keeps the first matching representation and removes later matches. Object key order can affect duplicate detection when sorting is disabled. Other array order is preserved.
JSONC Preprocessing
Enable Strip JSONC comments & trailing commas to remove // line comments, /* block comments */, and trailing commas before } or ] before JSON.parse. Comment markers inside quoted strings are handled as string content by the scanner. The trailing-comma cleanup is a global preprocessing step, and the result is parsed and reserialized JSON, not a byte-for-byte copy of the source.
Input Files and Large-File Display
Use Drop a JSON or JSONC file here, browse files, or Paste JSON content below. The file picker accepts JSON, JSONC, TXT and reads files as UTF-8 text. If a file exceeds 200,000 characters, the textarea shows a truncated preview, while the full file remains available for processing. The implementation does not define a general processing-size limit.
Output Formatting and Preview
Choose Output indentation: 2 spaces, 4 spaces, Tab, or Compact (no whitespace). Before shows the parsed input normalized with two-space indentation; it is not the original raw text. After shows the cleaned serialization using your selected indentation. JSONC comments and trailing commas are therefore absent from the parsed preview when preprocessing is enabled.
The change summary reports trimmed strings, removed nulls and empty values, removed duplicate array items, sorted objects, and total changes. Select Copy Cleaned JSON to use browser clipboard access; copying can fail if that access is unavailable. Select Export JSON to download cleaned-data.json.
How to Use the JSON Cleaner
- Add your JSON: Paste content into Paste JSON content below, or drop/upload a supported file.
- Choose your rules: Review the default checks, select any cleanup options, and choose Output indentation.
- Processing starts automatically after you add JSON or change a cleanup option.
- Review: Check the change summary and the Before / After preview.
- Use the result: Select Copy Cleaned JSON or Export JSON.
Limitations and Privacy
Parse failures show the browser's JSON.parse error message. The tool does not provide detailed syntax-location diagnostics, repair broken JSON, validate beyond parsing, flatten nested objects, convert formats, or compare two documents. Use a JSON Validator, flattening tool, converter, or JSON diff tool for those tasks.
The parsing, cleaning, copying, and export logic for the JSON content runs in browser JavaScript. The page also loads analytics scripts and the shared footer records page views server-side, so this does not establish that all page activity stays on the device. No general processing-size limit is defined here.
Frequently Asked Questions
How is this different from the JSON Validator?
The JSON Validator checks whether your JSON is syntactically correct and helps you locate errors. This tool assumes your JSON is already valid (or becomes valid once comments are stripped) and cleans the data inside it - trimming, removing nulls/empties, sorting keys, deduplicating arrays. It does not diagnose or repair broken syntax.
Does this change the shape of my JSON?
It keeps JSON as objects, arrays, and scalar values without flattening or converting the format, but enabled cleanup rules can remove object properties, array items, and nested empty containers. Removal rules do not remove the root JSON value itself.
What counts as an "empty" value?
You choose which categories to remove: null values, empty strings (""), empty arrays ([]), and empty objects ({}). Each is a separate checkbox. These rules remove matching values inside objects and arrays, but do not remove the root value itself.
How does array deduplication work?
Items within the same array are cleaned first, then compared using their JSON-stringified representation. The first matching representation is kept and later matches are dropped. Object key order can affect matching when key sorting is disabled; order is otherwise preserved.
What are JSONC-style comments?
Standard JSON has no comment syntax, but JSONC can include // line comments, /* block comments */, and trailing commas before } or ]. Enable Strip JSONC comments & trailing commas to preprocess them before parsing. The result is parsed and reserialized JSON, not a byte-for-byte copy of the source.