Base64 Encoder / Decoder
Codeer tekst naar Base64 of decodeer Base64 terug naar tekst. UTF-8 safe met base64url-variant.
Geef hierboven invoer om het resultaat te zien.
Wat Base64 eigenlijk doet
Base64 zet willekeurige bytes om naar 64 ASCII-tekens (A–Z, a–z, 0–9 plus twee extra's). Drie input-bytes worden vier output-tekens, dus het resultaat is grofweg 33% groter dan de input. Het is een encoding, geen encryptie — iedereen kan het decoderen.
Wanneer Base64 gebruiken
- Kleine binaire data inbedden in tekstformaten: data URIs, JSON-waarden, environment variables, YAML-strings.
- Binaire tokens coderen (handtekeningen, keys, hashes) om in URLs, headers of cookies te zetten.
- Email-bijlagen en S/MIME — historisch maar nog steeds in gebruik.
Standaard vs base64url
- Standaard (RFC 4648 §4) gebruikt
+,/,=. Prima in email, JSON-waarden, de meeste XML. - base64url (RFC 4648 §5) gebruikt
-,_, en laat doorgaans de trailing=padding weg. Gebruikt in JWTs, OAuth-tokens en overal waar de waarde in een URL leeft, waar+///=extra escaping zouden vereisen.
Veelvoorkomende valkuilen
- Verwar het niet met encryptie. Base64 is door iedereen omkeerbaar. Als de data gevoelig is, versleutel het eerst.
- UTF-8 round-trips hier correct — non-ASCII (é, 你好, 🚀) gaat door
TextEncoder/TextDecoder, niet direct doorbtoa/atob. Naïevebtoa(str)in JavaScript breekt op niet-Latin tekens. - Padding — standaard Base64 eindigt altijd op 0/1/2
=-tekens afhankelijk van de input-lengte. base64url laat ze vaak weg. Decoders die padding vereisen weigeren input zonder padding; deze tool voegt het weer toe bij decoderen indien afwezig. - Whitespace in encoded strings — de decoder hier strijkt spaties en regeleinden eruit (komen vaak van copy-paste), maar sommige libraries niet, dus re-encode als je naar zo'n library doorstuurt.