Upload files

Drag CSV, Excel, Parquet, SQLite, or JSON into your workspace — schema auto-detected, ready to query in seconds.

Updated 2026-04-17

The fastest way into Tablize is to drop a file. No import wizard, no schema mapping, no column-type picker. The Agent sniffs the file on the way in and gives you back a table you can ask questions about.

Supported formats

FormatNotes
CSV / TSVUTF-8 auto-detected. Delimiters guessed. First row treated as header unless clearly numeric.
Excel (.xlsx)One table per sheet. Merged cells unmerged. Multi-sheet files become multiple tables.
ParquetColumnar — fastest upload per MB. Types preserved from the file metadata.
SQLite (.db / .sqlite)Every table in the file comes across. Foreign keys and indexes preserved.
JSON / NDJSONArrays of objects become rows. Nested objects are flattened or kept as JSONB at your choice.
· Five formats in, one Postgres table out

Need a format not on the list? Paste the data into the chat and ask the Agent to import it — it’ll pick a reasonable shape.

Two ways to upload

Drag into chat

Open a chat, drag the file onto the window. That’s it. The file uploads, the Agent sniffs the schema, and you see a confirmation with the table name and row count. Ask your first question.

This is the right path when the file is your answer. You want to explore it, ask follow-ups, maybe save a Report — not build a long-term data model.

Upload via the Data page

Workspace → TablesUpload. Same dropzone, but with a few extra options:

  • Rename the resulting table explicitly (default: derived from the filename).
  • Pick a schema (Data, or a custom schema you made).
  • Choose how to treat nested JSON (flatten / keep as JSONB).
  • Append to an existing table instead of creating a new one.

Use this path when the file is the beginning of something — you plan to upload weekly snapshots, or the file is one of many that feed a bigger question.

Size limits

PlanMax file sizeMax rows per file
Free50 MB500,000
Plus200 MB5 million
Pro2 GB50 million
Max10 GBunlimited*

*Max plan still has per-query safeguards — multi-billion-row tables are better connected as a database than uploaded as a file.

On any plan, very wide files (hundreds of columns) work but can be slow to sniff. Narrower is better.

What Tablize does after the upload

  1. Schema inference. Each column gets a type (int / float / text / date / timestamp / json / bool). The Agent looks at the first ~10K rows and all rows if the file is small enough.
  2. Encoding detection. UTF-8, UTF-16, Latin-1 — guessed from a byte sniff. You can override in the Data page if it gets it wrong.
  3. Date parsing. ISO dates, common locales, Excel’s weird serial numbers — all handled. The Agent asks for your format only if it’s genuinely ambiguous (e.g., 02/03/2024 — is that Feb 3 or Mar 2?).
  4. A table in Postgres. Named data.<filename> by default. Queryable immediately via SQL or the Agent.
  5. A one-line summary in chat telling you what was imported and inviting you to ask.

Updating an uploaded file

Three options, pick by how often the data changes:

  • Re-drop the file. The Agent asks: replace or append? Pick replace for a weekly export you always overwrite; pick append for time-series data that only adds rows.
  • Use a Webhook instead. See Webhooks & APIs — let something else POST the rows in. Tablize handles deduplication.
  • Point at a database. If the file is really a database export, connect the source directly instead. See Connect databases.

Common gotchas

  • Mojibake in CSVs. If you see â€" instead of , the file was saved as Latin-1 but labeled UTF-8. Re-save as UTF-8 from the source tool.
  • Date columns typed as text. Happens when the first few rows have inconsistent formats (e.g. 1/1/24 vs 01-Jan-2024). Clean the source file, or ask the Agent to ALTER TABLE ... USING to_date(...) — it’ll write the SQL for you.
  • Excel files with formulas. Uploaded values are the cached results of formulas, not the formulas themselves. Recalculate in Excel before exporting if the results are stale.
  • Multi-sheet Excel with inconsistent headers. You’ll get multiple tables. Ask the Agent to UNION ALL them with column mapping — one sentence in chat.

What doesn’t upload

  • Password-protected / encrypted files. Decrypt first.
  • Files that are really images (PDFs of tables, scanned spreadsheets). Upload them as Media and let the Agent extract the table with OCR + LLM — a separate flow.
  • Files over your plan’s size limit (see above).

Next steps