Free · No account · Nothing uploaded

Open your CSV, Excel, JSON or Parquet file without uploading it

Drop the file and it opens right here, in this tab. Filter it, join it to another file, run real SQL on it, lift a table out of a PDF, or convert it to whatever the next tool wants. Files up to 1 GB. Nothing is sent anywhere.

Drop a file here

CSV, Excel, JSON, Parquet, PDF, XML, Word, SQLite, DuckDB, Arrow or Avro. Zipped is fine too.

Up to 1 GB. It opens in the app a moment later.

No account, no upload. Open your browser's network panel and check.

Tools

What you can do here

Eight kinds of job, and a page for each shape they come in. Every page runs on its own in your browser, and hands the file to the full app the moment you want a second step.

Convert between formats

Nineteen formats in, ten out. A Parquet file, a three-sheet workbook or a table buried in a PDF opens the way a CSV does, and leaves as whatever the next tool wants.

Clean and reshape

Deduplicate, repair the mojibake, put one date format across a column, split it, pivot it wide or long. Every step prints the SQL it wrote for you.

Combine files

Stack exports that share a header, or join two files on a key the way a database would. Inner, left, right and full, with the unmatched rows counted.

Analyze and profile

Types, nulls, ranges and outliers for every column before you trust the file. Group and total without writing a formula, and compare two versions row by row.

Query with SQL

Real DuckDB in the tab. Joins, CTEs and window functions against the file you just opened, plus the formatters you keep open beside a query.

Charts and dashboards

A chart from the file you just loaded, or a whole dashboard that already knows what Stripe calls its columns and which of them arrive in cents.

Make test data

Rows that do not exist yet, from a schema you describe, written as real Parquet or SQLite. Or a ready-made file built to break one specific assumption.

Learn the tricky parts

Why Excel rewrote your dates, where the leading zeros went, what to do about an id that turned into 1.23E+15, and a fifteen-lesson SQL course on your own files.

Looking for something specific? Browse all 533 pages →

See it work

One file in, a dashboard out

Drop sales-10k.csv on the box above and this is what comes back. Nothing was configured. The app read the columns, found the date, totalled the measures and laid the page out from what the file contained.

Every figure is a real aggregate over that file. The sample ships with the site, so you can check any of them yourself.

sales-10k.csv10,000 rows · 7 columns · Jan 2024 to Dec 2025REVENUE$24.0Msum of amountORDERS10,000one row eachAVG ORDER$2,400revenue / ordersREFUNDED6.17%617 of 10,000Revenue by month$1.11MJan 2024Dec 2025Share of revenue by channelretail 33.2%partner 33.2%online 33.6%Drawn from the file itself. Open it in the app and DuckDB recomputes every one of these.
Drawn from public/samples/sales-10k.csv at build time. Region and channel come out near even because the sample is generated that way. The monthly line is the shape that is actually in the file.

The app

What you get once the file is open

The tool pages do one job each. Behind them is the explorer, and this is what it gives you. All of it runs in the tab, and none of it sits behind a paid tier.

A grid that holds a million rows

Virtualized scrolling, frozen headers, sort and filter on any column, and cell editing where you need it. The row count in the corner is the real one, not a preview cap.

Column explorer

Click a column and get its type, null count, distinct values and a histogram. It is usually how you find the one bad row before it ruins an average.

Pipelines you can replay

Every operation stacks into a list you can reorder, disable or delete, with the source file untouched underneath. Change step two and steps three to nine run again.

Real DuckDB SQL

Joins, CTEs, window functions, the lot. It is on from the first file you open, and every visual step shows you the SQL it wrote.

AI with your own key

Describe the change in plain English and read the SQL it proposes before it runs. Your key, your provider, or a model on your own machine through Ollama or LM Studio.

Several files at once

Open files as tabs and join across them, or append them into one table. A workbook's sheets arrive as separate tables you can query together.

Charts and a dashboard

Bar, line, area, pie and scatter off any query, plus a dashboard assembled from what the columns turned out to be. Both redraw as the filters change.

Your work stays put

Files, pipelines, views and charts live in this browser's own storage. Close the tab, come back, and the session is where you left it. No account holds it for you.

Formats

Everything it reads and writes

One drop zone takes all of these. Columnar files, database files and archives open the same way a CSV does, so you are not hunting for a different site per extension.

Opens

  • CSV
  • TSV
  • TXT
  • Parquet
  • JSON
  • JSONL
  • NDJSON
  • Excel .xlsx
  • Excel .xls
  • PDF
  • XML
  • Word .doc
  • Word .docx
  • DuckDB
  • SQLite
  • Arrow
  • Feather
  • Avro

Exports

  • CSV
  • TSV
  • Excel
  • JSON
  • JSONL
  • XML
  • Parquet
  • PDF
  • HTML
  • DuckDB

Archives

  • ZIP
  • GZ
  • BZ2
  • ZSTD
  • TAR

An archive is unpacked in the browser and you pick the file you want from inside it.

Need one specific conversion? Every pair has its own page →

In practice

Three ways people use it

None of these needs a data team, a warehouse or a login. They are the jobs people actually open this for.

Reading a Stripe payout export

The payouts CSV has 40 columns and the one you want is buried. Drop it in and the dashboard comes back with revenue by month, refunds counted, and fees separated from net. You wanted the answer, not a formula you write once a quarter.

See the Stripe dashboard →

Joining two exports on a mismatched key

Orders from one system, customers from another, and a shared id that is a string on one side and an integer on the other. Open both as tabs, write the join in SQL, cast the key in the same line, and export the result as Parquet.

Join two CSVs with SQL →

Sharing class results as a link

Results filtered to one section, charted, and shared as a link. For a small file the data rides inside the link itself, so whoever opens it sees your dashboard without an account and without a copy of the file on anybody's server.

How a shared dashboard works →

Privacy

Why nothing leaves your machine

There is no upload step to trust, because there is no upload. Your browser reads the file and hands the bytes to DuckDB, compiled to WebAssembly and running in this tab. The only thing this site downloads is the app itself, and a service worker caches that so it keeps working when your connection drops.

Your open files, pipelines and charts sit in this browser's IndexedDB, which is yours to clear whenever you like. Analytics is PostHog in cookieless mode. It counts page views and never sees your data.

This is the rare privacy claim you can verify in thirty seconds: open the network panel, drop a file, and watch nothing go out.

How it works

From a file on your desk to a file you can send on

Three steps. None of them is creating an account.

1

Drop it in

The file is read by this tab. Multi-sheet workbooks and archives ask which part you want, and a CSV with an odd delimiter gets sniffed so you can override the guess.

2

Work on it

Filter, group, join across files, pivot, chart, edit cells, or write SQL. Every step shows the SQL it generated and stacks into a pipeline you can reorder.

3

Take it away

Export to CSV, TSV, Excel, JSON, JSONL, XML, Parquet, PDF, HTML or DuckDB with your filters applied, or copy the result straight to the clipboard.

Formats
19 in, 10 out

Parquet, Arrow, Avro, SQLite and DuckDB open the way a CSV does.

File size
1 GB

The ceiling is your machine's memory, not an account tier.

Query engine
DuckDB

Compiled to WebAssembly, running in the tab, on by default.

Uploaded
0 bytes

No code path on this site sends file content to a server.

FAQ

Questions we get asked

The ones that come up most often in email.

Does my file get uploaded anywhere?

No. The file is read by your browser and handed to DuckDB WASM, which runs inside the same tab. No code path on this site sends file content to a server. That is a checkable claim rather than a promise: open your browser's network panel, drop a file, and nothing carrying your data goes out.

What file formats can I open?

CSV, TSV, TXT, Parquet, JSON, JSONL and NDJSON, Excel .xlsx and .xls, PDF, XML, Word .doc and .docx, DuckDB, SQLite, Arrow and Feather, and Avro. ZIP, GZ, BZ2, ZSTD and TAR archives are unpacked in the browser and you pick the file you want from inside them.

How big a file can it handle?

Up to 1 GB. Past about 100 MB you get a warning first, because the work happens in your tab and a large file will use real memory. Millions of rows are ordinary for DuckDB. The limit you hit is your machine, not an account tier.

Can I write SQL against my file?

Yes, and it is real DuckDB SQL. Joins, window functions, CTEs and aggregates all work. It is available by default rather than as an upgrade, and every visual operation you apply also shows you the SQL it generated, so the tool doubles as a way to learn the query you were going to have to write anyway.

Can I work with more than one file at once?

Yes. Open several files and each becomes a tab you can query, and a workbook's sheets arrive as separate tables. From there you can join across them in SQL or append them into one table, which is the usual reason people have two exports open side by side.

Can it get tables out of a PDF?

Yes. For text PDFs it finds the table region and works out the column boundaries, ruled or not. For scanned PDFs it runs OCR in the browser first. Password-protected files are supported: you are asked for the password, and it stays in the tab like everything else.

How does the AI work if nothing is uploaded?

You bring the key. Pick a provider, paste your own API key, and the request goes from your browser straight to that provider. Or point it at Ollama, LM Studio, llama.cpp or vLLM running on your own machine, in which case nothing leaves localhost. Either way the model is sent your column names and what you asked for, never the whole file.

Do I need an account?

There is no account to make. No signup, no email field, no trial, no paid tier. The site is supported by display ads, which is what keeps it free.

Does it work offline?

Once the page has loaded, yes. DuckDB WASM and every converter run in the tab, so you can lose your connection mid-session and keep working. Your open files are kept in the browser's own IndexedDB storage and come back when you reload.

Can I load a file from a URL or a Google Sheet?

Yes. Paste a link to a CSV or a published Google Sheet in the box above and your browser fetches it directly. Some hosts refuse cross-origin reads, and when that happens we say so rather than quietly relaying your file through somebody else's server to get around it.

Try it with the file you already have

Nothing to install, and nothing to undo if you decide against it. Drag the file onto the box at the top of this page, or start from a sample and see what the app does with it.