SPDF 5.0 · Semantic Processed Document Format · estándar abierto
Se lee una vez.Se cita siempre.
SPDF es un formato de fichero abierto para documentos que ya se han leído. Cada pasaje lleva su ancla exacta: la página impresa, el folio, el segundo de una grabación, la diapositiva o el verso. Una cita solo puede imprimir lo que dice la fuente.
spdf:sha256-a156ce…#p=41&f=17r&char=0,1424
(Galilei, 1610, fol. 17r)
Página física 41 del fichero, folio impreso 17r, caracteres 0 a 1424 de esa página, en Sidereus nuncius. La cita se calcula a partir del ancla guardada al leer; no se adivina nada. Ábrelo en el validador.
Por qué un formato
Leer bien un documento es lento y caro: reconocer el texto, transcribir, encontrar los folios impresos, dividir en secciones, calcular vectores. SPDF guarda el resultado para que nadie tenga que hacerlo dos veces, y para que todo lo que se cite a partir de él se pueda comprobar.
Anclas
Cada pasaje sabe dónde está. Los fragmentos se guardan con el sitio del que salieron: página física y folio impreso (romano, deducido o por hojas), segundo y tiempos de cada palabra en audio y vídeo, diapositiva, rango de filas, verso o una referencia canónica como Stephanus 514a. Las anclas se escriben como URI portátiles.
{"type":"page","physical":29,"printed":"21"}Procedencia
Cada campo dice quién lo escribió. Cada unidad registra qué lector produjo su texto (la capa de texto de un PDF, un modelo de visión, un reconocedor de voz) y con qué confianza; la ficha registra de dónde salió cada campo (colofón, portada, catálogo). Los folios deducidos se citan entre corchetes.
reader: gemma-4-e4b · confidence: 0.97Una lectura, muchas consultas
Lo caro se hace una sola vez. El reconocimiento de texto, la transcripción, las secciones y los vectores se pagan al producir el fichero. Después responde a consultas léxicas, semánticas e híbridas sin conexión, incluso en un teléfono, con el índice de texto completo del propio SQLite y vectores de varios modelos a la vez.
fts5 unicode61 · f32 | f16 | i8 · RRF k = 10Portabilidad
Un fichero, cualquier lenguaje, ningún servidor. Un .spdf es una base de datos SQLite 3 corriente: ni contenedor propio ni cuenta. Se puede proyectar en memoria o leer por rangos HTTP, y lo abren doce implementaciones independientes, todas probadas con la misma batería de conformidad.
un documento = un ficheroHonestidad de la cita
Una cita solo puede imprimir lo que dice la fuente. Las citas cortas y la bibliografía (CSL-JSON, BibTeX) se derivan del ancla guardada y de la ficha CSL; no se generan. Los agentes tienen la misma garantía con el servidor MCP: buscan, citan el pasaje y dan el folio exacto, y no pueden inventárselo.
(Saorín Ferrer, 2026, p. [3])
Dentro de un .spdf
Un único fichero SQLite, sin comprimir para que se pueda leer por rangos, sin disparadores ni vistas. Los lectores lo abren en solo lectura, en modo defensivo, y nunca cargan extensiones. El esquema es lo bastante pequeño para aprenderlo en una tarde.
Perfiles
- coreTexto y anclas. Basta para buscar y citar.
- semanticLo anterior más vectores de uno o varios modelos.
- mediaLo básico más audio y vídeo con tiempos por palabra.
- fullTodo lo anterior.
spdf_metaversión, perfil, programa que lo generó, identificadordocumentsuna ficha CSL-JSON, con la procedencia de cada campounitslas unidades citables: páginas, tramos de tiempo, diapositivas, hojasfragmentspasajes de 150 a 300 palabras con sus anclasfragments_ftsíndice FTS5, insensible a las tildessectionsel árbol de encabezadosfiguresfiguras, láminas y fotogramas, con región y descripciónspacesespacios vectoriales, declarados como modelo@dimsvectorsf32, f16 o i8 en little-endianblobsel original y las imágenes, con su SHA-256provenancequé produjo qué, con qué modelo y cuándoextensionstablas x_proveedor_nombre, obligatorias u opcionales
Doce implementaciones, una batería
La de Rust es la de referencia y además ofrece una ABI de C. Las demás son nativas e independientes: cada una abre, valida, vuelca, busca, escribe anclas, cita y construye ficheros, y todas pasan los mismos casos de conformidad en cada commit. El estado y el CI de cada implementación.
Por dónde empezar
Validar
Suelta un .spdf en el validador: lo comprueba contra la especificación y te enseña lo que hay dentro, en tu navegador, sin subir nada.
Abrir el validador →Leer
El Lector SPDF abre, busca y cita ficheros SPDF en macOS, Windows, Linux, iOS, Android y la web, con modelos locales y sin cuenta.
Descargar el lector →Construir
spdf build convierte un PDF, un escaneado, un EPUB o una grabación en un SPDF con modelos locales o con tu propia clave. O empieza por SPDF Commons, una pequeña colección de obras de dominio público.
Ver SPDF Commons →Para agentes
Cada hoja de esta web tiene un gemelo en Markdown (la misma dirección terminada en .md), /llms.txt los reúne y /llms-full.txt trae la especificación entera. El servidor spdf-mcp permite a cualquier agente buscar en una carpeta de ficheros SPDF y citar con el folio exacto.
Cómo usan SPDF los agentes →