dev/inspector
In-browser CSV/JSON Explorer - Free & Instant | Smocky
Files stay in this browser tab and are never uploaded. The first import or example downloads the DuckDB-WASM engine from the jsDelivr CDN. Reloading or leaving the page ends the session.
Imported tables
No tables yet. Import CSV, JSON, or JSONL files, or try the example.
One read-only DuckDB query (SELECT, WITH, JOIN, GROUP BY). Ctrl+Enter or ⌘+Enter runs it. Results are limited to 10,000 rows and 20 MiB.
Frequently asked questions
Which SQL can I run?
One read-only DuckDB query at a time: SELECT, WITH (CTEs), JOINs, GROUP BY, window functions, and the rest of DuckDB’s query syntax. Statements that create, change, or drop tables, change settings, attach databases, copy files, or install extensions are rejected, and so is more than one statement.
How are column types decided?
DuckDB infers each column’s type from the file, and the schema panel shows the result. Choose “Read all CSV columns as text” to keep values such as 00123 or mixed codes exactly as written, or when a value late in a large file does not match the type inferred from earlier rows. JSON objects and arrays stay nested rather than being flattened.
How are large numbers, dates, and nulls exported?
Integers beyond JavaScript’s safe range and all decimals are kept as exact text so no digits are lost. Dates and timestamps are ISO text. In JSON exports nested values stay objects and arrays; in CSV they are written as JSON text. Null stays distinct from an empty string: CSV writes null as an empty field and an empty string as "".
What are the limits?
An Explorer session holds up to 10 files totalling 100 MiB. A Query result can have at most 10,000 rows and 20 MiB; a larger result is rejected with a request to narrow the SQL rather than silently truncated. Paging through results and downloading them never reruns the query, and a download always contains the whole result. The input limit is not a promise that every device has enough memory.
Are my files uploaded?
No. Files are read and queried inside this browser tab and are never uploaded. The first import or example downloads the DuckDB-WASM engine from the jsDelivr CDN and its JSON reader from DuckDB’s extension site, at versions pinned to this site’s release, so first use needs a connection.
Is my work saved?
No. Imported tables and results live only in memory. Clear session, reloading, or leaving the page ends the session; import the files again to continue. Your source files are never changed.