SmartQueryTools

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

  1. Drop your file onto the upload area. It is loaded into the in-browser engine and the first 200 rows are shown.
  2. Pick the column to test from the Column list. It defaults to the first column in the file.
  3. Choose an operator: =, !=, >, <, >=, <=, LIKE, IS NULL or IS NOT NULL. Type the comparison value, unless you picked IS NULL or IS NOT NULL.
  4. Click Apply Filter. The tool shows how many rows match and previews the first 200 of them.
  5. 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_idstart_stationduration_minmember
502Park Ave47false
503Harbour St31true
505Park Ave30true

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