Database5 min

Ad-Hoc CSV Analytics: Profile Any Dataset in 30 Seconds

Drop a CSV into Zro7 and get row counts, column types, null ratios, distinct values, and top-N histograms — powered by DuckDB-WASM, no upload.

Profiling runs locally via Zro7 CSV Analytics using DuckDB-WASM. The file never leaves your browser.

To profile a CSV in 30 seconds, open Zro7 CSV Analytics and drop the file in. DuckDB-WASM samples the file, infers types, and returns a per-column report: row count, null ratio, distinct count, min / max / mean for numerics, and a top-N histogram for categoricals. Everything is computed in your browser tab — the CSV never leaves the machine.

What you get, per column

  • Inferred type — INTEGER, DOUBLE, DATE, TIMESTAMP, VARCHAR, BOOLEAN.
  • Null ratio — % of rows where the field is missing.
  • Distinct countapprox_count_distinct() so it scales to millions of rows.
  • Numeric summary — min, max, mean, median, p95.
  • Top-N values — the 10 most frequent values plus their share.
  • Sample rows — the first 20 raw rows for context.

Why 30 seconds beats Pandas

Loading a fresh CSV into a Jupyter notebook takes minutes: open the notebook, pd.read_csv(), run .info(), run .describe(), poke at .value_counts() per column. DuckDB-WASM does all of that in one query against the raw file, and the browser renders it as a table. It's the fastest "what's in this file?" tool that doesn't upload.

Zro7 vs cloud profilers

SaaS profilers (Datawrapper, Observable, Google Sheets import) send the CSV up and profile it server-side. That's fine for public data — a bad idea for a customer export or an HR headcount file. Zro7 keeps the file local, so you can profile any dataset without a governance review.

Steps

  1. Open CSV Analytics.
  2. Drop the CSV. The profile renders in seconds.
  3. Click any column for its histogram, or open SQL Playground to query further.

Frequently asked questions

How big a CSV can it profile?

Multi-GB CSVs work — DuckDB-WASM streams the file and uses approximate distinct counts to keep memory bounded.

What about semicolon or tab delimiters?

Auto-detected. You can override the delimiter, quote char, and header row.

Does it modify the CSV?

No. Profiling is read-only.

Can I export the profile?

Yes — copy as JSON or Markdown from the results panel.

Any upload?

None. DuckDB-WASM runs entirely in your browser.

Related posts

← Back to blog