Encodez vos fichiers PDF en chaine Base64 ou data URI directement dans le navigateur : copie en un clic, export .txt et aucun upload serveur.
Convertisseur PDF → Base64
Glissez votre PDF ici
ou
À quoi sert l'encodage PDF en Base64
Le Base64 est un schéma d'encodage qui transforme des données binaires — comme un fichier PDF — en une chaîne de caractères ASCII lisible et transportable. Là où un PDF est une suite d'octets que beaucoup de systèmes ne peuvent pas manipuler directement (JSON, XML, attributs HTML, e-mails), sa représentation Base64 ne contient que des caractères sûrs : lettres, chiffres et quelques symboles.
Un PDF encodé ressemble à ceci, avec son préfixe data URI :
data:application/pdf;base64,JVBERi0xLjQKJeLjz9MKMyAwIG9iag...
La séquence JVBERi0 au début n'est pas un hasard : elle correspond aux octets %PDF-, la signature obligatoire de tout fichier PDF. Convertir un PDF vers Base64 devient indispensable dès qu'un document doit voyager dans un canal qui n'accepte que du texte :
- API REST : envoyer un PDF dans un corps JSON (
{"file": "JVBERi0..."}) sans recourir aumultipart/form-data - Bases de données : stocker un document dans une colonne texte ou un champ NoSQL
- E-mails HTML : intégrer une pièce jointe en ligne plutôt qu'en fichier séparé
- Configuration et tests : embarquer un PDF d'exemple dans un fichier de fixture ou un test automatisé
- Stockage navigateur : conserver un document dans
localStorageou IndexedDB pour un usage hors ligne
Les formats de sortie expliqués
Choisir le bon format évite des manipulations inutiles. Voici en détail ce que produit chaque option et quand l'utiliser.
Data URI
C'est le format le plus polyvalent. La chaîne complète peut être posée telle quelle dans un attribut src ou un lien de téléchargement :
<a href="data:application/pdf;base64,JVBERi0..." download="document.pdf">
Télécharger le PDF
</a>
Le préfixe data:application/pdf;base64, indique au navigateur le type MIME et la méthode d'encodage. Sans lui, le navigateur ne sait pas comment interpréter la chaîne.
Base64 brut
Seule la chaîne encodée, sans préfixe. C'est le format attendu par la plupart des API JSON et des colonnes de base de données :
{
"filename": "facture-2026.pdf",
"mimeType": "application/pdf",
"content": "JVBERi0xLjQKJeLjz9MKMyAwIG9iag..."
}
C'est aussi le format renvoyé par la commande Linux base64 fichier.pdf.
Balise HTML <embed>
L'outil génère un élément complet pour afficher le PDF directement dans une page, sans fichier externe :
<embed src="data:application/pdf;base64,JVBERi0..."
type="application/pdf" width="100%" height="600">
Idéal pour une démo, un aperçu intégré ou une documentation autonome.
Variable JavaScript
Une déclaration prête à être collée dans un script ou un module :
const pdfBase64 = "data:application/pdf;base64,JVBERi0...";
// Créer un lien de téléchargement dynamique
const lien = document.createElement('a');
lien.href = pdfBase64;
lien.download = 'document.pdf';
lien.click();
| Format | Contenu | Usage typique |
|---|---|---|
| Data URI | Préfixe + chaîne | Attribut src, lien download, CSS |
| Base64 brut | Chaîne seule | API JSON, base de données, CLI |
| Balise HTML | Élément <embed> |
Aperçu intégré dans une page |
| Variable JS | Déclaration const |
Scripts, modules, tests |
Cas d'usage réels
1. Envoyer un PDF dans une API REST
Plutôt que de gérer un envoi multipart/form-data, certaines API préfèrent recevoir le document encodé dans le corps JSON. Côté client, vous récupérez la chaîne Base64 et l'insérez dans la requête :
fetch('/api/documents', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
name: 'contrat.pdf',
content: pdfBase64Brut // chaîne sans préfixe
})
});
Cette approche simplifie aussi la signature de la requête et la journalisation côté serveur.
2. Stocker un PDF en base de données
Pour de petits documents (reçus, certificats, justificatifs), il est parfois plus simple de stocker le Base64 dans une colonne texte que de gérer un système de fichiers séparé :
INSERT INTO documents (id, nom, contenu_base64)
VALUES (1, 'recu.pdf', 'JVBERi0xLjQK...');
L'outil produit exactement la chaîne brute attendue par ce type de schéma.
3. Embarquer un PDF dans un test automatisé
Lorsqu'un test d'intégration doit vérifier le traitement d'un PDF, embarquer le fichier en Base64 dans la fixture évite de dépendre d'un fichier externe :
// fixtures/sample-pdf.js
export const samplePdf = 'data:application/pdf;base64,JVBERi0...';
// test
it('accepte un PDF valide', () => {
expect(estPdfValide(samplePdf)).toBe(true);
});
4. Intégrer une pièce jointe dans un e-mail HTML
Certains modèles d'e-mails transactionnels intègrent un document directement dans le corps HTML via un lien data URI, ce qui supprime la dépendance à un serveur de pièces jointes. La conversion Base64 est l'étape préalable indispensable.
Bonnes pratiques et limites
✅ Bonnes pratiques
- Privilégier les PDF légers — en dessous de 1 Mo, l'encodage Base64 reste confortable à manipuler
- Utiliser le bon format — Base64 brut pour les API, data URI pour le HTML, afin d'éviter les transformations manuelles
- Télécharger en .txt pour les gros documents plutôt que de copier une chaîne énorme
- Vérifier la signature — toute chaîne valide commence par
JVBERi0(soit%PDF-) - Activer le retour à la ligne uniquement pour les e-mails ou les systèmes MIME qui l'exigent
⚠️ Limites techniques
- Surcoût de 33 % — le Base64 alourdit toujours les données ; il n'est pas adapté au stockage de masse
- Mémoire navigateur — au-delà de ~50 Mo de PDF, l'onglet peut saturer la mémoire disponible
- Pas de compression — l'encodage n'optimise pas le fichier ; compressez le PDF en amont si nécessaire
- Lisibilité — une chaîne Base64 n'est pas faite pour être lue ou modifiée à la main
🔐 Sécurité et confidentialité
FileReader.readAsDataURL() et encodé dans votre navigateur. Aucun octet n'est transmis à un serveur. Vous pouvez convertir des documents confidentiels (contrats, factures, pièces d'identité) en toute sécurité.
🎯 Quand préférer un outil serveur
- Conversion en masse de nombreux PDF (script Node.js avec
fs.readFileSync(...).toString('base64')) - Documents très volumineux dépassant les capacités mémoire du navigateur
- Pipeline CI/CD automatisé nécessitant une trace serveur
- Encodage intégré à un traitement back-end existant
Pour l'opération inverse, consultez notre convertisseur Base64 vers PDF qui décode une chaîne en fichier téléchargeable.
Comment convertir un PDF en Base64
L'outil fonctionne entièrement dans votre navigateur grâce à l'API
FileReader. Aucun fichier n'est transmis à un serveur, ce qui garantit la confidentialité de vos documents. La conversion se fait en trois étapes.Étape 1 : Importer le fichier PDF
Cliquez sur « Choisir un fichier » ou faites un glisser-déposer de votre PDF directement sur la zone pointillée. Seuls les fichiers
.pdfsont acceptés ; tout autre format déclenche un message d'erreur. Une fois le fichier chargé, son nom, son poids et le poids estimé de la chaîne Base64 s'affichent immédiatement.Étape 2 : Choisir le format de sortie
Quatre formats sont proposés dans le sélecteur, selon l'usage que vous ferez de la chaîne :
data:application/pdf;base64,<embed>prêt à coller dans une pageconstdirectement réutilisable dans votre codeL'option « Retour à la ligne tous les 76 caractères » formate la chaîne selon la norme MIME (RFC 2045), pratique pour les e-mails et certains systèmes hérités.
Étape 3 : Copier ou télécharger
Cliquez sur « Copier » pour placer le résultat dans le presse-papiers, ou sur « Télécharger .txt » pour enregistrer la chaîne dans un fichier texte. C'est la solution recommandée pour les gros PDF, car une chaîne de plusieurs millions de caractères est difficile à copier d'un coup.
.txtplutôt que le copier-coller, qui peut figer l'onglet.