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.

Base64
SGFsbG8sIHdlcmVsZCEgUHJpanM6IOKCrCAxMg==
28 bytesInvoer (UTF-8)
40Base64-tekens
TekensHalBytes (decimaal · hex) en bits72 · 4897 · 61108 · 6c010010000110000101101100Groepen van 6 bits186544Base64SGFs
De eerste 3 bytes, bit voor bit. Gestippelde bits zijn nullen die de laatste groep aanvullen; ontbrekende groepen worden =.

Zo werkt het

  1. 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.
  2. 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.
  3. 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.

InvoerBytesBase64
Man3TWFu
Ma2TWE=
M1TQ==
€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?
Kies Decoderen en plak de string. De tekst verschijnt meteen. Zijn de bytes geen tekst, bijvoorbeeld een afbeelding, dan toont het hulpmiddel ze hexadecimaal en kun je het bestand downloaden via het tabblad Bestand.
Is Base64 versleuteling?
Nee. Het is een omkeerbare codering zonder sleutel: iedereen kan het decoderen. Gebruik het nooit om wachtwoorden of persoonsgegevens te beschermen.
Waarom eindigt Base64 op = of ==?
De =-tekens zijn padding. Base64 werkt met groepen van 3 bytes; heeft de laatste groep maar 2 bytes, dan komt er één = bij, bij 1 byte twee.
Waarom is Base64 groter dan het origineel?
Omdat 3 bytes 4 tekens worden, een toename van ongeveer 33%. 30.000 bytes worden 40.000 tekens, nog zonder regeleinden.
Wat is het verschil tussen Base64 en base64url?
base64url gebruikt - en _ in plaats van + en /, zodat het zonder escapen in URL's en bestandsnamen past. Het staat in paragraaf 5 van RFC 4648 en is het formaat van JWT-tokens.
Waarom hoort een teken ‘niet bij het Base64-alfabet’?
De string bevat een teken buiten het Base64-alfabet, vaak een aanhalingsteken, een % uit URL-codering of een teken dat bij kopiëren en plakken is meegekomen. De melding noemt welk teken en waar; haal het weg en probeer het opnieuw.
Hoe codeer ik een afbeelding naar Base64?
Kies het tabblad Bestand en selecteer de afbeelding. Je krijgt een data-URL die je direct in HTML of CSS kunt plakken, bijvoorbeeld in een img-element of als achtergrond.
Worden mijn bestanden geüpload?
Nee. Bestanden worden gelezen en omgezet door je browser, op je eigen apparaat. Er gaat niets naar een server.

Laatst bijgewerkt op woensdag 14 oktober 2026