PDF a Markdown para LLM

Markdown limpio para ChatGPT, Claude o tu propio sistema, con el recuento de tokens a la vista, interruptores que muestran cuánto ahorra cada recorte y fragmentos que puedes descargar en JSONL.

Suelta aquí tus PDF

O pega uno, o elige archivos. Hasta 20 a la vez, convertidos en esta pestaña.

¿No tienes un archivo a mano? Prueba

Tus archivos se leen en esta pestaña del navegador y nunca se suben.

Por qué darle a un modelo Markdown en lugar de un PDF

Cuando adjuntas un PDF a un chat, la aplicación extrae el texto por ti y no ves lo que recibió el modelo. Convertirlo antes tú mismo tiene tres ventajas:

  • Ves el texto. Las tablas rotas, las columnas revueltas y las páginas sin texto aparecen antes de que confundan al modelo, no después.
  • La estructura se conserva. Los encabezados, listas y tablas quedan en Markdown, que los modelos leen bien, en lugar de una sucesión plana de líneas.
  • Cuesta menos tokens. Se quitan los números de página, los encabezados repetidos, los guiones de fin de línea y el relleno de maquetación, así que más ventana de contexto se dedica al contenido.

Esta página abre con ajustes pensados para eso: sin imágenes, con un comentario <!-- Page N --> donde empieza cada página para que el modelo pueda citar páginas, y sin líneas de imagen.

Recuentos de tokens fiables

El número sobre el Markdown es la cantidad exacta de tokens de lo que vas a copiar o descargar, incluidos el front matter y las marcas de página. Se calcula con o200k_base, la codificación de GPT-4o y los modelos posteriores de OpenAI. Otros modelos, Claude entre ellos, usan sus propios tokenizadores, así que para ellos toma el número como una estimación cercana y no como un valor exacto.

Cada interruptor de Recortar para LLM muestra cuántos tokens ahorra en tu archivo antes de activarlo:

InterruptorQué hace
Quitar direcciones de enlacesConserva el texto del enlace y quita la URL
Quitar negrita y cursivaQuita las marcas ** y *
Quitar líneas de imagenSin marcadores ni enlaces de imagen
Texto plano en lugar de etiquetas HTML<sup>, <sub> y <br> pasan a texto plano
Normalizar caracteresLas ligaduras como fi pasan a fi; los espacios raros, a espacios normales
Tablas compactasQuita columnas vacías y el relleno de las celdas

Los interruptores se aplican en milisegundos, porque el PDF no se vuelve a leer.

Fragmentos para RAG

La recuperación necesita el documento en trozos lo bastante pequeños para generar embeddings y que tengan sentido por sí solos. La pestaña Fragmentos divide el Markdown por ti:

  • Primero por encabezados. Un fragmento nunca empieza a mitad de una sección si puede evitarlo, así que cada uno trata un solo tema.
  • Dentro del límite de tokens que elijas, de 256 a 8.192. Una sección más grande que el límite se divide entre frases, y una tabla grande entre filas, repitiendo la fila de encabezado.
  • Con su ruta de encabezados. Cada fragmento conoce los encabezados que tiene encima, como Métodos › Recogida de datos, y puede empezar con ellos, así un fragmento recuperado sigue diciendo de dónde viene.
  • Con sus páginas, para que una respuesta pueda remitir a la página 12 del original.

Descargar JSONL da un objeto JSON por línea:

{
  "id": "report.pdf#3",
  "source": "report.pdf",
  "chunk": 3,
  "headings": ["Methods", "Data collection"],
  "page_start": 4,
  "page_end": 5,
  "tokens": 812,
  "text": "..."
}

Unas pocas líneas de código lo cargan en la base vectorial que uses.

Un flujo que funciona

  1. Suelta el PDF y mira primero Páginas a revisar. Corrige o pasa por OCR cualquier página que haya salido mal.
  2. Activa los recortes cuyo ahorro valga la pena; deja los enlaces si quieres que el modelo cite fuentes.
  3. Para un chat, copia el Markdown y pégalo. Para un sistema, usa los fragmentos JSONL.

Todo ocurre en tu navegador, y aquí eso importa: los documentos que se dan a los modelos suelen ser informes internos, contratos o investigaciones que no deberían subirse a otro servicio más.

Preguntas frecuentes

¿De verdad Markdown es mejor que texto plano para un LLM?

En documentos con estructura suele ayudar: los encabezados le dicen al modelo cómo se anidan las secciones, y las tablas mantienen cada número junto a sus etiquetas. En una sola página de prosa la diferencia es pequeña. Con los interruptores puedes conservar o quitar esa estructura.

¿Qué tamaño de fragmento debo usar?

Empieza con 512 o 1.024 tokens para responder preguntas sobre documentos. Los fragmentos pequeños encajan con más precisión en preguntas concretas; los grandes mantienen más contexto junto. El resumen bajo la pestaña Fragmentos muestra cuántos hay y el más grande, así ves el efecto al instante.

¿Cuenta los tokens en mi dispositivo?

Sí. El tokenizador funciona en la pestaña, como el resto del conversor. No se envía nada a OpenAI ni a nadie para contarlos.

¿Puedo procesar muchos PDF para un conjunto de datos?

Puedes soltar hasta 20 a la vez y descargarlos todos en un solo .zip. Para miles de archivos, un script es mejor herramienta; consulta PDF a Markdown en Python.