← Alle tools

Base64 coderen en decoderen

Codeer en decodeer Base64 direct in je browser. Leer wat Base64 is, waarom het de bestandsgrootte met 33% vergroot en waarom het codering is, geen versleuteling.

Wat Base64 is en waarom het bestaat

Base64 is een binair-naar-tekst-coderingsschema. Het neemt ruwe bytes — de soort data waaruit afbeeldingen, archieven, cryptografische sleutels of alles wat geen gewone leesbare tekst is bestaat — en herschrijft ze met een klein, veilig alfabet van 64 afdrukbare tekens: de 26 hoofdletters A-Z, de 26 kleine letters a-z, de tien cijfers 0-9, en twee extra symbolen, doorgaans + en /. Een is-teken wordt voor opvulling aan het einde gebruikt. Omdat elk geproduceerd teken gewone ASCII is, kan het resultaat worden doorgegeven via systemen die uitsluitend zijn ontworpen voor tekstverwerking.

Dat is de enige reden waarom Base64 is uitgevonden. Veel oudere protocollen — e-mail is het klassieke voorbeeld — gaan ervan uit dat de inhoud die ze vervoeren tekst is. Als je ze ruwe binaire data geeft, worden sommige bytes verminkt, verwijderd, of geïnterpreteerd als besturingstekens, en komt de data beschadigd aan. Base64 omzeilt het probleem door de bytes om te zetten in een vorm die elk tekstveilig kanaal onbeschadigd doorlaat. De oorspronkelijke data kan daarna exact worden gereconstrueerd aan de andere kant.

Abstract gloeiende stroom binaire data die zich omzet in een tekentekststroom op donkerindigo met cyaan en goud licht
Base64 vormt ruwe bytes om tot een veilige, tekstvriendelijke tekenstroom.

Hoe de conversie werkt

Mechanisch groepeert Base64 de invoer in stukken van drie bytes — dat zijn 24 bits — en verdeelt die 24 bits vervolgens opnieuw in vier groepen van zes bits elk. Zes bits kunnen 64 mogelijke waarden vertegenwoordigen, en dat is precies waarom het alfabet 64 tekens heeft. Drie bytes invoer worden dus altijd vier tekens uitvoer. Wanneer de invoerlengte geen veelvoud van drie is, vult de encoder de laatste groep aan met een of twee =-tekens zodat een decoder weet waar de echte data eindigt.

Deze vier-voor-drie-verhouding is ook de bron van de bekende toename in bestandsgrootte: Base64-uitvoer is ongeveer 33% groter dan de oorspronkelijke data. Als de gecodeerde tekst in regels van vaste breedte wordt gewikkeld, zoals e-mailstandaarden vaak vereisen, betaal je nog een paar procent extra voor de regelafbrekingen. De overhead is de prijs van compatibiliteit, en voor de meeste toepassingen is dat een eerlijke ruil.

Waar je Base64 tegenkomt

Als je eenmaal weet waar je op moet letten, duikt Base64 overal op in het dagelijks computergebruik:

  • Data-URI's. Een kleine afbeelding of lettertype kan direct in HTML of CSS worden ingebed met een data:-URI, waarbij de bestandsinhoud als Base64 is uitgeschreven. De browser decodeert het inline, waardoor een apart netwerkverzoek overbodig wordt.
  • E-mailbijlagen. MIME, de standaard die e-mail in staat stelt bestanden te vervoeren, leunt op Base64 om binaire bijlagen zonder beschadiging door een tekstgericht mailsysteem te sturen.
  • HTTP Basic-authenticatie. De bekende Authorization: Basic ...-header is simpelweg een gebruikersnaam en wachtwoord, samengevoegd met een dubbele punt en Base64-gecodeerd — wat precies de reden is waarom Basic-auth altijd via HTTPS moet verlopen.
  • Tokens en configuratie. JSON Web Tokens, certificaten, SSH-sleutels en talloze configuratiewaarden worden als Base64 opgeslagen of verzonden zodat ze kopiëren-plakken en tekstgebaseerde opslag overleven.

Codering is geen versleuteling

Dit is het belangrijkste om te begrijpen, en het brengt zowel beginners als ervaren ontwikkelaars in de war. Base64 is geen versleuteling en biedt geen enkele beveiliging. Er is geen geheime sleutel, geen wachtwoord, en er is niets privé aan. De transformatie is volledig openbaar en volledig omkeerbaar: iedereen die een Base64-string ziet, kan die in een seconde decoderen naar de originele bytes, met een tool precies zoals deze.

Base64 is dan ook een slechte schuilplaats voor wachtwoorden, API-sleutels of andere gevoelige waarden. Als een string er alleen maar verward uitziet, is hij daarmee niet beschermd. Versleuteling daarentegen transformeert data met een geheime sleutel zodat alleen iemand met die sleutel het kan lezen. De twee lossen verschillende problemen op: versleuteling beschermt vertrouwelijkheid, Base64 beschermt compatibiliteit. Ze worden vaak samen gebruikt — je zou data met AES kunnen versleutelen en de cijfertekst vervolgens Base64-coderen zodat hij door een tekstkanaal kan reizen — maar de een is nooit een vervanging voor de ander.

Een abstracte afbeelding die uiteenvalt in een vloeiende stroom gloeiende tekens en opnieuw samenkomt, indigo marineblauw met cyaan en goud
Coderen en decoderen zijn volledig omkeerbaar — en bieden geen geheimhouding.

Coderen versus decoderen

De twee richtingen zijn eenvoudige spiegelbeelden. Coderen neemt je originele tekst of binaire data en produceert de Base64-tekenreeks. Decoderen neemt een Base64-string en reconstrueert de exacte originele bytes. Onze tool doet beide richtingen direct in je browser — niets wat je typt of plakt wordt ooit naar een server gestuurd, zodat de bewerking volledig lokaal en privé is. Dat maakt het veilig om een token te decoderen dat je aan het debuggen bent, of een fragment te coderen dat je wilt insluiten, zonder dat je data de pagina verlaat.

Zie voor verwante conversies onze URL coderen/decoderen-tool voor procentcodering, of de JWT-decoder wanneer je de Base64-segmenten binnen een token wilt inspecteren. Je vindt deze naast de rest van onze ontwikkelaarstools.

Veelgestelde vragen

Is Base64 een vorm van versleuteling?

Nee. Base64 is een codering, geen versleuteling. Het gebruikt geen sleutel en is voor iedereen volledig omkeerbaar, dus het biedt geen beveiliging. Gebruik echte versleuteling zoals AES of RSA om gevoelige data te beschermen.

Waarom maakt Base64 data groter?

Base64 verandert elke drie bytes invoer in vier uitvoertekens, wat de grootte met ongeveer 33% vergroot. Als de uitvoer in regels van vaste lengte wordt gesplitst, voegen regelafbrekingen nog een paar procent toe.

Welke tekens gebruikt Base64?

Het standaardalfabet bestaat uit de 26 hoofdletters, 26 kleine letters, de cijfers 0 tot en met 9, plus de symbolen plus en schuine streep, met het is-teken voor opvulling aan het einde.

Kan ik wachtwoorden veilig opslaan in Base64?

Nee. Base64 verandert alleen hoe data eruitziet, niet wie het kan lezen. Iedereen kan het onmiddellijk decoderen. Wachtwoorden moeten worden gehasht met een sterk algoritme, en geheimen moeten worden versleuteld.

Is deze Base64-tool privé?

Ja. Coderen en decoderen vinden volledig in je browser plaats. Niets wat je invoert wordt geüpload of naar een server verzonden, zodat je data op je eigen apparaat blijft.

Wat is het verschil tussen coderen en decoderen?

Coderen converteert originele tekst of binaire data naar een Base64-string. Decoderen keert dat om en zet een Base64-string terug naar de exacte originele bytes. Het zijn spiegeloperaties.