Submit a PDF
Upload in the dashboard or use plain HTTPS. The alpha accepts PDFs up to 90 MiB and 200 pages, subject to available credits.
Source-preserving PDF parsing for search and RAG. Native text and visual OCR remain separate, with page coordinates and explicit conflict records attached.
{
"page": 14,
"sources": ["native", "ocr"],
"state": "conflict",
"action": "block"
}
Your PDF stays on this device. Processing happens in this browser.
The browser downloads PDF, OCR, and WebAssembly assets from PageSpatial. It sends no document bytes to PageSpatial or Modal.
Upload in the dashboard or use plain HTTPS. The alpha accepts PDFs up to 90 MiB and 200 pages, subject to available credits.
Native PDF extraction and CPU OCR read the document. Raw observations stay separate even when they match.
Derived associations reference their source observations. Material disagreement becomes a blocking conflict, not a silent choice.
Page geometry, native observations, OCR observations, associations, and conflicts remain explicit. Markdown and other convenient views stay derived from that evidence.
{
"page": 14,
"nativeObservations": ["..."],
"ocrObservations": ["..."],
"criticalConflicts": ["..."],
"requiresEscalation": true
}
Carry page-level evidence into retrieval instead of indexing bare strings.
Preserve provenance and trust metadata beside searchable content.
Trace extracted values to their source page and exact observation geometry.
Start with 100 page credits. The dashboard records a placeholder usage estimate; it is not an invoice or a measured per-job cloud bill.
PageSpatial keeps native and OCR evidence separate, associates it without overwriting either source, and exposes material conflicts.
Input PDFs and result objects are retained for up to two days. Download results into your own store.
PDF only, up to 90 MiB and 200 pages per job. Enrichment is off in the public alpha.
No. A material disagreement is preserved and blocks trusted output instead of being resolved from confidence alone.
No. The deployed parse path uses deterministic native extraction, local OCR, and rule-based association.
The parser scales to zero. The first job after idle can include roughly 70–102 seconds of cold-start time.