Upload files
Drag CSV, Excel, Parquet, SQLite, or JSON into your workspace — schema auto-detected, ready to query in seconds.
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
| Format | Notes |
|---|---|
| CSV / TSV | UTF-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. |
| Parquet | Columnar — 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 / NDJSON | Arrays of objects become rows. Nested objects are flattened or kept as JSONB at your choice. |
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 → Tables → Upload. 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
| Plan | Max file size | Max rows per file |
|---|---|---|
| Free | 50 MB | 500,000 |
| Plus | 200 MB | 5 million |
| Pro | 2 GB | 50 million |
| Max | 10 GB | unlimited* |
*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
- 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.
- 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.
- 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?). - A table in Postgres. Named
data.<filename>by default. Queryable immediately via SQL or the Agent. - 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/24vs01-Jan-2024). Clean the source file, or ask the Agent toALTER 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 ALLthem 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
- Connect databases — for data that lives in Postgres / MySQL / Supabase.
- Webhooks & APIs — for pushing rows in from other tools.
- Asking questions — now that the data’s in, ask it something.