Conversor de PDF a Base64

Codifica un documento PDF en Base64 para peticiones a API, correo electrónico o incrustarlo en HTML. Un visor integrado muestra el PDF, así que puedes confirmar que es el archivo correcto antes de copiar el resultado.

Se ejecuta por completo en tu navegador. No se sube nada.

Cómo se usa

  1. Suelta un PDF en la zona de carga o haz clic para elegir uno (hasta 100 MB).
  2. Mira la vista previa para asegurarte de que es el documento correcto.
  3. Elige Base64 puro para peticiones a API, o Data URI para incrustar el PDF en una página web.
  4. Copia el resultado o descárgalo como archivo .txt.

Enviar PDF a través de API JSON

JSON no tiene un tipo binario, así que las API REST que reciben documentos suelen aceptarlos como cadena Base64. Las plataformas de firma electrónica, los sistemas de facturación y factura electrónica, los servicios de impresión y envío postal, los motores de OCR y los archivos documentales aceptan con frecuencia los PDF de esta forma, en un campo como content, file o documentBase64, con el nombre del archivo en un campo aparte. Algunos servicios también devuelven los PDF así; Base64 a PDF los convierte de nuevo en archivos.

Envía Base64 puro sin saltos de línea, salvo que la documentación de la API indique lo contrario, ya que muchas API rechazan un valor que todavía lleva el prefijo data:application/pdf;base64,. Ten en cuenta también los límites de tamaño de las peticiones: un PDF de 7,5 MB se convierte en unos 10 MB de Base64.

Cómo reconocer un PDF en Base64

Un archivo PDF empieza con los caracteres %PDF- seguidos del número de versión. Codificados en Base64, esos bytes siempre dan una cadena que empieza por JVBERi0. Una cadena larga que empieza por JVBER en una respuesta de API, una columna de base de datos o un archivo de registro es casi con seguridad un PDF. La misma comprobación sirve antes de enviar el archivo: si tu cadena empieza por cualquier otra cosa, puede que hayas codificado datos equivocados o que los hayas codificado dos veces.

Incrustar un PDF en HTML

Un data URI coloca el PDF completo dentro de una página HTML, sin ningún archivo aparte que alojar:

<embed src="data:application/pdf;base64,JVBERi0..." type="application/pdf" width="100%" height="600">

<iframe src="data:application/pdf;base64,JVBERi0..." width="100%" height="600"></iframe>

Esto funciona en los navegadores de escritorio con visor de PDF integrado, pero tiene limitaciones. Muchos navegadores móviles directamente no muestran PDF dentro de una página. Chrome y algunos otros navegadores también impiden que una página cargue una URL data: en la pestaña completa, así que un enlace o una llamada a window.open que apunte a un URI data:application/pdf puede abrir una pestaña en blanco o no hacer nada. Para abrir un PDF en una pestaña nueva desde JavaScript, convierte el Base64 en una URL de Blob. Para documentos de más de unos pocos megabytes, una URL de archivo normal suele ser la mejor opción.

Codificar un PDF con código

# Python: crear el cuerpo de una petición JSON
import base64, json
from pathlib import Path

pdf_b64 = base64.b64encode(Path('invoice.pdf').read_bytes()).decode('ascii')
body = json.dumps({'filename': 'invoice.pdf', 'content': pdf_b64})

// Navegador: el archivo procede de un <input type="file">
const reader = new FileReader();
reader.onload = () => {
  const pdfBase64 = reader.result.split(',')[1]; // quita el prefijo del data URI
};
reader.readAsDataURL(file);

Preguntas frecuentes

¿Por qué mi cadena Base64 de PDF empieza por JVBERi0?
Esos caracteres son la codificación Base64 de %PDF-, la cabecera con la que empieza todo archivo PDF. Verlos confirma que la cadena contiene un PDF.
¿Se sube el PDF al convertirlo?

No. El archivo se lee, se codifica y se previsualiza localmente en tu navegador. Los contratos, las facturas y otros documentos confidenciales nunca salen de tu dispositivo.

¿La codificación modifica o comprime el PDF?

No. La cadena Base64 se decodifica exactamente en los mismos bytes, así que la protección con contraseña, las firmas digitales, los campos de formulario y los metadatos se conservan. El texto ocupa aproximadamente un 33 % más que el PDF; para reducir el tamaño, comprime el PDF antes de codificarlo.

¿Debo activar Saltos de línea cada 76 caracteres?

Solo cuando el formato lo exija, por ejemplo al construir a mano un correo MIME, en el que las líneas de los adjuntos están limitadas a 76 caracteres. Las API JSON y los data URI de HTML esperan una única cadena continua.

¿Qué tamaño puede tener el PDF?

La herramienta acepta archivos de hasta 100 MB. En las API, el límite práctico suele ser menor, así que comprueba el tamaño máximo de las peticiones y recuerda que Base64 añade aproximadamente un tercio. Una salida muy larga puede tardar en mostrarse en pantalla; usa Descargar para documentos grandes.