Inspect a read-only SQLite database

SQLite3.53.4 official WASM, in-memory READONLY deserialization, query-only/defensive/trusted_schema off, restricted authorizer and native limits.

  • Runs in your browser
  • No upload
  • Check before download

Files and schemas stay in this tab and a local worker. Nothing is uploaded or stored automatically. Clear/close loses your inputs; keep originals and save wanted results.

SQLite3.53.4 official WASM, in-memory READONLY deserialization, query-only/defensive/trusted_schema off, restricted authorizer and native limits. Lists table/view/virtual schemas, but selects only ordinary tables with generated quoted paging queries; no SQL editor, extensions, views/functions, ATTACH, OPFS or persistent storage. UTF8 databases only: this official build omits UTF16, which is explicitly rejected; invalid UTF8 text is reported as bytes. INTEGER remains exact signed64 text; REAL is IEEE754, BLOB hex, null distinct. Primary-key/rowid ordering provides repeatable paging for this copy. A WAL-mode main file is an incomplete checkpoint base, never a verified latest snapshot; explicit consent is required and original bytes remain unchanged. CSV null/blob/nested/precision and spreadsheet caveats are the same as the Parquet export. SQLite's64 MiB linear-memory maximum excludes the separate JS/DOM heap; oversized/corrupt inputs fail without partial output. Null-token collisions are checked both before and after formula protection; a transformed marker collision rejects the export.

File up to 16 MiB; Protobuf up to 1 MiB; each schema up to 256 KiB and 1 MiB combined. Depth 64, 20,000 metadata or wire nodes and 100,000 physical or retained values; decoded budget 32 MiB; generated output 8 MiB plus the original. Preview 200 rows; export 10,000 rows. The worker stops after 5 seconds. SQLite's 64 MiB of linear memory is not the whole browser heap.

Local binary file

0 B

Operation

A standalone WAL-mode database may omit committed changes stored in its WAL. This option inspects only the checkpointed base; it never claims a complete current snapshot or changes the original file.

Method and limits

Supported profile

SQLite3.53.4 official WASM, in-memory READONLY deserialization, query-only/defensive/trusted_schema off, restricted authorizer and native limits. Lists table/view/virtual schemas, but selects only ordinary tables with generated quoted paging queries; no SQL editor, extensions, views/functions, ATTACH, OPFS or persistent storage. UTF8 databases only: this official build omits UTF16, which is explicitly rejected; invalid UTF8 text is reported as bytes. INTEGER remains exact signed64 text; REAL is IEEE754, BLOB hex, null distinct. Primary-key/rowid ordering provides repeatable paging for this copy. A WAL-mode main file is an incomplete checkpoint base, never a verified latest snapshot; explicit consent is required and original bytes remain unchanged. CSV null/blob/nested/precision and spreadsheet caveats are the same as the Parquet export. SQLite's64 MiB linear-memory maximum excludes the separate JS/DOM heap; oversized/corrupt inputs fail without partial output. Null-token collisions are checked both before and after formula protection; a transformed marker collision rejects the export.

Resource limits

File up to 16 MiB; Protobuf up to 1 MiB; each schema up to 256 KiB and 1 MiB combined. Depth 64, 20,000 metadata or wire nodes and 100,000 physical or retained values; decoded budget 32 MiB; generated output 8 MiB plus the original. Preview 200 rows; export 10,000 rows. The worker stops after 5 seconds. SQLite's 64 MiB of linear memory is not the whole browser heap.

Files and schemas stay in this tab and a local worker. Nothing is uploaded or stored automatically. Clear/close loses your inputs; keep originals and save wanted results.

How to inspect safely

  1. Local binary file

    Load a local SQLite database and look at its schema. Choose an ordinary table, the columns, a zero-based starting row and a row count, then preview or export. There is no SQL editor and no database connection.

  2. Schema and metadata

    Load the sample and select the table named sample. Its row has id 9223372036854775807, amount text 9007199254740993.01, payload bytes 00ff and absent=null. The inspector keeps the integer and text exact instead of converting them to a JavaScript Number.

  3. Verify and save exports

    Check the selected table, row window and declared and storage types before you save selection.csv and report.json. Paging follows primary-key or rowid order for this copy. Your original database is preserved, and the worker reads an in-memory, read-only copy.

Method and limits

How are null, BLOBs and large integers written in the SQLite CSV?

Choose comma, semicolon or tab; LF/CRLF; a BOM; and a null token such as backslash-N. Null is an unquoted token, empty text is a quoted empty string, BLOBs are hex and INTEGER values are exact decimal text. If a token collides with your data, the export is rejected. Quoting can't stop a spreadsheet from converting numbers, so import those columns as text. Formula-prefix protection changes TEXT values that look like formulas.

Why can’t this file or selection be read?

Views and virtual tables are listed but not run. This build rejects UTF-16 databases. A WAL-mode main file may leave out committed WAL updates, and accepting the base copy does not prove you have the latest snapshot. For current data, supply a separately prepared, consistent database export.

What does this inspector deliberately not do?

Files up to 16 MiB, at most 10000 requested rows and 200 shown. No editing, arbitrary SQL, extensions, external databases or persistent storage. The 64 MiB native linear-memory limit does not include JS and DOM memory, so it isn't a promise about total device memory.