Their spreadsheet. Your schema.

Typesheet is typed data intake for spreadsheets you didn’t create: the supplier price list, the stock count, the placement list that arrives again every month, reformatted every time. Define your fields once, send whoever keeps sending you files a link, and everything that arrives is matched to your schema and checked cell by cell before a single row is allowed to land.

Start free
Spreadsheets
Pasted cells
Invoices
Screenshots
Web pages
Your agent

Watch one customer’s file become rows you can use

01

The file arrives

Their column names, their formats, their shape.

02

Columns are mapped

Matched to your fields, whatever they called them.

03

Cells are checked

By code, against your types. Every failure named.

04

Clean rows export

Only rows that pass every rule can leave.

clients-q3.csv4 issuesAll clean
E-mail Addr.Work emailemailClientCompanytext# of seatsSeatsnumberrenewalRenewsdate
ada@northwind.coNorthwind Traders128/4/26
omar@contoso.coContoso1,250Aug 11 2026
priya@fabrikamFabrikam82026-08-18
leo@litware.coLitwaremany2026-09-01
mia@tailspin.co2113/13/2026
5 rows · 4 fieldsexport_records → 5 typed rows

It gets quieter every time you use it

Your fixes become rules

Change “Eng” to Engineering once. Every later file arrives with that correction already applied, named, and reversible.

Rows merge, they never pile up

Rows join on the fields you called unique, so a re-sent price list reads as two updates, not 150 duplicates.

Your assistant cannot fake a clean file

Connect over MCP and Claude imports against your schema rather than guessing at it, and the export refuses while any cell is still wrong. What that guarantees

A sheet other people can send data to.

Customers, vendors, and colleagues send spreadsheets to a link and get told what is wrong with them, without an account and without you in the middle. Try the whole thing, link included, for 14 days, no card.

14-day trial

Freefor 14 days

then $29/mo

Pro, including the link, for two weeks.

  • Import links: hand one to a supplier and watch their file arrive
  • Unlimited sheets, up to 5,000 rows an import
  • 100 imports and 50 document pages
  • Columns matched to your fields, every cell typed and checked
  • Clean CSV, JSON, and PDF exports, plus webhooks
  • No card. 14 days from the first time you use it, not from signing up
  • Afterwards your sheets, rows and exports stay; imports pause

Business

$199/mo

Billed monthly

When the link is how your data arrives, not an experiment.

  • Everything in Pro
  • 3,000 imports / month, up to 20,000 rows each
  • 1,000,000 rows held
  • 2,000 PDF and screenshot pages / month
  • Priority support

Questions people ask first

Typesheet is typed data intake. You define a sheet, which is a schema for what one row must be: named fields with real types, plus required and unique rules. Messy spreadsheets sent to that sheet come back with their columns matched to your fields and every cell checked, and nothing exports until every cell passes.

A spreadsheet holds whatever you type into it. A sheet in Typesheet holds only values that match its schema, and it refuses the rest at the door. There are no formulas, no pivot tables, and no views: it is the gate in front of a spreadsheet, not a replacement for one.

Typesheet accepts CSV and Excel files, cells pasted straight from Google Sheets or Excel, PDFs such as price lists and invoices, screenshots and photos of tables, and links to web pages. A link to a page becomes one row; a link to a file brings in the whole file. Fields are typed as text, number, date, email, url, boolean, enum.

No. A sheet on a paid plan can hand out an import link, and anyone holding that link can send rows without signing up. They map and fix their own file against your schema, and it reaches you already clean. They never see what the sheet already holds.

The export refuses while any cell is still invalid, and the refusal is enforced on the server by the same deterministic validator the review grid runs. It does not consult a model, so an agent cannot assert that data is clean and get it out. The agent can fix cells and drop junk rows; it cannot lower the bar.

Yes. Typesheet runs a remote Model Context Protocol server, so any MCP client that accepts a server URL (Claude, ChatGPT, Cursor) can connect to it. There are no API keys: the first connection opens a browser to sign in once, and after that the tools create sheets, import rows, and fix cells as you.

Rows join on whichever fields you marked unique, so a re-sent price list reads as a handful of updates rather than a second copy of the file. Every import is counted as new, updated, or unchanged, and shown to you as a diff before you accept it.

Yes. When you fix a value a sheet rejected, that correction is kept as a named, reversible rule on the sheet. The next file carrying the same mistake arrives with the fix already applied, so a recurring sender’s habits stop costing you anything after the first time.

Typesheet is $29 a month for Pro: 500 imports a month of up to 5,000 rows each, 300 PDF and screenshot pages, 100,000 rows held, import links so other people can send data in, and branded PDF reports. Business is $199 a month for high volume. There is a 14-day free trial of the full Pro product, import links included, with no card required.

Typesheet has a free trial rather than a free plan. A new account gets the whole Pro product for 14 days, import links included, with no card required: 100 imports of up to 5,000 rows each, 50 document pages, unlimited sheets, exports and webhooks. The clock starts the first time you use it, not when you sign up. Afterwards your sheets, rows and exports stay readable and new imports need a subscription, at $29 a month.

An import link only ever writes. It accepts rows into the sheet and reports on the rows that were just sent, and it never reveals what the sheet already holds. The key in the URL is the credential, so treat it like a password, and rotate it from the sheet’s share menu whenever you want.

For one file, do that. It stops working for the fourth file from the same supplier, because a chat has no memory of the schema you agreed, no record of what you already fixed, and no way to refuse. Typesheet keeps the schema, replays your past corrections onto the new file, and enforces the export check on the server in a validator that never asks a model for an opinion. A chat can only ever tell you the data looks fine.

Every cell records who wrote it: you, an assistant working over MCP, the person who sent the file, or the sheet’s own memory of an earlier correction. The review grid shows that on the cell, tells you the value it replaced, and will put back every change made by any one of those sources in a single action. So an assistant fixing forty cells is forty cells you can inspect and undo as a group, not forty edits indistinguishable from your own.

Ready to define a sheet?

Name your fields, or let Typesheet read them off a file you already have.