NNoEgress

Some data can’t go to the cloud.NoEgress lets you analyze it anyway.

SQL, pivots, charts and local AI, all running in your browser. For the customer lists, payroll and patient exports you can’t paste into ChatGPT or an online tool. Nothing leaves your computer.

Why not just use Excel or ChatGPT?

No file handy? Try the live demo. It loads sample data and a ready-made pivot, all in your browser.

NNoEgressPrivate data workspace
WebGPUQwen 3B☼
payroll_2026.xlsx 48,210 rows, opened in 0.4 s Uploaded: 0 bytes
employeedepartmentcountrysalary €
Anna KowalskaSalesPoland4,850
Lena FischerEngineeringGermany7,900
Marek NowakSalesPoland4,120
Sofia RossiMarketingItaly5,240
Tom ByrneSupportIreland3,980
Jan DvořákEngineeringCzechia6,310
Clara MartínSalesSpain5,600
Pieter de VriesFinanceNetherlands6,050

+ 48,202 more rows

Median salary by department?
SELECT department,
       median(salary) AS median_salary
FROM payroll_2026
GROUP BY department
ORDER BY median_salary DESC;

Median salary by department

€7.5kEngineering
€5.9kFinance
€5.6kMarketing
€5.0kSales
€4.1kSupport

Engineering pays the most at a €7,450 median. Sales is the lowest of the big teams at €5,050, and 37 people there earn below it.

Counted by the query above, on this computer
Get the answerSample file, invented names

Built for data you're not allowed to upload.

Some files can’t go into a cloud tool. They can still go into a browser tab that never sends them anywhere.

Accounting

A client's ledger under NDA

Pivot a confidential Excel export, compare it with last month’s, and send back the result. The file never touches a server.

No upload to explain to the client
Banking & healthcare

A policy that bans cloud uploads

Run SQL on transaction or patient extracts on your own machine. That’s where compliance already lets the data live.

Nothing leaves the device
HR & operations

Salaries, headcount, reviews

Profile and chart sensitive people data without pasting it into a chatbot or a shared spreadsheet.

Optional AI runs locally too

In every one of these cases: 0 bytes uploaded

Used by

  • Accountants & auditors
  • Financial analysts
  • Risk & compliance teams
  • Healthcare & clinical data analysts
  • HR & payroll specialists
  • Operations managers
  • Marketing & sales analysts
  • Researchers & academics
  • Journalists
  • Legal teams & paralegals
  • Consultants
  • Public-sector analysts

Thirty seconds, three proofs.

Clean a file, ask it a question, then race it. All of it running on this page, on your computer.

  1. 0:00Clean a messy fileSix problems in a real CSV, from stray spaces to duplicate rows, fixed in place.
  2. 0:10Ask it in plain English“Who really breaks the cars?” becomes a query you can read, and a chart.
  3. 0:20Race two million rowsMore rows than a spreadsheet can hold, summed in this tab when you press go.

Three steps. Zero uploads.

  1. Clean itStray spaces, wrong case, numbers stored as text, duplicates and empty rows, fixed.
  2. Summarize itOne pivot turns rows into totals.
  3. Chart itThe totals become a chart you can share as a link.

Uploaded so far: 0 bytes

Who really breaks the cars?

Jeremy Clarkson 134
Richard Hammond 347
James May 63
The Stig 0

Hammond, by a distance. The Stig: not a scratch.

Answered in your browser, 0 bytes uploaded. Real presenters, invented numbers: 1,677 fictional segments. Open the full demo and pivot it yourself.

Two million rows. Press go.

This runs for real on your computer: DuckDB builds 2,000,000 rows and totals them by month. Nothing is uploaded, and the time below is measured on your machine.

Excel
Can’t open it

A sheet stops at 1,048,576 rows. This data has 2,000,000.

1,048,576 rows, then it stops
NoEgress

The engine downloads once (a few MB), then everything runs offline.

0 bytes uploaded: the rows are made and summed on your machine.

See the query
SELECT (i % 12) + 1 AS month,
       COUNT(*) AS orders,
       ROUND(SUM(((i * 7919) % 100000) / 100.0 * (1 + 0.6 * sin((i % 12) / 1.9)))) AS revenue
FROM range(2000000) t(i)
GROUP BY month
ORDER BY month
Works withCSVXLSXXLSJSONDuckDBWebGPUOllamaParquet

From raw spreadsheet to clear answer in minutes.

No database to set up, no scripts, no cloud pipeline. Open a file and start working.

01

Open a file

Drop in a CSV, Excel, or JSON file. Each sheet becomes a table you can query in your browser.

Nothing is uploaded
02

Ask your questions

Write SQL if you like it. If you don’t, drag a pivot together or add filters and columns step by step.

You see every query before it runs
03

Understand and export

Profile columns, chart results, compare versions, and export to CSV, Excel, or Parquet.

Same file, same answer, every time

The tools you reach for on a new dataset.

From “what’s even in this file?” to an answer you can rerun next month.

SQL on the whole file

Every query runs over all of your rows, not a sample. Big CSVs stream straight from disk.

Pivot, filter, profile

Drag fields into a pivot, filter like Excel, and see each column’s blanks, duplicates and odd values before you trust it.

Charts and local AI

Charts picked from your columns, and questions in plain English answered by a model running on your machine.

Diff two files

Line up last month’s export with this month’s and see exactly which rows were added, removed or changed.

Clean, join, split, reshape

Remove duplicates, fix types, merge files on a key or split one into many, and save the steps to rerun next month.

CSV, Excel, Parquet

Download the result, copy it into another app, or share a report as a link that holds only the numbers.

All capabilities
  • SQL editor with autocomplete that knows your columns, formatting, history, saved queries and templates.
  • Table viewer that searches, filters and sorts millions of rows, with frozen columns and selection totals.
  • Pivot tables with six aggregations, subtotals, sparklines in cells and colourblind-safe heatmaps.
  • Data profile for every column: missing values, duplicates, type problems, min, max, median and distribution.
  • Charts: bar, line, donut and scatter, suggested from your column types, downloadable as PNG.
  • Local AI that writes, explains and fixes SQL, and answers questions by running real queries.
  • Diff of two datasets on any key columns, with NULLs handled correctly.
  • Transform steps: calculated columns, filters, renames, type changes, find and replace, fill down, text to columns.
  • Merge: stack files that share columns, or join two tables on a key.
  • Split a file into one CSV per value of a column, zipped.
  • Anonymize names, emails and IDs before you share a file.
  • Recipes and workflows saved as small files and rerun on next week’s data.
  • Shareable reports: a link holding the chart, pivot and column summary, never the rows.
  • Formats: CSV, TSV, Excel, JSON and Parquet in; CSV, Excel and Parquet out. Paste a table straight from a spreadsheet.
  • Installable app that works offline and opens files from your desktop with Open with.

Your dataset stays where it belongs.

NoEgress runs entirely in your browser. Reading the file, running SQL, drawing charts, and the AI features all happen on your machine.

  • ✓ No file upload endpoint
  • ✓ DuckDB runs in-browser with WebAssembly
  • ✓ AI models run locally through WebGPU or your own Ollama
  • ✓ Every query is visible, so you can check it
  • ✓ Datasets stay in browser storage (OPFS), so a reload doesn’t lose them
  • ✓ Install it like an app. It works offline after the first visit
This tab, while a query runs
Rows read from your disk25,000,000
Bytes sent over the network0
  1. orders_2026.csv opened from disklocal
  2. DuckDB scanned every rowlocal
  3. Result drawn in the tablelocal
  4. Upload requestsnone
An illustration of a 25-million-row CSV query. Open your browser’s network panel while you work and you’ll see the same.

More power, same privacy.

Everything on this page is free for now, with no account. A Pro plan with extras such as larger local AI models is on the way.

Want to hear when Pro launches? One email, nothing else.

Running SQL locally, explained.

What people usually ask before they open their first file.

Can I run SQL on a CSV file without uploading it?

Yes. NoEgress loads your CSV, Excel, or JSON file into DuckDB, which is compiled to WebAssembly and runs inside your browser tab. Your browser reads the file from disk, and it never goes to a server. There’s no upload endpoint to send it to.

Do I need an account to use NoEgress?

No. No sign-up, no login, no email. Open the workspace, pick a file, and start querying.

Is NoEgress free?

Yes. Every feature is free for now, with no account. A paid Pro plan with extras such as larger local AI models is planned; you can join the waitlist on this page to hear when it launches.

How large a file can it handle?

Large CSVs stream from your disk straight into DuckDB, so there’s no fixed row limit. In our tests a 25-million-row, 1.7 GB CSV loads in under half a minute, and sorting, filtering, or grouping all 25 million rows takes about a second. Excel sheets top out at 1,048,576 rows, because that’s the format’s limit. Keep Excel and JSON files to a few hundred megabytes. Your machine sets the ceiling, not a server quota.

Which file formats are supported?

CSV, TSV and other delimited text files, Excel workbooks (.xlsx and .xls), JSON, and Parquet. Installed as an app in Chrome or Edge, NoEgress also shows up in your computer’s Open with menu for these files. You can also copy cells in Excel or Google Sheets and paste them straight into the workspace. You can export results as CSV, Excel, or Parquet.

Do you track what I do in the app?

Only as anonymous totals. The app counts how many sessions opened each view, loaded a file, ran a query, or exported a result, so we know which features to improve. Each count is just an event name added to that day’s total. It never includes your data, file names, queries, or anything that identifies you, and there are no cookies.

Is the AI assistant sending my data to OpenAI or another provider?

No. The assistant runs a small open-weight model on your own GPU through WebGPU. It downloads once to your browser cache, and after that your prompts, schema, and results stay on your device. Prefer bigger models? Connect your own Ollama on localhost; requests go only to your machine. You don’t need AI, either. The SQL workbench works fine without it.

Is NoEgress an online DuckDB?

Yes. It runs DuckDB-WASM, the official WebAssembly build of DuckDB, inside your browser tab. On top of it you get a SQL editor and table, pivot, profile, and chart views. You write normal DuckDB SQL, including SUMMARIZE, PIVOT, GROUP BY ALL, and QUALIFY, and there’s nothing to install.

Which local AI models can I use?

Qwen 2.5 (3B and 7B), Llama 3.1 8B, Llama 3.2 (1B and 3B), and Gemma 2 2B. They run in your browser through WebLLM on WebGPU. You can also connect a local Ollama server and use any model you have pulled, such as qwen2.5-coder. The model turns your question into DuckDB SQL, and DuckDB works out the exact answer over the whole file.

Does it work offline?

Yes. NoEgress is an installable web app. After your first visit, the workbench loads and runs with no network connection.

How is this different from an online CSV or SQL tool?

Hosted tools copy your file to their servers before they can query it, which rules them out for confidential or regulated data. NoEgress brings the query engine to your data instead. You get the same SQL, pivots, and charts, and nothing leaves your machine.

The file you can’t upload? Open it here.

No account, no upload. Clean it, summarize it and ask it questions, and it never leaves your computer.

Open NoEgress

0 bytes uploaded, from the first click to the last export

Or poke around the demo data first