Base64 encoder & decoder

Zet tekst en bestanden om naar Base64 en weer terug. Gaat correct om met Unicode, ondersteunt URL-safe base64url en vertelt je precies waarom ongeldige invoer mislukt.

Draait in je browserGeen account nodigNiets wordt geüpload

Base64-uitvoer

Zo gebruik je de Base64 coderen / decoderen

  1. Kies Coderen of Decoderen.
  2. Typ of plak je invoer. Het resultaat wordt bijgewerkt terwijl je typt.
  3. Vink voor URL's, JWT's en bestandsnamen URL-safe aan om - en _ te gebruiken, en laat eventueel de =-padding weg.
  4. Om een afbeelding of font in te sluiten klik je op Bestand coderen en laat je Uitvoer als data-URI aangevinkt.
  5. Kopieer het resultaat of gebruik Omwisselen om het in de andere richting terug te voeren.

Hoe Base64 werkt

Base64 stelt binaire data voor met 64 afdrukbare ASCII-tekens: A-Z, a-z, 0-9, + en /. Elke 3 bytes invoer worden 4 tekens, dus gecodeerde data is ongeveer 33% groter. Is de lengte van de invoer geen veelvoud van 3, dan wordt de uitvoer aangevuld met één of twee =-tekens. Base64 is een codering, geen versleuteling: iedereen kan het decoderen.

Standaard Base64 vs. base64url

De tekens + en / hebben een speciale betekenis in URL's en bestandspaden. Het URL-safe alfabet uit RFC 4648 §5 vervangt ze door - en _ en laat de padding meestal weg. JWT's, veel OAuth-parameters en sommige cloud-API's gebruiken base64url. De decoder hier accepteert beide alfabetten automatisch.

Unicode en de valkuil van btoa()

In browsers werkt btoa("café"), maar btoa("日本") geeft een fout, omdat btoa alleen Latin-1 accepteert. De juiste aanpak is de tekst eerst naar UTF-8-bytes te coderen, en dat doet deze tool. In JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), of Buffer.from(text).toString('base64') in Node.js.

Veelvoorkomend gebruik

  • Data-URI's voor kleine afbeeldingen en fonts in CSS of HTML
  • HTTP Basic authentication-headers (user:password gecodeerd)
  • Binaire bijlagen in JSON-payloads en e-mail (MIME)
  • Kubernetes Secrets, die waarden als Base64 opslaan

Veelgestelde vragen

Is Base64 versleuteling?
Nee. Base64 is een omkeerbare codering zonder sleutel. Iedereen kan het decoderen, dus gebruik het nooit om wachtwoorden of secrets te verbergen.
Waarom lukt het decoderen van mijn Base64 niet?
Veelvoorkomende oorzaken zijn tekens buiten het alfabet (vaak een verdwaald aanhalingsteken of regeleinde door het kopiëren), een afgekapte string of tekst die geen Base64 is. De foutmelding toont de positie van het eerste probleem.
De gedecodeerde uitvoer is onleesbaar. Hoe kan dat?
De data is waarschijnlijk binair, bijvoorbeeld een afbeelding, een gecomprimeerd bestand of versleutelde bytes, en geen tekst. De tool herkent dit, toont een hexdump en laat je de ruwe bytes downloaden.
Heb ik de =-padding nodig?
Veel decoders, ook deze, werken zonder, omdat de lengte aangeeft hoeveel bytes er ontbreken. Sommige strikte decoders vereisen de padding wel. JWT's en het meeste gebruik van base64url laten de padding weg.
Worden mijn bestanden geüpload?
Nee. Bestanden worden lokaal gelezen en gecodeerd met de File API van de browser. Er wordt niets naar een server gestuurd.

Gerelateerde tools