Skip to content
SPDF 5.0

Validator and inspector

Drop a .spdf file to check it against the SPDF specification and see what is inside: record, units, fragments with anchors, figures, vector spaces. Everything runs in your browser; nothing is uploaded.

Reviewed Markdown

Drop a .spdf file here

or

Nothing is uploaded: the file is read in your browser.

Or try a sample:

What it checks

The validator runs the same checks, in the same order, as every conforming implementation, and reports the same codes. It uses spdf-format, the TypeScript implementation, with SQLite compiled to WebAssembly: the file never leaves your computer.

CodeMeaning
E001Not a SQLite database
E002Unknown application_id or version
E003A 5.0 file wrapped in gzip (warning: 5.0 files are distributed uncompressed)
E010 · E011A required table or column is missing
E012A required spdf_meta key is missing
E013documents must hold exactly one row
E020A trigger or a view is present
E030 · E031 · E032A vector of the wrong length, an unknown space or an unknown dtype
E040 · E041 · E042An invalid anchor, an unknown anchor type or characters out of range
E050 · E051Invalid metadata JSON, or metadata that is not a CSL item
E060A required extension this reader does not know
E070The full-text index is out of sync with the fragments
E080 · E081 · E082A blob, the content hash or the signature does not match
E090Units are not numbered contiguously from 1
W100–W110Warnings: a semantic profile without vectors, a media profile without times, a newer minor version, a legacy file…

From the command line

Every implementation validates too. With the TypeScript one:

npx spdf-format validate darwin-origin.spdf