Filter JSON Files Online
Filter rows in JSON files by column value, directly in your browser. Your data stays on your device.
How to filter JSON files
- Drop your file onto the upload area. It is loaded into the in-browser engine and the first 200 rows are shown.
- Pick the column to test from the Column list. It defaults to the first column in the file.
- Choose an operator: =, !=, >, <, >=, <=, LIKE, IS NULL or IS NOT NULL. Type the comparison value, unless you picked IS NULL or IS NOT NULL.
- Click Apply Filter. The tool shows how many rows match and previews the first 200 of them.
- Click Download to save the matching rows in the same format you uploaded.
Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.
Worked example
A bike-share operator wants to review only the longer trips from one morning's log, meaning rides of 30 minutes or more.
Input (JSON)
[
{
"trip_id": 501,
"start_station": "Harbour St",
"duration_min": 12,
"member": true
},
{
"trip_id": 502,
"start_station": "Park Ave",
"duration_min": 47,
"member": false
},
{
"trip_id": 503,
"start_station": "Harbour St",
"duration_min": 31,
"member": true
},
{
"trip_id": 504,
"start_station": "Mill Rd",
"duration_min": 8,
"member": false
},
{
"trip_id": 505,
"start_station": "Park Ave",
"duration_min": 30,
"member": true
}
]Settings
- Column: duration_min
- Operator: >=
- Value: 30
Result
| trip_id | start_station | duration_min | member |
|---|---|---|---|
| 502 | Park Ave | 47 | false |
| 503 | Harbour St | 31 | true |
| 505 | Park Ave | 30 | true |
duration_min is an integer column, so the value 30 is compared as a number, not as text. Three of five rows match. Trip 505 is kept because >= includes the boundary; with > it would be dropped. Matching rows keep their original order and every column is carried through unchanged.
Working with JSON files
A JSON array of objects is loaded as a table, one column per top-level key. When an object is missing a key, that row gets NULL in the column. IS NULL therefore matches both explicit "key": null values and objects where the key is absent. Strings that look like dates, such as "2026-03-01", are detected as dates, so >= and <= compare them by calendar order. JSON numbers stay numbers, so amount > 100 is a numeric comparison without any cleanup.
JSON true and false become a boolean column; filter it with = and the value true. Nested objects become struct columns and cannot be tested field by field here. Flatten first if you need to filter on user.plan or similar. The result is written as a pretty-printed JSON array. Every object carries every column, and a key that was missing in the input appears as null. Arrays inside objects are carried through as lists and are not expanded into extra rows.
Frequently Asked Questions
Why do my filtered JSON objects now have keys that were not there before?
The file is loaded as a table with one column per key found anywhere in the array. When it is written back, every object gets every column, and keys that were missing come out as null.
Can I filter JSON on a value inside a nested object?
Not with this tool. The column list shows top-level keys only. Run Flatten JSON first so nested keys become their own columns, then filter.
Can I combine several conditions, such as region = "EU" and amount > 100?
Not in one pass. The tool applies a single condition. Download the result and filter it again for the next condition, which gives the same result as AND. For OR logic or several conditions at once, use the SQL Query tool.
How does the LIKE operator work?
LIKE matches a pattern. % stands for any run of characters and _ for exactly one, so Park% matches every value starting with "Park". Without a wildcard, LIKE behaves like =. The match is case-sensitive.
Does filtering change the original file?
No. Your file is read in the browser and never modified. The matching rows are written to a new file that you download.
Related Tools
Sort JSON Files Online
Sort JSON files by any column, ascending or descending, directly in your browser.
Count Values in JSON Files Online
Group and count rows by any column in JSON files directly in your browser. Sort by frequency or value to find the most common entries — no upload required.
Aggregate JSON Files Online
Group and aggregate JSON files by any column directly in your browser. Calculate sum, average, min, max, and count for any numeric column — no upload required.
Filter CSV Files Online
Filter rows in CSV files by column value, directly in your browser. Your data stays on your device.
Filter Excel Files Online
Filter rows in Excel files by column value, directly in your browser. Your data stays on your device.
Filter Parquet Files Online
Filter rows in Parquet files by column value, directly in your browser. Your data stays on your device.
JSON Viewer Online
View and inspect JSON files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert JSON to Parquet Online
Convert JSON files to Parquet format directly in your browser. No upload required — your data never leaves your device.