Reshape

Filter JSON array objects by conditions, numeric thresholds, or text matches

Filter JSON array records based on conditional criteria, status flags, or numeric thresholds.

🛡️ Your rows never leave your browser.
Why Onfyt: Combines visual filter building with high-speed in-memory evaluation so you can query JSON without learning jq syntax.

Interactive Sample Data

idcustomerstatusspent
101Grace Keruboactive1500
102Peter Njorogeinactive250
103Mercy Akinyiactive3200

How this tool works

Modern microservice endpoints and public APIs frequently return monolithic JSON arrays containing thousands of items. In most data analysis and reporting tasks, however, you only care about a specific slice: active subscribers, transactions greater than $100, orders shipped to a specific country, or error logs originating from a specific service. Filtering large JSON payloads in text editors by manual deletion is impossible for arrays with thousands of records. Setting up Python scripts or command-line pipelines can be cumbersome when you just need a filtered file quickly for an ad-hoc report. DataFix provides an intuitive visual filter builder for JSON arrays. You can filter by any property using standard comparison operators: equals, not equals, greater than, less than, contains text, starts with, or matches regex. Multiple rules can be combined using AND / OR logic. The filtered subset is rendered directly, validated for syntax, and ready for immediate download. Filtering large JSON datasets allows developers to extract specific cohorts without writing custom script utilities. DataFix provides flexible predicate filtering across JSON object properties, allowing filtering by equality, numeric thresholds, array containment, and regex matching.

Things that usually go wrong

  • String comparisons are exact and case-sensitive — use .toLowerCase() for case-insensitive matching.
  • Nested fields require dot notation: user.address.city == 'Nairobi'.

Edge cases we tested

🧪 Filtering on numeric values stored as strings ('"150"' > 100)

Evaluated numerically without string coercion errors.

🧪 Nested property paths ('user.subscription.status')

Traversed cleanly to filter on deeply nested attributes.

🧪 Objects missing the filter property entirely

Safely evaluated as false without throwing null pointer exceptions.

Frequently Asked Questions

What operators are supported?

==, !=, >, <, >=, <=, .includes(), .startsWith(), .endsWith(), and JavaScript logical operators (&&, ||, !).

Can I filter by multiple conditions?

Yes — combine with && (and) or || (or): status == 'active' && price > 100.

Can I filter by checking if an array field contains a specific value?

Yes — use: tags.includes('finance') to keep only objects where the tags array contains the string 'finance'.

Can I combine multiple conditions with parentheses for precedence?

Yes — full JavaScript expression syntax is supported: (status == 'active' || status == 'pending') && amount > 100.

Related tools

Reshape

Transpose CSV

Flip a CSV matrix by turning rows into columns and columns into rows.

Open Tool →
Reshape

Pivot a CSV

Summarise long-format CSV data into pivot tables grouped by row and column keys.

Open Tool →
Reshape

Group By and Count

Aggregate CSV rows by one or more group-by columns with count, sum, mean, min, or max.

Open Tool →