SmartQueryTools

JSON Tools

79 free JSON tools. All run in your browser, with no uploads and no account.

Convert JSON to another format

Convert other formats to JSON

View, inspect and query JSON files

Clean & fix: JSON

Remove duplicates

Remove duplicate rows from JSON files instantly in your browser. No upload, no server — 100% private.

Fuzzy deduplicate

Find near-duplicate rows in JSON files using Levenshtein edit distance or Jaro-Winkler similarity — all in your browser. Set your own threshold and download the matched pairs as CSV — no upload required.

Trim

Trim leading and trailing whitespace from all text columns in JSON files, directly in your browser. No upload required.

Fill empty values

Fill empty and null values in JSON files with a custom replacement value, directly in your browser.

Coalesce columns

Fill null values in JSON files from other columns — return the first non-null value across up to 8 columns in priority order. Add the result as a new column. Runs entirely in your browser.

Find & replace

Find and replace text values in JSON files directly in your browser. Supports plain text and regex patterns across any column — no upload required.

Convert case

Convert text columns to UPPERCASE, lowercase, or Title Case in JSON files directly in your browser. Apply case conversion to any or all text columns at once — no upload required.

Change column types

Change column data types in JSON files directly in your browser. Cast text to numbers, dates to timestamps, or any supported type conversion — no upload required.

Convert encoding

Detect and convert the character encoding of JSON files directly in your browser. Switch between UTF-8, Latin-1, Windows-1252, and more — no upload required.

Validate emails

Validate email addresses in JSON files directly in your browser. Add a boolean column flagging valid and invalid emails, or filter to show only invalid rows — no upload required.

Validate structure

Validate JSON file structure in your browser. Check null counts, distinct values, and data types for every column — no upload required.

Filter & select: JSON

Filter

Filter rows in JSON files by column value, directly in your browser. Your data stays on your device.

Filter by date range

Filter JSON files to rows within a date range using simple start and end date pickers. See a live match count before you apply the filter — no upload required, runs in your browser.

Search text

Search for text across all string columns in JSON files directly in your browser. Filter rows to only those containing your search term and download the results — no upload required.

Select columns

Drop or select specific columns from JSON files directly in your browser. No upload required.

First N rows

Extract the first N rows from JSON files directly in your browser. Choose how many rows to keep and download the result — no upload required.

Last N rows

Extract the last N rows from JSON files directly in your browser. Choose how many rows to keep and download the result — no upload required.

Sample

Sample rows from JSON files — first N, last N, or random — directly in your browser.

Shuffle

Randomly shuffle the row order of JSON files directly in your browser. Useful for randomising data before sampling or ML train/test splits.

Top N per group

Extract the top N rows per group from JSON files directly in your browser. Get the top 5 products per category, highest scores per team, or any ranked subset — no upload required.

Unique values

Extract all distinct values from any column in JSON files directly in your browser. Download the unique values list — no upload required.

Reshape & combine: JSON

Sort

Sort JSON files by any column, ascending or descending, directly in your browser.

Split

Split JSON files into multiple smaller files by row count, directly in your browser.

Merge

Merge and concatenate multiple JSON files into one, directly in your browser.

Rename

Rename columns in JSON files instantly in your browser. No upload, no server — your data stays on your device.

Transpose

Transpose JSON files — flip rows and columns — directly in your browser. No upload, no server.

Unpivot

Reshape JSON files from wide to long format directly in your browser. Melt multiple columns into variable/value pairs — no upload required.

Flatten

Flatten nested JSON structures in JSON files into a flat table directly in your browser. Nested objects are expanded into prefixed columns — no upload required.

Split column

Split a column into multiple columns by delimiter in JSON files directly in your browser. Turn "First Last" into separate first and last name columns — no upload required.

Combine columns

Combine multiple columns into one in JSON files directly in your browser. Merge first name and last name, join address fields, or concatenate any columns with a custom separator — no upload required.

Group concatenate

Concatenate text values within each group in JSON files directly in your browser. Group rows by a column and join the values of another column into a single delimited string — no upload required.

Compare

Compare two JSON files directly in your browser. See rows only in file A, only in file B, and rows common to both — no upload required.

Compare schemas

Compare the schemas of two JSON files directly in your browser. See which columns exist in each file and spot type mismatches — no upload required.

Add & calculate columns: JSON

Calculated column

Add a new column to JSON files computed from an arithmetic expression over existing columns. No formulas, no code — just point and click.

Conditional column

Add a new column to JSON files based on an if/else condition directly in your browser. Set a value for rows that match and a different value for rows that don't — no upload required.

Add row numbers

Add a row number index column to JSON files directly in your browser. Set the column name and starting number — no upload required.

Add UUID column

Add a UUID column to JSON files directly in your browser. Generate random UUIDv4 or time-ordered UUIDv7 identifiers for every row. Choose the column name and position — no upload required.

Hash columns

Anonymise or pseudonymise columns in JSON files by replacing values with MD5, SHA-256, or DuckDB hashes — directly in your browser. Useful for GDPR compliance and sharing data without exposing PII — no upload required.

Round numbers

Round numeric columns in JSON files to any number of decimal places directly in your browser. Set precision per column with a simple slider — no upload required.

Pad column

Left-pad or right-pad a column in JSON files to a fixed width directly in your browser. Zero-pad numeric codes, pad product IDs to a fixed length, or right-pad text fields — no upload required.

Bin column

Bucket a numeric column in JSON files into labelled ranges — equal-width bins or custom edges. Runs entirely in your browser.

Regex extract

Extract text matching a regular expression from JSON files directly in your browser. Pull out emails, URLs, phone numbers, or any pattern into a new column — no upload required.

Extract JSON column

Extract values from a JSON-encoded column in JSON files into a new flat column using a JSON path expression. Runs in your browser.

Parse URLs

Parse URL columns in JSON files and extract host, path, query string, and fragment into separate columns — directly in your browser, no upload required.

Dates & times: JSON

Analyse: JSON

Aggregate

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.

Count by value

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.

Percent of total

Add a percentage-of-total column to JSON files directly in your browser. Show each row's share of the grand total, or the share within each group — no upload required.

Percentile

Compute percentiles, median, MAD, mode, and kurtosis for numeric columns in JSON files directly in your browser. Optionally group by a category column. Results download as CSV — no upload required.

Arg max / min

Find the value of one column at the row where another column is maximum or minimum in JSON files — directly in your browser. Optionally group by a category to get per-group results. No upload required.

Rank

Add a rank column to JSON files based on any column's values. Choose RANK, DENSE RANK, or ROW NUMBER, with optional partitioning — runs entirely in your browser.

Running total

Add a running total column to JSON files for any numeric column. Optionally order by a date or sequence column and restart totals per group — no upload required.

Moving average

Add a moving average, rolling sum, rolling min, or rolling max column to JSON files directly in your browser. Choose window size, order-by column, and optional partitioning — no upload required.

Lag / lead

Add a LAG or LEAD column to JSON files to shift any column forward or backward by N rows. See previous day's sales, next value in a sequence, or any time-shifted comparison — runs entirely in your browser.

Normalize

Normalize numeric columns in JSON files using min-max scaling (0–1) or z-score standardisation (mean=0, std=1). Adds new columns alongside the originals — no upload required.

Detect outliers

Detect statistical outliers in JSON files directly in your browser. Flag or remove rows where numeric values exceed a chosen number of standard deviations from the mean — no upload required.

Correlation matrix

Compute a Pearson correlation matrix for numeric columns in JSON files directly in your browser. Instantly spot which variables move together — colour-coded heatmap, no upload required.

JSON Format Comparisons

About JSON

JSON (JavaScript Object Notation) is a lightweight, human-readable text format for structured data. It supports nested objects and arrays, making it the natural format for API responses, configuration files, and document-oriented databases. JSON is the lingua franca of the web — virtually every REST API produces and consumes JSON, and it is the default output format for tools ranging from curl to AWS CLI.

Web developers, backend engineers, and data engineers working with API data all work with JSON constantly. It is the format of choice for configuration files (package.json, tsconfig.json), structured application logs, seed data for development databases, and responses from services like Stripe, Shopify, HubSpot, and Salesforce. NoSQL databases like MongoDB and CouchDB use JSON (or BSON, a binary variant) as their native document format.

JSON's flexibility is also its main limitation for data work. Nested arrays and objects make it hard to load into a relational database or analyse in a spreadsheet — you need to flatten the structure first. Large JSON files are slow to parse and significantly larger than equivalent columnar formats. Our JSON tools help you flatten nested structures, convert API data to CSV or Parquet for analysis, or reshape exports from one system to the format expected by another.

Frequently Asked Questions

What is the difference between JSON and NDJSON?

JSON stores data as a single document — typically an array of objects wrapped in square brackets. NDJSON (Newline-Delimited JSON) stores one JSON object per line, with no outer wrapper. NDJSON is better for streaming and large files because each line is independently parseable; you can process records one at a time without loading the entire file into memory.

How do I convert a nested JSON file to a flat table?

Use the Flatten JSON tool. It expands one level of nested objects into flat columns using dot notation — for example, {"address": {"city": "Dublin"}} becomes an address.city column. For deeply nested structures, run the flatten operation multiple times, or use the SQL Query tool with json_extract() for fine-grained control.

Can I query a JSON file with SQL?

Yes. The SQL Query tool loads JSON files as DuckDB tables. Each top-level key becomes a column. DuckDB supports JSON path expressions (json_extract, json_extract_string) for querying nested fields, and the UNNEST() function for expanding arrays into rows.

Why is my JSON file so much larger than the equivalent CSV?

JSON repeats key names in every record. A file with 1 million rows and 10 columns writes each column name 1 million times. CSV writes column names only once in the header row. For analytical storage, convert large JSON files to Parquet — which also compresses repeated values using dictionary encoding — to reduce size by 80–90%.