Gratis, zonder account
Base64 decoderen en coderen
Base64 schrijft alle soorten gegevens met 64 veilige tekens: ‘Hallo, wereld!’ wordt SGFsbG8sIHdlcmVsZCE=. Plak Base64 om het te decoderen, of typ tekst om die te coderen. Het hulpmiddel kan overweg met UTF-8 (accenten, de trema in ‘ideeën’ en emoji), met de URL-veilige variant uit tokens, met de regels van 76 tekens uit e-mail en met hele bestanden als data-URL. Alles gebeurt in je browser; er gaat niets naar een server.
Zo werkt het
- Kies coderen of decoderen. Kies op het tabblad Tekst voor Coderen om tekst om te zetten naar Base64, of voor Decoderen om een Base64-string te lezen. Voor afbeeldingen en documenten gebruik je het tabblad Bestand.
- Plak of typ. De uitkomst verandert terwijl je typt. Bij decoderen worden spaties en regeleinden genegeerd, en zowel het standaard- als het URL-veilige alfabet wordt geaccepteerd, met of zonder padding.
- Kopieer of download. Kopieer de uitkomst met één klik. Op het tabblad Bestand kun je de data-URL kopiëren, als tekstbestand downloaden of geplakte Base64 weer omzetten naar het oorspronkelijke bestand.
Zo werkt Base64
Computers slaan gegevens op als bytes van 8 bits, maar veel kanalen, zoals e-mail, URL's, JSON en HTML-attributen, vervoeren alleen gewone tekst veilig. Base64 lost dat op door de bytes per 3 te nemen (24 bits) en die te verdelen in 4 groepen van 6 bits. Elke groep van 6 bits is een getal van 0 tot 63 en kiest één teken uit een vast alfabet: A–Z, a–z, 0–9, + en /.
Is het aantal bytes geen veelvoud van 3, dan wordt de laatste groep aangevuld met nulbits en worden de ontbrekende tekens vervangen door =. Daarom wordt ‘Man’ TWFu, ‘Ma’ TWE= en ‘M’ TQ==. De tekening onder het hulpmiddel laat dat bit voor bit zien voor de eerste drie bytes van je invoer.
| Invoer | Bytes | Base64 |
|---|---|---|
| Man | 3 | TWFu |
| Ma | 2 | TWE= |
| M | 1 | TQ== |
| € | 3 (e2 82 ac) | 4oKs |
Elke 3 bytes worden 4 tekens, dus Base64 is ongeveer een derde groter dan het origineel: 30.000 bytes worden 40.000 tekens, 33,3% meer. Tekst wordt eerst met UTF-8 omgezet naar bytes; daarom neemt één euroteken 3 bytes en 4 Base64-tekens in beslag.
Waar Base64 wordt gebruikt
- E-mailbijlagen: MIME codeert bestanden in Base64 en breekt de regels af na 76 tekens. Zet ‘Regels van 76 tekens’ aan voor dezelfde opmaak.
- Data-URL's in HTML en CSS: een klein pictogram kun je insluiten als data:image/png;base64,…, zodat de pagina één verzoek minder nodig heeft. Maak er een met het tabblad Bestand.
- Webtokens: een JSON Web Token bestaat uit drie base64url-delen met punten ertussen. De header {"alg":"HS256","typ":"JWT"} wordt eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9. Door een token te decoderen zie je de inhoud, maar om de handtekening te controleren heb je de sleutel nodig.
- HTTP Basic-authenticatie: de header ‘Authorization: Basic Z2VicnVpa2VyOndhY2h0d29vcmQ=’ is gewoon gebruiker:wachtwoord in Base64. Daarom mag die alleen over HTTPS gaan.
- API's en configuratiebestanden: binaire gegevens zoals certificaten, sleutels en afbeeldingen staan in JSON of YAML vaak als Base64.
Base64 is geen versleuteling
Base64 is een codering, geen versleuteling: er is geen sleutel, en iedereen kan het in een seconde decoderen, met dit hulpmiddel of met één regel code. Het verbergt niets. Een wachtwoord, API-sleutel of persoonsgegeven in Base64 ligt net zo open als gewone tekst.
Wil je gegevens beschermen, gebruik dan echte versleuteling (bijvoorbeeld AES) en verstuur ze via HTTPS; wachtwoorden sla je op met een trage hashfunctie die daarvoor bedoeld is. Base64 zorgt er alleen voor dat gegevens veilig door systemen reizen die tekst verwachten. Heb je willekeurige waarden nodig, voor een loting of een steekproef, kijk dan bij willekeurig getal.
Dit hulpmiddel decodeert in je browser, dus een token dat je hier plakt, gaat nergens heen. Behandel tokens en sleutels uit productie toch als geheim.
Varianten: URL-veilig, padding en regeleinden
De tekens + en / hebben een speciale betekenis in webadressen en bestandsnamen. De variant base64url vervangt ze door - en _: dezelfde bytes geven PDw/Pz8+Pg== in standaard-Base64 en PDw_Pz8-Pg== in base64url. Vaak valt ook de =-padding weg, omdat de lengte van de string al aangeeft waar de gegevens eindigen.
De decoder accepteert beide alfabetten en werkt met en zonder padding. Je krijgt een precieze foutmelding als een teken buiten het alfabet valt (met de positie), als de lengte niet geldig kan zijn of als er een = midden in de string staat. Spaties en regeleinden worden overgeslagen, zoals MIME voorschrijft.
Uitgewerkte voorbeelden
Een korte tekst coderen
‘Hallo, wereld!’ is 14 bytes in UTF-8. 14 = 4 × 3 + 2, dus de uitkomst heeft 5 groepen van 4 tekens en eindigt op één =: SGFsbG8sIHdlcmVsZCE=.
Een Basic-authenticatieheader lezen
Plak Z2VicnVpa2VyOndhY2h0d29vcmQ= bij Decoderen en je krijgt gebruiker:wachtwoord. Iedereen die de header ziet, kan de inloggegevens lezen.
Een teken buiten het gewone alfabet
Het euroteken is U+20AC; in UTF-8 zijn dat de 3 bytes e2 82 ac, die 4oKs worden. De Nederlandse ligatuur ij als één teken (U+0133) is in UTF-8 c4 b3 en wordt xLM=; meestal typ je ij echter als twee gewone letters.
Bronnen
- RFC 4648, ‘The Base16, Base32, and Base64 Data Encodings’ (IETF, 2006): paragraaf 4 (Base64-alfabet), paragraaf 5 (base64url), paragraaf 3.2 (padding), paragraaf 3.3 (tekens buiten het alfabet) en paragraaf 10 (testvectoren).
- RFC 2045, ‘Multipurpose Internet Mail Extensions (MIME) Part One’ (IETF, 1996), paragraaf 6.8: Base64 als content-transfer-encoding met regels van hoogstens 76 tekens.
- RFC 7519, ‘JSON Web Token (JWT)’ (IETF, 2015): gebruik van base64url zonder padding.
- Unicode Consortium, codetabel Latin Extended-A: U+0133 LATIN SMALL LIGATURE IJ.
De voorbeelden op deze pagina worden berekend met dezelfde code als het hulpmiddel, dus de strings in de tekst kloppen altijd met wat het produceert. Bronnen gecontroleerd op 22 oktober 2026.
Veelgestelde vragen
Hoe decodeer ik Base64?
Is Base64 versleuteling?
Waarom eindigt Base64 op = of ==?
Waarom is Base64 groter dan het origineel?
Wat is het verschil tussen Base64 en base64url?
Waarom hoort een teken ‘niet bij het Base64-alfabet’?
Hoe codeer ik een afbeelding naar Base64?
Worden mijn bestanden geüpload?
Laatst bijgewerkt op woensdag 14 oktober 2026