Base64-naar-PDF-converter

Plak Base64 uit een API-antwoord, een e-mail of een database en maak er weer een PDF van. Lees hem in de ingebouwde viewer en sla hem daarna op als gewoon .pdf-bestand.

Werkt volledig in je browser. Er wordt niets geüpload.

Zo gebruik je het

  1. Plak de Base64-string, of een data-URI die begint met data:application/pdf;base64, in het invoervak.
  2. Controleer of het bestand als PDF wordt herkend en lees het in de viewer.
  3. Download de PDF om hem op je apparaat op te slaan.

Base64 kopiëren uit een API-antwoord

Diensten die facturen, verzendlabels, rapporten of ondertekende contracten genereren, sturen de PDF vaak terug in JSON, bijvoorbeeld {"filename": "label.pdf", "data": "JVBERi0..."}. Kopieer alleen de tekst tussen de aanhalingstekens na de veldnaam en let op deze details:

  • Geëscapete slashes. Sommige JSON-encoders, waaronder json_encode van PHP, schrijven elke / als \/. Omdat / een gewoon Base64-teken is, vervang je \/ door / voordat je plakt, of je ontleedt eerst de JSON en kopieert dan de waarde.
  • Aanhalingstekens en komma's. Laat de omringende aanhalingstekens en een eventuele komma aan het eind weg.
  • Regeleinden. Spaties en echte regeleinden in de Base64, zoals bij een waarde die na 76 tekens is afgebroken, zijn geen probleem en hoeven niet weg. Letterlijke reeksen \n of \r\n in ruwe JSON zijn een ander verhaal: dat zijn backslashtekens die je moet verwijderen.

Kopieer je de waarde uit de geparste weergave in de ontwikkelaarstools van je browser, dan heb je met geen van deze escapeproblemen te maken.

Een PDF-bijlage uit een e-mail halen

E-mailbijlagen staan als Base64 in het ruwe bericht. Open de bron van het bericht ("Origineel weergeven" in Gmail, "Berichtbron" in Thunderbird, "Ruwe bron" in Apple Mail) en zoek het deel waarvan de headers Content-Type: application/pdf (of application/octet-stream met een .pdf-bestandsnaam) en Content-Transfer-Encoding: base64 bevatten. Kopieer het blok dat begint na de lege regel onder die headers en eindigt vóór de volgende regel die met -- begint: dat is de MIME-grens. Plak het hier zoals het is; de regeleinden worden genegeerd.

Een Base64-PDF tonen in je eigen webapp

Krijgt je front-end een Base64-PDF binnen die getoond moet worden, dan is een Blob-URL betrouwbaarder dan een data-URI, die sommige browsers weigeren te openen in een nieuw tabblad:

const bytes = Uint8Array.from(atob(base64), c => c.charCodeAt(0));
const blob = new Blob([bytes], { type: 'application/pdf' });
const url = URL.createObjectURL(blob);
window.open(url); // of gebruik hem als src van een <iframe>

Roep URL.revokeObjectURL(url) aan zodra je het document niet meer nodig hebt, om het geheugen vrij te geven. Let op: atob accepteert alleen het standaard Base64-alfabet, dus zet URL-veilige invoer (- en _) eerst om.

Veelgestelde vragen

Waarom wordt mijn Base64 niet als PDF herkend?
Een Base64-PDF begint met JVBERi0, de codering van %PDF-. Begint die van jou met een aanhalingsteken, een veldnaam of andere tekst, haal dat dan weg. Begint hij met SlZCRVJ, dan is de PDF twee keer als Base64 gecodeerd: decodeer hem één keer met Base64 decoderen en plak het resultaat hier. Anders gaat het misschien om een ander bestandstype, dat Base64 naar bestand kan herkennen.
De PDF wordt gedownload maar opent niet. Wat ging er mis?

Waarschijnlijk is de Base64 afgekapt. Logs, consoles en databasetools kappen lange waarden vaak af, en een PDF waarvan het einde ontbreekt, is onleesbaar, omdat de kruisverwijzingstabel die elke pagina terugvindt bij het einde van het bestand staat. Kopieer de volledige waarde opnieuw, het liefst door het oorspronkelijke antwoord in een bestand op te slaan.

Het voorbeeld blijft leeg op mijn telefoon. Is het bestand kapot?

Niet per se. Sommige mobiele browsers kunnen geen PDF binnen een pagina tonen. Download het bestand en open het in een PDF-lezer om het te controleren.

Kan ik een met een wachtwoord beveiligde PDF decoderen?

Ja. Decoderen herstelt het bestand byte voor byte, inclusief de versleuteling. Het voorbeeld vraagt mogelijk om het wachtwoord of blijft leeg, en het gedownloade bestand opent in elke PDF-lezer zodra je het wachtwoord invoert.

Wordt het document ergens naartoe geüpload?

Nee. Het decoderen en het voorbeeld gebeuren in je browser, dus vertrouwelijke PDF's zoals contracten, loonstroken of medische dossiers blijven op je apparaat.