JSON Tools
79 free JSON tools. All run in your browser, with no uploads and no account.
Convert JSON to another format
JSON to CSV
Convert JSON files to CSV format directly in your browser. No upload required — your data never leaves your device.
JSON to Parquet
Convert JSON files to Parquet format directly in your browser. No upload required — your data never leaves your device.
JSON to TSV
Convert JSON files to TSV format directly in your browser. No upload required — your data never leaves your device.
JSON to NDJSON
Convert JSON files to NDJSON format directly in your browser. No upload required — your data never leaves your device.
JSON to Arrow
Convert JSON files to Arrow format directly in your browser. No upload required — your data never leaves your device.
JSON to Excel
Convert JSON files to Excel format directly in your browser. No upload required — your data never leaves your device.
JSON to YAML
Convert JSON files to YAML directly in your browser. Download clean, human-readable YAML — no upload required.
JSON to XML
Convert JSON files to XML directly in your browser. Download a structured XML document with one element per row — no upload required.
JSON to SQL
Convert JSON files to SQL INSERT statements directly in your browser. Copy or download the generated SQL — no upload required.
JSON to Markdown
Convert JSON files to a Markdown table directly in your browser. Copy the output and paste it into any Markdown document.
JSON to HTML
Convert JSON files to an HTML table directly in your browser. Copy the markup or download a ready-to-use HTML file.
Convert other formats to JSON
CSV to JSON
Convert CSV files to JSON format directly in your browser. No upload required — your data never leaves your device.
Parquet to JSON
Convert Parquet files to JSON format directly in your browser. No upload required — your data never leaves your device.
NDJSON to JSON
Convert NDJSON files to JSON format directly in your browser. No upload required — your data never leaves your device.
TSV to JSON
Convert TSV files to JSON format directly in your browser. No upload required — your data never leaves your device.
Arrow to JSON
Convert Arrow files to JSON format directly in your browser. No upload required — your data never leaves your device.
Excel to JSON
Convert Excel files to JSON format directly in your browser. No upload required — your data never leaves your device.
YAML to JSON
Convert YAML files to JSON format directly in your browser. No upload required — your data never leaves your device.
View, inspect and query JSON files
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.
JSON Beautifier
Format and indent JSON so it is readable.
JSON Minifier
Remove whitespace from JSON to shrink it.
JSON Schema Validator
Validate JSON against a JSON Schema.
JSON Diff
Compare two JSON documents and highlight the differences.
JSONPath Tester
Test JSONPath expressions against JSON data.
SQL Query Tool
Load one or more files and query them with SQL. Each file becomes a table.
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
Parse dates
Parse and convert date columns in JSON files between formats and timezones directly in your browser. Supports ISO 8601, US/EU dates, Unix timestamps, and custom patterns — no upload required.
Format timestamps
Reformat timestamp and date columns in JSON files directly in your browser. Convert between ISO 8601, Unix epoch, US date, and custom strftime patterns — no upload required.
Date difference
Calculate the difference between two date or timestamp columns in JSON files directly in your browser. Output in days, months, years, hours, minutes, or seconds — no upload required.
Truncate dates
Truncate date and timestamp columns in JSON files to a chosen precision — year, quarter, month, week, day, hour, or minute — directly in your browser. Rounds timestamps down to the start of each period. No upload required.
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
JSON vs CSV
JSON supports nested data and is native to APIs and web applications. CSV is flat, compact, and universally compatible with spreadsheets and databases.
Parquet vs JSON
Parquet offers columnar storage, compression, and embedded schema ideal for analytics. JSON is flexible and human-readable. Compare the trade-offs.
JSON vs Parquet
JSON is flexible and human-readable but verbose. Parquet offers columnar storage, compression, and embedded schema ideal for analytics. Compare the trade-offs.
Excel vs JSON
Excel is the universal business data format for humans. JSON is the universal data format for machines and APIs. Learn when to use each and how to convert between them.
JSON vs YAML
JSON and YAML are both human-readable data formats. Learn the syntax differences, when each is easier to work with, and when to convert between them.
JSON vs NDJSON
JSON stores a single document; NDJSON stores one JSON object per line for streaming and large datasets. Learn when to use each and how to convert between them.
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%.