Base64 coderen en decoderen
Gratis Base64-encoder en -decoder met volledige UTF-8-ondersteuning en een URL-veilige base64url-optie. Werkt volledig in je browser, er wordt niets geüpload.
Zo gebruik je de Base64-encoder en -decoder
- Kies of je tekst naar Base64 wilt Coderen of Base64 terug naar tekst wilt Decoderen.
- Typ of plak je invoer in het tekstvak. Letters met accenten, niet-Latijnse schriften en emoji worden allemaal ondersteund.
- Gebruik je het resultaat in een URL, een bestandsnaam of een JSON Web Token, zet dan de optie URL-veilig (base64url) aan om de base64url-variant te krijgen.
- Lees het resultaat en kopieer het. Is de invoer bij het decoderen geen geldige Base64, dan krijg je een foutmelding in plaats van onzin.
Wat is Base64?
Base64 is een manier om willekeurige bytes weer te geven met slechts 64 afdrukbare ASCII-tekens: de hoofdletters A–Z, de kleine letters a–z, de cijfers 0–9 en de twee symbolen + en /. Het teken = dient als opvulling aan het eind. Base64 bestaat omdat veel systemen ontworpen zijn om tekst te vervoeren, geen ruwe binaire data. E-mailberichten, HTTP-headers, XML- en JSON-documenten en data-URL’s verwachten allemaal tekens die kopiëren, loggen en verzenden ongeschonden overleven.
Het algoritme werkt met groepen van drie bytes (24 bits) en splitst die in vier waarden van 6 bits, die elk overeenkomen met een van de 64 tekens. Daarom is Base64-uitvoer altijd ongeveer 33% groter dan de invoer: elke 3 bytes worden 4 tekens. Is de lengte van de invoer geen veelvoud van drie, dan worden er een of twee =-tekens toegevoegd, zodat de lengte van de uitvoer een veelvoud van vier is. Zo wordt het woord Hi gecodeerd als SGk= en Hello als SGVsbG8=.
Tekst, bytes en UTF-8
Base64 codeert bytes, geen tekens, dus tekst moet eerst in bytes worden omgezet. Deze tool gebruikt UTF-8, de codering van bijna elke moderne webpagina en API. Daardoor wordt café netjes Y2Fmw6k=, en een emoji zoals 👍 (vier bytes in UTF-8) wordt correct gecodeerd en decodeert weer tot dezelfde emoji. Veel snelle scripts die op de oudere browserfunctie btoa() leunen, struikelen over alles buiten Latin-1; deze tool heeft die beperking niet.
Standaard-Base64 versus base64url
Standaard-Base64 gebruikt + en /, die in URL’s en bestandspaden een speciale betekenis hebben. De URL-veilige variant, base64url, vervangt + door - en / door _, en laat de =-opvulling meestal weg. Dit formaat wordt gebruikt in JSON Web Tokens (JWT), in veel OAuth-parameters en in URL-verkorters. Zet de URL-veilige optie aan als je dat formaat nodig hebt, en laat hem uit voor e-mailbijlagen, data-URL’s of configuratiebestanden die standaard-Base64 verwachten.
Base64 is geen versleuteling
Dit is veruit het meest voorkomende misverstand. Base64 is een codering: er is geen sleutel en geen geheim, en iedereen kan het direct terugdraaien. Een wachtwoord, API-sleutel of persoonsgegevens in Base64 zetten beschermt ze op geen enkele manier. HTTP Basic-authenticatie stuurt bijvoorbeeld gebruikersnaam:wachtwoord in Base64, en daarom mag die alleen via HTTPS worden gebruikt. Heb je vertrouwelijkheid nodig, gebruik dan echte versleuteling (zoals AES) of een wachtwoordhash (zoals Argon2 of bcrypt), geen Base64.
Privacy
Alle codering en decodering gebeurt lokaal in je browser met JavaScript. De tekst die je invoert wordt nooit naar een server gestuurd, opgeslagen of gelogd, dus je kunt veilig tokens of configuratiewaarden bekijken. Deze tool werkt alleen met tekst; je kunt er geen bestanden mee uploaden.
Veelgestelde vragen
Waarom ziet mijn gedecodeerde tekst eruit als willekeurige tekens?
De Base64-string stelt waarschijnlijk binaire data voor, zoals een afbeelding, een gecomprimeerd bestand of versleutelde inhoud, in plaats van tekst. Het decoderen levert geldige bytes op, maar die vormen geen zinnige UTF-8-tekst. Het kan ook gebeuren als de oorspronkelijke tekst met een andere tekenset dan UTF-8 is gecodeerd.
Waarom zegt de tool dat mijn Base64 ongeldig is?
Geldige Base64 bevat alleen de 64 toegestane tekens plus eventueel = als opvulling, en de lengte moet in groepjes van 4 tekens passen. Veelvoorkomende oorzaken zijn per ongeluk meegekopieerde tekens, een afgekapte string, of een base64url-string (met - en _) die je decodeert zonder de URL-veilige optie.
Kan ik afbeeldingen of andere bestanden coderen?
Nee. Deze tool is alleen bedoeld voor tekst. Om een afbeelding in HTML of CSS in te sluiten heb je een tool nodig die de ruwe bytes van het bestand leest en er een data-URL van maakt.
Is Base64 veilig om wachtwoorden op te slaan?
Nee. Iedereen kan Base64 in een fractie van een seconde decoderen. Wachtwoorden horen te worden opgeslagen met een speciaal, traag hashalgoritme zoals Argon2, scrypt of bcrypt.
Wat is het verschil tussen Base64 met en zonder opvulling?
De opvulling met = maakt de lengte van de uitvoer alleen een veelvoud van vier; ze bevat geen informatie. De meeste decoders kunnen de data ook zonder reconstrueren. base64url laat de opvulling meestal weg, omdat = in URL’s zelf een gereserveerd teken is.
Vergelijkbare tools
- URL encoderen en decoderen Gratis URL-encoder en -decoder. Codeer queryparameters of volledige URL’s met procentcodering, decodeer %XX-reeksen en lees + als spatie, in je browser.
- JSON formatteren en valideren Gratis JSON-formatter en -validator die JSON in je browser leesbaar maakt, minifyt en controleert, met syntaxfouten gemeld per regel en kolom.
- UUID-generator Gratis UUID-generator voor UUID’s van versie 4 en versie 7. Maak er tot 1.000 tegelijk, in hoofdletters of zonder streepjes, en kopieer of download als .txt.