Convertisseur de PDF en Base64

Encodez un document PDF en Base64 pour des requêtes d’API, un e-mail ou une intégration dans du HTML. Une visionneuse intégrée affiche le PDF : vous vérifiez qu’il s’agit du bon fichier avant de copier le résultat.

Fonctionne entièrement dans votre navigateur. Aucune donnée n’est envoyée.

Mode d’emploi

  1. Déposez un PDF sur la zone de dépôt ou cliquez pour en choisir un (100 Mo maximum).
  2. Consultez l’aperçu pour vous assurer qu’il s’agit du bon document.
  3. Choisissez Base64 brut pour les requêtes d’API, ou data URI pour intégrer le PDF dans une page web.
  4. Copiez le résultat ou téléchargez-le sous forme de fichier .txt.

Envoyer des PDF via des API JSON

JSON ne possède pas de type binaire : les API REST qui reçoivent des documents les acceptent donc généralement sous forme de chaîne Base64. Les plateformes de signature électronique, les systèmes de facturation et de facturation électronique, les services d’impression et d’envoi de courrier, les moteurs d’OCR et les archives documentaires acceptent couramment les PDF de cette façon, dans un champ comme content, file ou documentBase64, avec le nom du fichier dans un champ distinct. Certains services renvoient aussi des PDF ainsi ; Base64 en PDF les retransforme en fichiers.

Envoyez du Base64 brut, sans sauts de ligne sauf indication contraire dans la documentation de l’API, et sans le préfixe data:application/pdf;base64,, que de nombreuses API rejettent. Tenez compte aussi des limites de taille des requêtes : un PDF de 7,5 Mo donne environ 10 Mo de Base64.

Reconnaître un PDF en Base64

Un fichier PDF commence par les caractères %PDF- suivis du numéro de version. Encodés en Base64, ces octets donnent toujours une chaîne qui commence par JVBERi0. Une longue chaîne commençant par JVBER dans une réponse d’API, une colonne de base de données ou un fichier journal est presque à coup sûr un PDF. La même vérification fonctionne avant d’envoyer une charge utile : si votre chaîne commence autrement, vous avez peut-être encodé les mauvaises données, ou les avez encodées deux fois.

Intégrer un PDF dans du HTML

Un data URI place le PDF entier dans une page HTML, sans fichier séparé à héberger :

<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>

Cela fonctionne dans les navigateurs de bureau dotés d’une visionneuse PDF intégrée, mais avec des limites. De nombreux navigateurs mobiles n’affichent pas du tout les PDF à l’intérieur d’une page. Chrome et d’autres navigateurs empêchent aussi une page de diriger l’onglet entier vers une URL data: : un lien ou un appel à window.open pointant vers un URI data:application/pdf peut ouvrir un onglet vide ou ne rien faire. Pour ouvrir un PDF dans un nouvel onglet depuis JavaScript, convertissez plutôt le Base64 en URL Blob. Pour les documents de plus de quelques mégaoctets, une URL de fichier classique est généralement le meilleur choix.

Encoder un PDF dans votre code

# Python : construire le corps d’une requête 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})

// Navigateur : le fichier provient d’un <input type="file">
const reader = new FileReader();
reader.onload = () => {
  const pdfBase64 = reader.result.split(',')[1]; // supprime le préfixe du data URI
};
reader.readAsDataURL(file);

Questions fréquentes

Pourquoi ma chaîne Base64 de PDF commence-t-elle par JVBERi0 ?
Ces caractères sont l’encodage Base64 de %PDF-, l’en-tête présent au début de tout fichier PDF. Les voir confirme que la chaîne contient un PDF.
Le PDF est-il envoyé en ligne lors de la conversion ?

Non. Le fichier est lu, encodé et prévisualisé localement dans votre navigateur. Contrats, factures et autres documents confidentiels ne quittent jamais votre appareil.

L’encodage modifie-t-il ou compresse-t-il le PDF ?

Non. La chaîne Base64 se décode en exactement les mêmes octets : protection par mot de passe, signatures numériques, champs de formulaire et métadonnées sont tous conservés. Le texte est environ 33 % plus volumineux que le PDF ; pour réduire la taille, compressez le PDF avant de l’encoder.

Dois-je activer l’option « Lignes de 76 caractères » ?

Seulement si le format l’exige, par exemple lorsque vous construisez un e-mail MIME à la main, où les lignes des pièces jointes sont limitées à 76 caractères. Les API JSON et les data URI HTML attendent une chaîne continue.

Quelle taille peut faire le PDF ?

L’outil accepte les fichiers jusqu’à 100 Mo. Pour les API, la limite pratique est généralement plus basse : vérifiez la taille maximale des requêtes et n’oubliez pas que Base64 ajoute environ un tiers. Une sortie très longue peut être lente à afficher ; utilisez « Télécharger » pour les documents volumineux.