Free Online Data Tools

Converters, viewers, and utilities for the formats data actually arrives in. Every one of them runs inside your browser tab, so nothing is uploaded anywhere.

Convert121 tools

Take a file in one shape and get it back in another. Most of these pages exist because a naive conversion loses something along the way: a leading zero, a date, a nested field, an encoding. Each converter says what it does with those cases before you download anything. Pick the pair you need, and the reverse direction is usually one click away.

Spreadsheets, TSV and delimited text

CSV to Excel
Writes a real XLSX with per-column types. ZIP codes keep their leading zeros and long IDs stay out of scientific notation.
Excel to CSV
Opens a workbook, lets you pick which sheets you want, and writes UTF-8 CSV with formulas resolved to their values.
CSV to TSV
Free online CSV to TSV converter. Tabs and newlines inside a cell are replaced or quoted, your choice, because the TSV registration forbids them outright.
TSV to CSV
Convert tab-separated values into a CSV. The tab is pinned rather than sniffed, and fields containing commas are quoted automatically so nothing shifts.
TSV to JSON
Convert tab-separated values into a typed JSON array. The tab is pinned rather than sniffed, types are decided per column, and leading zeros survive.
TSV to Excel
Convert tab-separated values into a real .xlsx workbook. Leading zeros survive, numbers stay numeric, dates become date cells, and the header is frozen.
TSV to Markdown
Convert tab-separated values into a GitHub-flavored Markdown table. Copy cells from any spreadsheet, paste, and get a table with numeric columns aligned.
CSV to any delimiter
Free online delimiter converter. Pipe, semicolon, colon, caret, ASCII unit separator or your own, with quoting done against the delimiter you chose.
Change CSV Delimiter
Rewrites a CSV with the separator you need, semicolons to commas included, with quoting handled correctly either way.
Text to CSV
Turns delimited or fixed-width text files into clean CSV. Column boundaries in fixed-width extracts are detected for you.
CSV to fixed width
Free online CSV to fixed width converter. Aligned columns, numbers right, and a layout specification in pandas, COBOL or offset-table form. Runs in your browser.
Fixed width to CSV
Free online fixed width to CSV converter. Boundaries detected from the whitespace running down the file, or typed in yourself when a field is always full.
Excel to JSON
Converts the sheet you pick to a JSON array or JSON Lines. Values follow the cell display format, and leading zeros survive.
JSON to Excel
Accepts arrays, bare objects, and JSON Lines. Nested fields flatten to dot-notation columns before the XLSX is written.
Excel to YAML
Convert an .xlsx sheet into a YAML list of mappings. One type per column, empty cells become null, and dates and padded codes are quoted so nothing is coerced.
Excel to XML
Convert an .xlsx sheet into well-formed XML. Name the root and row elements, and a header like Order Total is rewritten legally with the original preserved.
Excel to HTML
Convert an Excel sheet into a clean HTML table with thead and tbody. None of the mso styles and empty spans that Excel's own Save as Web Page produces.
Excel to Markdown
Convert an Excel sheet into a GitHub-flavored Markdown table. Numeric columns right-aligned, pipes escaped, in-cell line breaks kept as br. Free, in browser.
Excel to SQL
Turn an .xlsx sheet into a SQL script with CREATE TABLE and batched INSERT statements. Four dialects, types read from the data, NULL for blank cells.
Excel to JSON Lines
Convert an .xlsx sheet into NDJSON, one compact object per line. One type per column on every line, blanks as null, no wrapping array to hold in memory.
Excel to Parquet
Convert an .xlsx sheet into an Apache Parquet file with real column types. Runs on DuckDB-WASM in your browser, so the spreadsheet never leaves your machine.
Excel to PDF
Convert an .xlsx sheet into a clean paginated PDF table. Header repeats on every page, orientation chosen from the column count, A4 or Letter. No upload.

JSON, YAML, XML and config formats

JSON to CSV
Flattens nested objects into dot-notation columns and explodes arrays into rows. Reads JSON arrays and JSON Lines alike.
CSV to JSON
Turns each row into a JSON object, with numbers and booleans typed rather than quoted. Output as an array or as JSON Lines.
XML to JSON
Every record comes out with the same key set, so a missing element is an explicit null instead of a surprise at row 900.
XML to CSV
You pick the repeating element that counts as a record. Attributes fold in beside child elements, namespaces included.
XML to Excel
Finds the repeating record element, folds attributes in beside child values, and writes the result to a single clean sheet.
XML to Table
For when you only want to read the thing. Renders XML as a table on the page and copies to the clipboard in one click.
JSONL to CSV
Built for eval outputs, chat exports, and NDJSON logs. Ragged keys union into one column set in first-seen order.
CSV to JSONL
Rows become JSON Lines records with per-column typing, ready for OpenAI fine-tune files and BigQuery loads.
JSONL to JSON
Joins line-delimited records into one JSON array without touching their structure. A bad line is named by number, not a byte offset.
JSON to JSONL
Splits a JSON array into one record per line for streaming loads and fine-tune files.
YAML to JSON
Reads anchors, merge keys, and multi-document files, then writes clean JSON. Dates stay ISO strings instead of becoming timestamps.
JSON to YAML
Turns machine JSON into a config file a person can maintain. Values that YAML would misread, like no or 01730, get quoted automatically.
CSV to YAML
A spreadsheet of settings becomes a YAML list, one map per row, with per-column typing so a stray zero does not corrupt the file.
YAML to CSV
Flattens nested maps to dotted columns and turns documents or list entries into rows. The one YAML converter TableConvert never built.
CSV to XML
Free online CSV to XML converter. Your own root and row names, elements or attributes, illegal headings sanitised with the original kept in a name attribute.
JSON to TSV
Convert a JSON array into tab-separated values. Nested objects flatten to dotted columns, and a value containing a comma is not quoted, because tabs separate.
JSON to XML
Convert a JSON array into well-formed XML. Records become row elements, nested objects flatten to dotted columns, and illegal element names are corrected.
JSON Lines to Excel
Convert an NDJSON or .jsonl file into a real .xlsx workbook. Nested objects flatten to dotted columns, cells are typed by column, and the header is frozen.
XML to YAML
Convert XML into a YAML list of mappings. Records are detected without an XPath, attributes become columns, and risky values are quoted so nothing is coerced.
YAML to Excel
Convert a YAML file into a real .xlsx workbook. Nested mappings flatten to dotted columns, cells are typed by column, and multi-document files become rows.
YAML to XML
Convert YAML into well-formed tabular XML. Nested mappings flatten to dotted names, anchors are resolved, and illegal element names are corrected safely.
CSV to TOML
Free online CSV to TOML converter. Rows become an array of tables, types decided once per column, padded codes and dates kept as strings. Runs in your browser.
TOML to CSV
Free online TOML to CSV converter with a dependency-free parser. Finds the real array of tables rather than the first one, and flattens a plain config to one row.
CSV to INI
Free online CSV to INI converter. Section names from any column, duplicate names made unique so no row disappears, comment character and quoting your choice.
INI to CSV
Free online INI, CFG and CONF to CSV converter. One row per section, repeated keys kept rather than overwritten, and hex colours not mistaken for comments.

Markdown, docs and print

CSV to PDF
Lays a CSV out as a printable table. Page size, orientation, and table theme are set before you download.
PDF to CSV
Finds the tables inside a text-based PDF such as an invoice, a bank statement, or a report, and gives them back as CSV. No page cap.
PDF to Excel
Extract tables from a PDF into a real .xlsx workbook. Every table found is listed, cells are typed by column, and the document is never uploaded.
PDF to JSON
Extract tables from a PDF into a typed JSON array. Every table found is listed, columns are typed once each, and the document is read in your browser.
CSV to Markdown
Emits a GitHub-flavored pipe table with numeric columns right-aligned and pipes escaped, ready to paste into a README.
CSV to HTML
Free online CSV to HTML table converter. Real thead and tbody, scoped header cells, caption, striped rows, optional sortable page. Everything escaped. No upload.
CSV to LaTeX
Free online CSV to LaTeX converter. Booktabs, tabular or longtable, all ten special characters escaped, numeric columns right aligned. Runs in your browser.
CSV to reStructuredText
Free online CSV to reStructuredText converter for Sphinx. Grid and simple tables plus csv-table and list-table directives, with the blank-first-column trap handled.
CSV to AsciiDoc
Free online CSV to AsciiDoc converter for Antora and asciidoctor. A cols spec with per-column alignment, block id and title, frame and grid options. No upload.
CSV to MediaWiki
Free online CSV to MediaWiki table converter. Wikitable and sortable classes, caption, collapsible, and pipes escaped as entities since MediaWiki has no backslash.
CSV to BBCode
Free online CSV to BBCode converter for phpBB and XenForo. Three dialects because BBCode is not a standard, plus a code block that works on every board.
CSV to Textile
Free online CSV to Textile converter. Header cells marked inline with an underscore, alignment modifiers per column, pipes escaped as entities. Nothing uploaded.
CSV to org-mode
Free online CSV to org-mode table converter. Plus signs in the rule, alignment cookies, vert escaping for pipes, and a NAME line so source blocks can use it.
CSV to ASCII table
Free online CSV to ASCII table converter. Unicode box drawing, pure ASCII or MySQL client style, numbers right aligned, CJK and emoji measured correctly.
HTML Table to CSV
Paste a page fragment and each table becomes CSV. Colspan repeats across, rowspan fills down, and several tables zip together.
HTML table to JSON
Paste HTML markup and get a typed JSON array. Reads every table on the page, resolves colspan and rowspan, and keeps a padded code as a string.
HTML table to Excel
Paste HTML and get a real .xlsx workbook. Every table on the page is offered, spans are resolved, and numbers arrive as numbers rather than text.
HTML table to Markdown
Convert an HTML table into a GitHub-flavored Markdown table. Spans resolved, pipes escaped, br kept as br, numeric columns right-aligned from the data.
HTML table to SQL
Paste HTML and get CREATE TABLE plus batched INSERTs. Four dialects, types read from whole columns, spans resolved, and every table on the page offered.
HTML table to XML
Convert an HTML table into well-formed XML. Name the root and row elements, spans are resolved, and a header with a space is rewritten legally and preserved.
HTML table to YAML
Convert an HTML table into a YAML list of mappings. Spans resolved, one type per column, empty cells as null, and quoting wherever a parser would coerce.
Markdown to CSV
Paste a GitHub-flavored Markdown table and get a clean CSV. Handles the alignment row, escaped pipes, line breaks, missing outer pipes and ragged rows.
Markdown to JSON
Turn a Markdown table into a typed JSON array of objects. One type per column, real nulls for empty cells, and line breaks preserved. Runs in your browser.
Markdown to Excel
Convert a Markdown table into a real .xlsx workbook. Numeric columns are numbers, dates are date cells, the header is frozen and the widths already fit.
Markdown to HTML table
Convert a Markdown table into a semantic HTML table with thead and tbody. No full Markdown renderer, no wrapper divs, every value escaped. Free, in browser.
Markdown to XML
Convert a Markdown table into well-formed XML. Name the root and row elements, and a header XML cannot use is rewritten with the original kept in an attribute.
Markdown to YAML
Turn a Markdown table into a YAML list of mappings. Types decided per column, empty cells become null, and anything a YAML reader would coerce gets quoted.
Markdown to SQL
Turn a Markdown table into a SQL script with CREATE TABLE and batched INSERTs. Four dialects, types inferred from the data, and NULL for empty cells.
JSON to HTML table
Turn a JSON array into a semantic HTML table with thead and tbody. Nested objects flatten to dotted columns, every value escaped, fragment or full page.
JSON to Markdown
Turn a JSON array into a GitHub-flavored Markdown table. Nested objects flatten to dotted columns, pipes escaped, newlines kept, numbers right-aligned.
XML to Markdown
Convert an XML feed into a GitHub-flavored Markdown table. Records detected without an XPath, attributes become columns, pipes escaped, numbers aligned.
YAML to Markdown
Turn a YAML file into a GitHub-flavored Markdown table. Nested mappings flatten to dotted columns, anchors are resolved, and pipes are escaped.

Databases, SQL and columnar files

CSV to Parquet
Casts columns to real types and writes Parquet with Snappy or Zstd compression. The output loads into BigQuery, Spark, Athena, and DuckDB.
Parquet to CSV
Reads Snappy, Zstd, and Gzip files, shows you the schema first, then exports the columns you select.
Parquet to JSON
Convert an Apache Parquet file into a typed JSON array. DuckDB runs in your browser, so you can read a Parquet file without installing pandas or pyarrow.
Parquet to Excel
Convert an Apache Parquet file into a real .xlsx workbook. Types come from the file's own schema, dates become date cells, and nothing is uploaded.
Parquet to JSON Lines
Convert an Apache Parquet file into NDJSON, one object per line. Types come from the file's schema and DuckDB runs in your browser, so nothing is uploaded.
CSV to Arrow
Free online CSV to Apache Arrow converter. Writes the file layout with a footer so pyarrow open_file works, and Float64 rather than BigInt-bearing Int64.
Arrow to CSV
Free online Arrow and Feather to CSV converter. 64-bit integers written in full, Decimal128 rescaled properly, timestamps as ISO text, nested types as JSON.
Arrow to JSON
Free online Arrow and Feather to JSON converter. Numbers stay numbers, 64-bit ids keep every digit, timestamps arrive as ISO text. Runs in your browser.
Avro to CSV
Flattens Avro records, including nested fields and maps, into a flat CSV without a Spark cluster.
Avro to JSON
Opens Avro container files with null or deflate codecs, resolves logical types like decimals and timestamps, and writes JSON.
Avro to Excel
Convert an .avro container file into a real .xlsx workbook. The embedded schema is read in your browser, records flatten to dotted columns, nothing is uploaded.
Avro to Parquet
Convert an .avro container into an Apache Parquet file. The embedded schema is read in your browser and DuckDB writes typed columns. No JVM, no upload.
SQLite to CSV
Opens a .sqlite or .db file in the browser, lists its tables, and exports the one you pick as CSV.
SQLite to JSON
Convert a SQLite database table into a typed JSON array. Every table with rows is offered, the file is read in your browser, and nothing is uploaded.
SQLite to Excel
Convert a SQLite table into a real .xlsx workbook. Every table with rows is offered, cells are typed by column, and the database is read in your browser.
SQLite to Parquet
Convert a SQLite table into a typed Apache Parquet file. Every table with rows is offered and DuckDB writes the file in your browser. No client, no upload.
CSV to SQL
Generates CREATE TABLE plus batched INSERT statements in the Postgres, MySQL, SQLite, or SQL Server dialect, with inferred column types.
JSON to SQL
Turn a JSON array into a SQL script with CREATE TABLE and batched INSERTs. Nested objects flatten to dotted columns, nulls stay NULL, four dialects.
JSON to Parquet
Convert a JSON array into an Apache Parquet file with real column types. Nested objects flatten to dotted columns. Runs on DuckDB in your browser, no upload.
JSON Lines to Parquet
Convert an NDJSON export into a typed Apache Parquet file. Nested fields flatten to dotted columns and DuckDB writes the file in your browser. No upload.
XML to SQL
Turn an XML feed into a SQL script with CREATE TABLE and batched INSERTs. Records detected automatically, attributes become columns, four dialects.
XML to Parquet
Convert an XML feed into a typed Apache Parquet file. Records detected without an XPath, attributes kept, and DuckDB writes the file in your browser.
YAML to SQL
Turn a YAML file into a SQL script with CREATE TABLE and batched INSERTs. Anchors resolved, nesting flattened, nulls kept as NULL. Four dialects.
SQL to CSV
Paste SQL INSERT statements and get a clean CSV. Reads multi-row VALUES, doubled and backslash quotes, NULL, and every table in the dump, not just the first.
SQL to JSON
Convert SQL INSERT statements into a typed JSON array. Numbers stay numbers, NULL stays null, and a zip code with a leading zero stays a string. Free, in browser.
SQL to Excel
Convert SQL INSERT statements into a real .xlsx workbook. Numbers are numbers, booleans are booleans, dates are date cells, and a padded code stays text.
SQL to Markdown
Turn SQL INSERT statements into a GitHub-flavored Markdown table. Numeric columns right-aligned, pipes escaped, line breaks kept. Free and browser-based.
SQL to HTML
Convert SQL INSERT statements into a clean HTML table with thead, tbody and escaped values. Fragment or full page, numeric columns right-aligned, no upload.
SQL to XML
Convert SQL INSERT statements into well-formed XML. Configurable root and row elements, illegal column names rewritten safely, originals kept in an attribute.
SQL to YAML
Convert SQL INSERT statements into a YAML list of mappings. Numbers stay numbers, nulls stay null, and dates and padded codes are quoted so nothing is coerced.
SQL to JSON Lines
Convert SQL INSERT statements into NDJSON, one compact object per line. Every column holds one type on every line, which is what a warehouse loader requires.

Maps and geographic formats

Paste straight into an app

Clean21 tools

This is the work you do before the data is any use. Stray spaces, four spellings of the same city, dates in three formats, numbers carrying currency symbols. Each page here performs one repair and shows you the affected rows first, and the pipeline tool chains several passes when one file needs all of them.

Sort and Filter
Filter a CSV with up to five conditions joined by AND or OR, then sort on three columns. Numbers compare as numbers, blanks sort last, regex included.
Sample Rows
Take a random sample of CSV rows by count or percentage. Seeded so it is reproducible, and optionally stratified so each group keeps its share.
CSV Pipeline
Chain sixteen cleaning and reshaping steps into one pipeline that recomputes live. Share the whole thing as a link. Nothing about it reaches a server.
Hash a CSV Column
Hash one or more CSV columns with SHA-256, SHA-512, SHA-1 or MD5, hex or base64, with an optional salt. Runs in your browser, so the identifiers never leave it.
Base64 a CSV Column
Base64 encode or decode whole CSV columns in your browser. UTF-8 safe, standard or URL-safe alphabet, optional padding, and invalid values reported not mangled.
URL Encode a CSV Column
Percent-encode or decode CSV columns in your browser. Choose query component, whole URL or form encoding, and see malformed sequences reported rather than thrown.
Slugify a CSV Column
Turn a CSV column into URL slugs in your browser. Accent folding that keeps the vowels, a choice of separator, a length cap and optional numbering of duplicates.
CSV Find and Replace
Find and replace across a CSV in your browser. Literal or regex search with capture groups, case and whole-cell options, and a live count of what changed.
Clean CSV Headers
Rewrite a CSV header row into one convention. snake_case, camelCase, PascalCase, kebab-case and more, with duplicates numbered and every rename listed.
Fill Blank Cells
Fill the empty cells in a CSV column. Forward and backward fill, a fixed value, zero, mean, median, most common value or a straight line between readings.
Trim Whitespace
Trim padding from CSV cells, collapse double spaces, convert non-breaking spaces and strip invisible zero-width characters, with a count of what changed.
Normalize Dates
Put every date column into one format. Day-first and month-first resolved per column, nine output formats, and unreadable values counted instead of passed through.
Clean Numbers
Turn $1,234.50 and 1.234,50 EUR into plain numbers. Decimal mark worked out per column, accounting brackets, percentages, and unreadable values left alone.
Fix CSV Encoding
Repair a CSV whose accented characters arrived garbled. Undoes UTF-8 read as Windows-1252, strips the byte order mark and normalizes line endings.
Fuzzy Dedupe CSV
Merge near-duplicate CSV rows with a real similarity metric. Jaro-Winkler, Levenshtein or token set, a threshold you can move, and a report of what merged.
Change Case of a Column
Rewrite a CSV column into one of ten letter cases. Title Case that keeps short words lowercase, Sentence case that rescues shouted text, and eight more.
Pad a CSV Column
Put the leading zeros back on an id a spreadsheet stripped. Pad a CSV column to a fixed width with any character, on the left or the right, blanks left blank.
Remove Empty Rows and Columns
Drop the blank rows and dead columns a spreadsheet leaves behind. Choose what counts as blank, set a threshold under 100%, and see every removed column by name.
CSV PII Scanner
Scan a CSV for personal data in your browser. Emails, phones, SSNs, cards with Luhn, IBANs with mod-97, IPv4 and IPv6, birth dates. Samples are redacted.
CSV Anonymizer
Anonymize a CSV in your browser with a real salted SHA-256, masking, fake values, generalization or a shuffle. Consistent tokens, so your joins still work.
CSV Deduplicator
Removes duplicate rows, matching on every column or just the ones you choose. The first occurrence stays, and you get the removal count.

Reshape12 tools

Same values, different layout. Reach for these when a report arrives with months across the top and your chart wants months down the side, or when a single field holds three things that belong in separate columns. Transposing, splitting, merging and pivoting all live in this group.

CSV Transpose
Flip a CSV on its side: rows become columns and columns become rows. Round trips exactly, keeps leading zeros, and refuses a file too wide to open.
Wide to Long
Turn month columns into a month column. Pick the identifier columns, name the new pair, optionally drop blanks. The melt every charting tool wants.
Long to Wide
Turn a month column into month columns. Pick the row keys, the column names and the values, and choose what happens when two rows land in one cell.
Select Columns
Keep, drop and reorder CSV columns by dragging them. Or invert the selection to drop instead. Values move as text, so leading zeros survive intact.
CSV Calculated Column
Add a calculated column to a CSV in your browser. Real formulas with IF, ROUND, dates and text functions, per-row error reporting, no upload and no sign-up.
Split a CSV Column
Split one CSV column into several by a delimiter, a regular expression or fixed character positions. Part count read from the whole file, nothing uploaded.
Merge CSV Columns
Combine two or more CSV columns into one in your browser. Choose the separator, skip blank values so no double gaps appear, keep or drop the originals.
Extract From a CSV Column
Turn each capture group in a regular expression into its own CSV column. Named groups name the columns, rows that do not match are counted, and nothing is uploaded.
Add Row Numbers
Add a numbered column to a CSV. Set the name, the start and the step, pad the numbers so they sort as text, and restart the count for each value of a column.
CSV to Pivot
Pivot a CSV in your browser with totals recomputed from the source rows rather than from the cells above them. Export as CSV, XLSX or a markdown table.
CSV Splitter
Cuts a big CSV into parts by row count or part count, repeats the header in every part, and zips the result.
Pivot Table
Rows, columns, values, and an aggregation, straight from a CSV. Totals are computed over the group, not averaged from averages.

Analyze16 tools

Questions about a file, answered without opening a notebook. Summaries, group counts, percentiles, correlations, outliers, and comparisons between two versions of the same export. Start here when somebody hands you a CSV and asks what is in it. Every figure is computed over the whole file rather than the first thousand rows.

Ask CSV
Ask a plain-English question about a CSV and get the number, the formula, the rows behind it and a chart. Deterministic, no API key, no upload, no account.
CSV Summary
Drop a CSV and get headline figures, three findings, completeness per column and value distributions. Calculated in your browser with DuckDB. No upload, no AI.
CSV Group By
Group a CSV by any columns and compute several measures at once: sum, average, count distinct, median, p90. Correct rounding, a total row, and a result filter.
CSV Crosstab
Cross tabulate a CSV: one column down the side, another across the top, a number in every cell. Shaded, totalled both ways, and guarded against exploding.
CSV Story
Drop a CSV and get a scrollable story: KPIs, trend, concentration, split, distribution, outliers, each with a takeaway you can check. Share it as one link.
CSV Resample
Roll a daily CSV up to weeks, months, quarters or years in your browser. Several value columns at once, seven aggregates, and empty periods filled or named.
CSV Moving Average
Add a moving average column to a CSV in your browser. Simple or exponential, trailing or centered, your own window and minimum periods. Nothing is uploaded.
CSV Percentiles
Summarize every numeric column in a CSV: count, min, p1, p5, p25, median, p75, p90, p95, p99, max, mean, standard deviation and skew. All in your browser.
CSV Correlation Matrix
Build a correlation matrix from a CSV in your browser. Pearson and Spearman, a shaded matrix, a ranked list of the strongest pairs, and the row count per pair.
CSV Outlier Finder
Find outliers in a CSV column four ways: IQR fences at 1.5x or 3x, z-score at 2 or 3 sigma, or the modified z-score. Flag, keep or remove them. No upload.
CSV A/B Test Calculator
Run a real A/B test on a CSV in your browser: Welch t-test, Mann-Whitney U, two-proportion z, Cohen's d, a 95% interval and a plain-English conclusion.
CSV Compare
Compare a baseline CSV against a current one and see what moved: headline change, ranked category drivers, new and lost categories, schema and completeness drift.
CSV Variance Analysis
Explain a change between two CSV exports: which categories drove it, how much each contributed, what appeared, what vanished, and what the schema did.
CSV Diff
Compares two CSVs by a key column you pick, so re-sorted exports never show up as false changes. Reports added, removed, and changed rows.
Excel Diff
Compares two workbooks by a key column you pick, so re-sorted sheets show zero false differences. Free and unmetered.
CSV Profiler
Column-by-column stats without Python: types, nulls, distinct counts, percentiles, and top values, plus a machine-readable JSON report.

Query2 tools

Real SQL against a file sitting on your desk, with a DuckDB engine running inside the browser tab. Worth reaching for when the answer needs a window function, a common table expression, or a join across three separate exports. There is no database to install and no upload step.

Visualize15 tools

Turn a column of numbers into something you can put in a deck. Bar and line charts, yes, but also heatmaps, Sankey diagrams, treemaps, funnels, timelines and points on a map. Each page renders from the file you drop and exports PNG, SVG or the chart data itself. Whole dashboards live in the next section.

Chart builders

CSV to Chart
Drop a CSV and get a finished chart, not an empty builder. Bar, line, area, donut, scatter, histogram and boxplot, with PNG, SVG and chart-data exports. Nothing leaves your browser.
CSV to Graph
Turn a CSV into a line, area or scatter graph in your browser. The time grain is chosen from the data and stated in the caption, so the axis never lies.
Visualize CSV online
Visualize a CSV in your browser with no upload and no account. The tool picks a chart from your columns, and a guide says which shape answers which question.
CSV to Heatmap
Build a heatmap from a CSV in your browser. Rows, columns, value and aggregate, with sequential or diverging shading and blanks that stay blank.
CSV to Treemap
Turn a CSV into a treemap in your browser. Group, subgroup, size and aggregate, with each tile labeled by name and formatted value.
CSV to Sankey
Build a sankey diagram from two columns of a CSV. Link width is your chosen aggregate, and everything is drawn in your browser with no upload.
CSV to Timeline
Turn dated rows into a timeline with lanes, optional end dates for ranges, and a real time axis. Built in your browser, with nothing uploaded.
CSV to Map
Map a CSV by country or by latitude and longitude, in your browser. Unmatched place names are reported rather than silently dropped.
CSV to Waterfall
Build a waterfall chart from a CSV. Each step stacks on the running total, gains are green and losses are rust, and a Total bar closes the bridge.
CSV to Funnel
Turn stage-and-value rows into a funnel chart in your browser. Each band carries its name, its formatted value and its percentage of the total.
Excel to Chart
Drop a workbook and get a chart. The first sheet with data is read in your browser, then every control and export from the CSV chart tool applies.
JSON to Chart
Paste or drop JSON and get a chart. Records are flattened to a rectangle with dotted column names, then charted in your browser with nothing uploaded.
CSV to Embed
Turn a CSV into an iframe you can paste into any page. Data and settings ride in the link, so there is no server, no account and nothing stored anywhere.
Embed gallery
Nine live chart embeds with the exact iframe snippet beside each one. Every frame draws from data in its own link, with no server and nothing stored.
Dashboard examples
Ten sample dashboards with real sparkline previews drawn from the data itself. Open any of them without finding a file first, then bring your own.

Dashboards and templates74 pages

These are not tools you point at a file so much as layouts waiting for one. A template names the columns it wants and assembles itself the moment a file with those columns arrives. A source page goes further and already knows what Stripe or Google Analytics calls its columns, including the ones that arrive in cents or as split date and time fields. Drop the export you already have and read the result.

Dashboard templates

Dashboard templates
A template here is not a file you download, it is a column contract. Bring a CSV with the listed columns and the dashboard assembles itself into the layout.
Sales dashboard template
Bring date, region, product, channel, units, unit_price and revenue and the sales dashboard assembles itself. Loads with a sample in one click.
Marketing dashboard template
Bring date, campaign, channel, impressions, clicks, spend, conversions and revenue and the marketing dashboard assembles itself from your export.
KPI dashboard template
Bring date, team, metric, target, actual and variance_pct and the KPI dashboard assembles itself. Loads with a realistic sample in one click.
Finance dashboard template
Bring date, employee, category, merchant, amount, currency and status and the finance dashboard assembles itself from your expense export.
HR dashboard template
Bring employee_id, name, department, title, hire_date, salary, location and remote and the people dashboard assembles itself from your HRIS export.
Project dashboard template
Bring task_id, project, assignee, status, priority, start_date, due_date and hours and the project dashboard assembles itself from your tracker export.
Support dashboard template
Bring ticket_id, created_date, channel, priority, category, response and resolution times and the support dashboard assembles itself from your helpdesk export.
Inventory dashboard template
Bring sku, product_name, category, warehouse, cost, price, stock and rating and the inventory dashboard assembles itself. No date column required.
E-commerce dashboard template
Bring order_id, customer_id, order_date, status, country, items, subtotal, shipping and total and the e-commerce dashboard assembles itself.
SaaS metrics dashboard template
Bring customer_id, signup_date, plan, country, mrr, seats and status and the SaaS metrics dashboard assembles itself from your subscription export.
Web analytics dashboard template
Bring date, source, landing_page, device, sessions, pageviews and rate columns and the web analytics dashboard assembles itself, averaging rates correctly.
Survey dashboard template
Bring response_id, submitted_date, department, tenure and your score columns and the survey dashboard assembles itself from one row per response.

Dashboards by data source

Dashboards
Fifty-seven pages, one per product export, each knowing that tool's real column names and unit quirks. Drop the file and get a dashboard. Browser only, no signup.
Stripe dashboard
Drop a Stripe payments CSV and get a revenue dashboard: cents converted, refunds netted, fees split from net, and a breakdown by card country. No upload, no signup.
PayPal dashboard
Turn a PayPal activity download into a dashboard. Gross, Fee and Net reconciled, refunds kept negative, split date and time columns handled.
Square dashboard
Drop a Square transactions CSV for a sales dashboard. Currency symbols stripped, tips and tax split out, net after fees, by item and location.
Razorpay dashboard
Turn a Razorpay payments export into a dashboard. Paise converted to rupees, epoch timestamps decoded, UPI against cards, fee and GST split out.
Lemon Squeezy dashboard
Drop a Lemon Squeezy orders CSV and see net revenue after VAT and merchant of record fees, by product, variant and country. Cents handled.
Gumroad dashboard
Turn a Gumroad sales CSV into a dashboard. Net after the platform cut, free downloads separated from paid, referrer attribution, country spread.
Coinbase dashboard
Drop a Coinbase transaction report and see buys, sells, transfers and staking income separated, spread folded into fees, holdings by asset.
Shopify dashboard
Drop a Shopify orders CSV and get a sales dashboard that knows the file has one row per line item, with order totals carried down instead of summed twice.
WooCommerce dashboard
Turn a WooCommerce order export into a dashboard. Repeated order totals counted once, refunds netted, tax and shipping split from revenue, coupons unpacked.
Etsy dashboard
Drop an Etsy orders CSV and get a shop dashboard. American dates parsed correctly, per-unit prices multiplied by quantity, discounts and shipping split out.
eBay dashboard
Turn an eBay Seller Hub sales report into a dashboard. Both final value fee components added together, marketplace tax excluded, net per item calculated.
Amazon Seller Central dashboard
Drop an Amazon business report CSV and get a dashboard. Percent strings converted to numbers, sales parsed out of currency text, parent and child ASINs kept apart.
Google Analytics 4 dashboard
Drop a GA4 CSV export and get a traffic dashboard. Comment lines skipped, engagement time kept in seconds, engagement rate rebuilt from counts, users never summed.
Plausible dashboard
Turn a Plausible visitors CSV into a dashboard. Bounce rate read as a whole percent, visit duration converted from seconds, visitors never summed across days.
Mixpanel dashboard
Drop a Mixpanel Insights CSV and get a product dashboard. Pre-aggregated rows read correctly, unique users never summed, breakdown properties turned into filters.
Google Search Console dashboard
Turn a Search Console performance export into a dashboard. CTR read out of percent text, average position weighted by impressions, the 1000-row cap made visible.
YouTube Analytics dashboard
Drop a YouTube Studio export and get a channel dashboard. Average view duration parsed from H:MM:SS, watch time in hours, estimated revenue marked as provisional.
Google Ads dashboard
Drop a Google Ads campaign report and get a spend dashboard. The two title rows and the Total row are dropped, double dash nulls handled, CTR read as a number.
Facebook Ads dashboard
Turn a Facebook Ads Manager export into a dashboard. Two date columns joined, Results read against Result indicator, Reach kept out of daily sums. No upload.
LinkedIn Ads dashboard
Drop a LinkedIn Campaign Manager export and get a dashboard. The multi-row preamble is skipped, spend rolls up by Campaign Group, and empty Leads columns make sense.
HubSpot dashboard
Drop a HubSpot deals export and get a pipeline dashboard. Both amount columns handled for multi-currency portals, and every stage scoped to its own pipeline.
Salesforce dashboard
Turn a Salesforce opportunity report into a dashboard. Locale dates parsed correctly, Expected Revenue separated from Amount, stage and forecast category kept apart.
Pipedrive dashboard
Drop a Pipedrive deals export and get a pipeline dashboard. The Deal and Organization header prefixes are normalized and blank Won time is read correctly.
Airtable dashboard
Drop an Airtable CSV export and get a dashboard. Comma-joined multi-select and linked record cells split apart, and display-formatted dates parsed properly.
Monday.com dashboard
Turn a Monday.com board export into a dashboard. Status labels read as orderable text, timeline columns split into start and end, empty status left empty.
Mailchimp dashboard
Drop a Mailchimp campaign export for a dashboard: percent strings parsed, rates recomputed on deliveries, unique against total clicks, bounces split.
Klaviyo dashboard
Turn a Klaviyo campaign export into a dashboard. Attributed revenue in context, revenue per recipient ranked, decimal rates converted. Browser only.
Substack dashboard
Drop a Substack post stats export and see growth by post, not just opens. Paid-only sends separated, decimal rates converted, web views kept apart from email opens.
Patreon dashboard
Drop a Patreon member export and see committed monthly income by tier, declined charges, churn by cohort and lifetime value. Pledges are not receipts.
Ghost dashboard
Drop a Ghost member export for growth by month, free against paid against comped, tiers unpacked from their comma-joined cell, open rate per member.
Zendesk dashboard
Drop a Zendesk ticket export and get volume by channel, median first reply and resolution times, satisfaction as a category, and the slow tail. Nothing uploaded.
Intercom dashboard
Turn an Intercom conversation export into a dashboard. Median response times, rating coverage shown beside the score, team and channel splits.
Twilio dashboard
Drop a Twilio message log to see real spend, segments against messages, failures by error code and inbound against outbound. Negative prices handled.
Calendly dashboard
Drop a Calendly event export and see bookings by type and weekday, lead time, cancellation rate and invitee time zones. Two-timezone confusion sorted out. No upload.
Zoom dashboard
Drop a Zoom usage report and see total meeting hours, load by host and department, duration distribution and recurring overhead. Participant joins counted honestly.
Asana dashboard
Drop an Asana project CSV for a delivery dashboard: subtasks separated from parents, open tasks found by blank Completed At, cycle time computed.
Trello dashboard
Turn a Trello board CSV into a dashboard. Archived cards filtered, comma-joined Labels and Members split, Due Complete read separately from lists.
Jira dashboard
Drop a Jira issue CSV for a delivery dashboard. The dd/MMM/yy dates are parsed, repeated Sprint and Label columns merged, Status Category grouped.
Linear dashboard
Turn a Linear issue export into a dashboard. Created, Started and Completed are three ISO stamps, so lead and cycle time are computed properly.
Notion dashboard
Drop a Notion database CSV for a working dashboard. Display-format dates parsed, multi-selects split, and the view's own filter flagged for you.
GitHub Issues dashboard
Turn a GitHub issues export into a dashboard. Pull requests filtered out, blank closed_at read as open, comma-joined labels and assignees split.
Toggl Track dashboard
Drop a Toggl Track detailed report CSV for a time dashboard. HH:MM:SS durations converted to decimal hours and split timestamps recombined.
Slack analytics dashboard
Turn a Slack member analytics export into a dashboard. The per-member-per-day grid handled correctly, billable seats costed, guests separated.
Typeform dashboard
Drop a Typeform response export for answer distributions, NPS bucketed into promoters and detractors, and completion time. Long headers handled.
SurveyMonkey dashboard
Drop a SurveyMonkey response export and get charts despite the two-row header. Matrix questions unpacked, Other columns paired up, NPS bucketed. Nothing uploaded.
Google Forms dashboard
Drop a Google Forms response export and get answer breakdowns, a proper NPS split and timestamps parsed despite the locale format. Checkbox answers unpacked. Free.
Eventbrite dashboard
Drop an Eventbrite order export and see net ticket revenue with fees counted once, orders against attendees, promo code impact and check-in rate. Browser only.
QuickBooks dashboard
Drop a QuickBooks transaction report and get income against spend by account and class. Title rows skipped, subtotals dropped, running balance excluded. No upload.
Xero dashboard
Drop a Xero account transactions export for income against spend by account code and tracking category. Debit and credit merged, DD/MM dates parsed.
bank statement dashboard
Drop a bank statement CSV from any bank and see spending by category and merchant, income against outgoings, and the balance over time. Nothing uploaded, no account.
App Store Connect dashboard
Drop an App Store Connect sales report and get a dashboard: the tab separated file read correctly, product type codes decoded, proceeds shown against list price.
Google Play Console dashboard
Turn a Google Play Console earnings report into a dashboard. Buyer and merchant currency kept apart, taxes excluded from revenue, refunds netted.
Webflow dashboard
Drop a Webflow CMS collection export and get a content dashboard: drafts and archived items filtered, rich text handled, publishing cadence by author and category.
Strava dashboard
Turn a Strava bulk export into a training dashboard. Meters converted to kilometers, speed turned into pace, moving time against elapsed. Free and fully local.
Garmin Connect dashboard
Drop a Garmin Connect activity export and get a dashboard. Double dashes read as missing, M:SS pace parsed as time, comma numbers turned back into numbers.
Fitbit dashboard
Turn a Fitbit data export into a dashboard. Comma separated thousands read as numbers, tracker-off zero days excluded, steps against sleep and resting heart rate.
Apple Health dashboard
Turn an Apple Health CSV into a dashboard. Overlapping iPhone and Watch records deduplicated, per-record units respected, sleep states summed into hours.
Excel to dashboard
Drop an .xlsx or .xls workbook and get charts, KPIs and a sortable grid straight away. Multi-sheet files, merged headers and text-formatted numbers all handled.
Sales dashboard
Build a sales dashboard from a CRM or order export. Revenue over time, win rate, pipeline by stage and performance by rep. Nothing uploaded.
CSV dashboard builder
Drop any CSV for a full dashboard: KPIs, trend, breakdowns, distributions and a live grid. No column mapping, no chart wizard, no account.

Generate8 tools

Sometimes the data you need does not exist yet. Identifiers, date ranges, numbered sequences, filler rows for a schema test, or a printable sheet of QR codes built from a column of links. Useful for seeding a staging environment or reproducing a bug without copying production records around.

Developer18 tools

The small utilities you keep a tab open for. Formatters for SQL, XML, YAML, JSON and CSV sit beside a JWT decoder, a cron expression explainer, a regex tester that runs against a real column, and generators that read a sample and write the schema or type declaration for you. Everything stays local, so pasting a token is safe.

JSON Escape a CSV Column
Escape CSV cells as JSON string literals or parse them back, in your browser. Control characters covered, quotes optional, non-ASCII escaped on request.
CSV Schema Generator
Turn a CSV into a schema: TypeScript, Zod, Pydantic v2, JSON Schema 2020-12, Go, Rust serde, SQL for four dialects, Avro and Parquet. Types read from the data.
CSV Regex Tester
Test a regular expression against a real CSV column in your browser. Live match count, capture groups as their own columns, and replace with backreferences.
JSON Validator
Validate JSON in your browser. Points at the exact line and column with a caret, forgives comments and trailing commas, and checks against a pasted JSON Schema.
JSON Flatten
Flatten nested JSON to dot, slash or bracket paths. Output a path listing, a flattened JSON object or a CSV. No depth cap, runs in your browser.
JSON to Types
Turn a JSON sample into type definitions in nine languages. Merges arrays of objects, marks missing keys optional, names nested types. Runs in your browser.
JWT Decoder
Decode a JWT and verify its signature in your browser. HS256 to HS512 with a secret, RS256 and ES256 with a public key. Expiry shown as a countdown.
Cron Explainer
Translate a cron expression into plain English and see the next ten run times in any timezone. Five and six fields, names, ranges, steps, and Quartz L, W and #.
SQL Formatter
Format SQL in your browser with a real tokenizer, so string literals and comments are never rewritten. Five dialects, keyword case, indent and comma style.
XML Formatter
Format XML and HTML in your browser. Keeps comments, CDATA and entities exactly as written, one attribute per line on request, and a minify mode.
YAML Formatter
Format YAML in your browser. Keeps multi-document streams, keeps dates as strings, sorts keys on request, and quotes what a YAML 1.1 reader would misread.
CSV Formatter
Lay out a CSV so a person can read it, or tidy one so a program can. Aligns columns, right-aligns numbers, fixes quoting, trims whitespace and pads ragged rows.
CSV to .properties
Free online CSV to .properties converter. Key separators escaped, non-Latin-1 written as unicode escapes so Properties.load does not hand back mojibake.
CSV to .env
Free online CSV to .env converter. UPPER_SNAKE_CASE keys, single quotes where nothing interpolates, collisions suffixed apart, optional export prefix.
CSV to code
Free online CSV to code converter. pandas, polars, R, Go, TypeScript, Swift, Kotlin and more. Typed literals, per-language escaping, nullables marked. No upload.
JSON Formatter
Formats or minifies JSON with the error located by line and column, a caret snippet included. A 20 MB file takes about a tenth of a second.
CSV Validator
Nine structural checks before your import fails at row 40,000: ragged rows, duplicate headers, mixed line endings, encoding damage, and more.
JSONPath Tester
Runs JSONPath queries with working filter expressions in a sandboxed evaluator, and can print RFC 9535 normalized paths for every match.

View & edit13 tools

Open the file, read it, change a cell, save it back. The viewers cover nine formats and none of them want an install or a sign in. The large file page is for the spreadsheet that refuses to open at all, and the explorer is for when reading is not enough and you want to stack operations into a repeatable pipeline.

CSV Viewer
Open a CSV in your browser and read it in a real grid: sort, filter, column stats, freeze columns, copy a range, export. No upload, no sign-up, no row limit.
Excel Viewer
Open .xlsx and .xls in your browser without Office. Every sheet listed with its row count, sortable grid, column stats, frozen columns, copy a range, export.
JSON Viewer
Open JSON or JSONL in your browser and read it two ways: a flattened sortable table, and a collapsible tree with one-click JSONPath copy. No upload, no limit.
Parquet Viewer
Open a Parquet file in your browser and read it in a real grid. Real DuckDB decoding, Snappy and Zstd, exact row counts, column stats, export to CSV or Excel.
PDF Table Viewer
Open a PDF in your browser and read its tables in a real grid. Every detected table listed, sort, filter, column stats, copy a range, export to CSV or Excel.
XML Viewer
Open XML in your browser and read it two ways: repeating elements as a sortable table, and a collapsible element tree with copyable paths. No upload, no sign-up.
Text File Viewer
Open a .txt data file in your browser and read it as a table. Detects fixed-width columns and delimiters, sorts, filters, gives column stats, exports to CSV.
Word Document Viewer
Open a Word document in your browser and read its tables in a real grid. Every table listed, sort, filter, column stats, copy a range, export to CSV or Excel.
DuckDB Viewer
Open a .duckdb or .sqlite database in your browser. Every table listed with its real row count, a sortable grid, column stats, and export to CSV or Excel.
CSV Explorer
A browser-based CSV explorer. Drop a file and profile every column on the page, then chain 40 transformations in the full editor. No upload, no install, free.
CSV Editor
Edit a CSV in your browser: change cells, add or delete rows and columns, rename headers, undo and redo, regex find and replace, paste from Excel. No upload.
Open a Large CSV
Open a huge CSV in your browser: up to 250 MB, millions of rows, parsed off the main thread with a progress bar. Generate a 1,000,000-row demo and try it.
The Full Workbench
Every format and every operation in one workspace, with charts, multiple files open at once, and export to any supported format.

Sample data13 files

Small files to test a tool against, so you are not hunting around for something realistic. These are deliberately awkward: a ragged CSV, a file full of near duplicates, a fixed width report, a matched before-and-after pair for a diff. Each one exists to break a specific assumption, and the page says which.

Small files built for one problem

Orders before
Five orders, the before half of a diff pair. Its partner changes one value, one letter case, one stretch of whitespace, adds a row and removes a row.
Orders after
The after half of the diff pair. Differs from the before file in exactly five ways, one for each comparison option on the CSV diff page.
Workbook before
An orders sheet and a price list, the before half of a workbook diff pair. Two sheets, so the comparison has to say which one it read.
Workbook after
The after half of the workbook diff pair, with the same five differences on its orders sheet and an untouched price list beside it.
Repeated signups
Ten signups holding two exact repeats plus near-repeats that differ only by capital letters, a stray space, or an upgraded plan. Built for deduplication.
Ragged orders
Eight orders with a short row, blank cells, two dates in the wrong shape, three spellings of a boolean and a number in scientific notation.
Fixed-width branch report
A branch report aligned by padding rather than separators, with New York and San Francisco in it, so a converter has to keep two-word cities whole.
Release notes
Three releases whose notes run over several lines and quote a phrase, which is what breaks a naive markdown or JSON writer.
Nested orders
Four orders with a customer object holding an address, an array of tags, a null, and a ZIP code whose leading zero has to survive flattening.
Orders to join
Seven orders keyed on customer_id, including one that names a customer who is not on the list, so a join has unmatched rows to report.
Customers to join
Five customers keyed on customer_id, one of whom never ordered anything, so the match report on a join has something to say about both sides.
Two report tables
A revenue table and a headcount table on one page, the second spanning a heading across two columns, so an extractor has to find both and align them.

The sample file index

Sample datasets21 datasets

Bigger and tidier than the awkward samples above, and shaped like data a real business would produce. Each one downloads as CSV, JSON, JSONL, Excel or Parquet at 100 or 1,000 rows, or generates up to a million rows in your browser. All CC0, so a demo or a tutorial built on them owes nobody anything.

Full sample datasets

Sample datasets
Twenty realistic sample datasets, free and CC0: download 100 or 1,000 rows as CSV, JSON, JSONL, Excel or Parquet, or generate a million rows in your browser.
Sales Transactions
A free sample sales dataset: two years of daily transactions across five regions and three channels, in CSV, JSON, Excel or Parquet. Revenue always adds up.
Customers
A free sample customer dataset with plans, MRR, cities and safe fake emails on example.com. CSV, JSON, Excel and Parquet, 100 rows to a million.
E-commerce Orders
A free sample orders dataset whose keys really join: every customer_id and sku exists, unit_price matches the catalog, and the totals reconcile to the cent.
Product Catalog
A free sample product catalog: SKU keys, cost, price, margin, stock and ratings in CSV, JSON, Excel or Parquet. The first 60 SKUs are the ones orders buy.
Employees
A free sample HR dataset: employee ids, departments, titles, hire dates, salaries and remote flags in CSV, JSON, Excel or Parquet. Seniority drives pay.
Support Tickets
A free sample helpdesk dataset: priorities, channels, first response and resolution clocks, and a CSAT column that stays blank until the ticket closes.
Marketing Campaigns
A free sample marketing dataset with a funnel that points one way: clicks never exceed impressions, conversions never exceed clicks, and CPM varies by channel.
Daily Weather
A free sample weather dataset: two years of daily readings for ten cities, with a real seasonal curve, a southern hemisphere city, and rain that agrees.
Stock Prices (OHLC)
A free sample OHLC dataset: eight invented tickers with daily open, high, low, close and volume. The high is never below the close on any row.
IoT Sensor Readings
A free sample IoT telemetry dataset: forty devices reporting over thirty days, with batteries that only drain, statuses that follow, and readings that go missing.
Web Server Logs
A free sample access log dataset already parsed into columns: method, path, status, bytes and latency, with user agent strings that contain commas.
Expense Reports
A free sample expense dataset: zero-padded claim ids, four currencies, merchant names with commas, and an approver column that is blank until approval.
Movies
A free sample movie dataset with invented titles, genres, ratings, budgets and box office. About one film in three loses money, which is roughly right.
Survey Responses
A free sample survey dataset: NPS scores, derived promoter groups, satisfaction ratings and free-text comments containing commas and quotation marks.
Bank Transactions
A free sample bank statement dataset: signed amounts, twelve accounts and a running balance that actually reconciles row by row within each account.
Inventory Snapshot
A free sample inventory dataset: on hand, reserved and available stock by warehouse and SKU, with reorder points and a days-of-cover calculation that holds.
Real Estate Listings
A free sample property dataset: twelve cities, size, age and type driving the asking price, plus a lot size column that is blank for every condo.
Students and Grades
A free sample school dataset in long format: one row per student, subject and term, with scores that cluster by student and letter grades that follow.
Flights and Delays
A free sample flight dataset: scheduled and actual departures with a long delay tail, cancellations that leave real blanks, and local times with no zone.
Messy Data Pack
A free broken CSV for testing parsers: ragged rows, a duplicate header, four date formats, mojibake, leading zeros, EU decimals and mixed line endings.

Learn43 guides

Written answers to the problems that send people here in the first place. Why Excel rewrote your dates, where the leading zeros went, what to do about a number that turned into 1.23E+15, how to open a file past the million row limit. The engineering notes explain how parts of this site were built, and the course takes you from SELECT to window functions using files you already have.

Fixes for the problem in front of you

Recurring report recipes
An analysis recipe holds a schema version, a name, a title, a context note and up to twelve questions. No rows, no answers, no filenames. Here is the whole contract.
Recipes
Sixteen ready-made CSV cleaning pipelines. Each one is a single link that opens the builder with the steps and sample data already loaded.
CSV Data Quality Audit
A practical guide to auditing a CSV: the five layers of checks that matter, how to rank what you find, and how to write a data contract that catches it next month.
Learn
Fourteen troubleshooting guides, an 87-term glossary, long-form analysis walkthroughs and engineering write-ups on working with awkward data files.
Excel changed your CSV dates
03/04/2026 means two different days depending where you live. Why Excel guesses, what it does to codes that only look like dates, and how to fix it.
CSV delimiters explained
Why a CSV is often not comma separated, how delimiter sniffing works and when it fails, and how to pick a separator that survives the trip to Excel and back.
CSV has extra blank rows
A blank row between every row, a file that loads as one line, or empty rows at the end. All three are line-ending problems. How to tell them apart.
CSV file too large to open
Excel stops at 1,048,576 rows and Sheets at 10 million cells. Here is what actually breaks on a big CSV, how to see the whole file anyway, and when to split it.
Keep leading zeros in CSV
Zip codes, SKUs and employee IDs lose their leading zeros the moment Excel reads them as numbers. How to keep them, how to check the file, and how to rebuild them.
Why your CSV opens wrong in Excel
One column, 1.23E+15, missing leading zeros, dates that moved, garbled accents, numbers read as text. Six things Excel does to a CSV and how to stop each one.
CSV quotes and commas
When a value holds the delimiter, a quote or a newline, quoting saves you. The RFC 4180 rules, the four ways writers break them, and how to spot it.
Fix 1.23E+15 in CSV files
Excel shows long numbers in scientific notation and rounds past 15 digits. How to tell a display problem from real damage, and how to prevent both.
CSV variance analysis
Revenue is down nine percent. Which categories drove it, how to rank drivers honestly, and how to handle the new and disappeared ones that break percentages.
Excel's 1,048,576 row limit
Why the cap is 1,048,576 rows and 16,384 columns, what Excel does when a file exceeds it, and five routes past it that do not involve deleting data.
Excel formulas lost in CSV
Save As CSV keeps values and throws away formulas, formatting, multiple sheets, charts and comments. What each loss means in practice and what to do instead.
Fix CSV encoding problems
Mojibake, a black diamond question mark, or a stray BOM on the first column name. Three distinct encoding failures, and how to repair each one.
Data file glossary
Eighty-seven terms defined properly: delimiters, quoting, encodings, Parquet and Arrow, joins, window functions, IQR and z-scores. Most link to a tool.
JSON to CSV with nested arrays
Nested objects flatten with dotted names. Arrays force a real choice: one row per parent with a joined string, or one row per element. How to pick.
Parquet vs CSV: when to switch
Five concrete signals that a CSV workflow has outgrown the format, and the four situations where plain CSV is still the better answer.
Recurring CSV report
The monthly export arrives slightly different every time. How to build a pipeline that absorbs the drift, and what to check before you trust the numbers.
Why my CSV has one column
The whole file in column A is the most common CSV failure there is. Six distinct causes, how to tell them apart in under a minute, and the fix for each.

Engineering notes

SQL on CSV, a fifteen lesson course

SQL on CSV course
Learn SQL by querying real CSV files in your browser. Fifteen hand-written lessons, 58 graded exercises, real DuckDB, no sign-up and no upload.
Lesson 1: SELECT and LIMIT
Lesson 1 of the SQL on CSV course. Write SELECT, LIMIT and OFFSET against a real 100-row file in your browser, with four exercises graded on the result.
Lesson 2: Choosing columns, and AS
Lesson 2 of the SQL on CSV course. Select the columns you want, compute new ones from arithmetic, and rename the output with AS. Three graded exercises.
Lesson 3: Filtering with WHERE
Lesson 3 of the SQL on CSV course. Use WHERE to keep only the rows you want, compare text and numbers correctly, and handle nulls. Four graded exercises.
Lesson 4: AND, OR, IN, BETWEEN, LIKE
Lesson 4 of the SQL on CSV course. Combine conditions with AND and OR, shorten them with IN and BETWEEN, and match text patterns with LIKE, in your browser.
Lesson 5: ORDER BY and top-N
Lesson 5 of the SQL on CSV course. Sort results with ORDER BY, break ties with a second key, and build the top-N query you will reach for every week.
Lesson 6: COUNT and DISTINCT
Lesson 6 of the SQL on CSV course. Count rows with COUNT star, count values that are present, list unique values, and count them with COUNT DISTINCT.
Lesson 7: SUM, AVG, MIN, MAX
Lesson 7 of the SQL on CSV course. Total a column, average it, find the extremes, and learn what these functions quietly do with missing values.
Lesson 8: GROUP BY
Lesson 8 of the SQL on CSV course. Use GROUP BY to get a total per region, a count per channel, and an average per product, then sort the summary.
Lesson 9: Two-column GROUP BY, and HAVING
Lesson 9 of the SQL on CSV course. Group a support ticket file by two columns at once, then filter the groups with HAVING rather than WHERE.
Lesson 10: Dates and months
Lesson 10 of the SQL on CSV course. Turn daily rows into a monthly trend with date_trunc, pull parts out with EXTRACT, and filter a date range safely.
Lesson 11: CASE expressions and buckets
Lesson 11 of the SQL on CSV course. Build categories that are not in the file with CASE, group by them, and total one slice beside another in one row.
Lesson 12: JOIN two files
Lesson 12 of the SQL on CSV course. Join orders to customers and products in one query, and see exactly what an inner join throws away silently.
Lesson 13: Window functions
Lesson 13 of the SQL on CSV course. Add a running total, rank rows without collapsing them, reach into the previous row with LAG, and use QUALIFY.
Lesson 14: CTEs and subqueries
Lesson 14 of the SQL on CSV course. Name an intermediate result with WITH, compare rows against a scalar subquery, and filter with IN on a subquery.
Lesson 15: Capstone, your own file
Lesson 15 of the SQL on CSV course. Three hard questions on the course data, then load a CSV of your own into the editor and query it in your browser.

Missing a tool you need?

New converters and utilities go up a few at a time, and requests move things up the list. Tell us what you are stuck on.

Send a request