acento.io
Dev-tool

Base64 encoder & decoder

Encodeer tekst naar Base64 of decodeer Base64 terug naar tekst — volledig in je browser, zonder dat er ook maar één byte naar een server gaat.

Door Carlos Suárez , Systeemingenieur
Laatst bijgewerkt:

Wat deze Base64 encoder & decoder doet

Base64-codering zet binaire of tekstuele data om naar een alfanumerieke reeks die veilig te transporteren is in systemen die alleen ASCII begrijpen — van e-mailbijlagen (MIME) tot Authorization-headers en JWT-tokens. Deze Nederlandse versie van de tool ondersteunt de volledige RFC 7519-conform URL-safe variant, waarbij +, / en = worden vervangen door -, _ en een lege string, zodat de output direct bruikbaar is in URL-parameters en JSON-velden. UTF-8 multibyte-tekens — denk aan tekens als é, ü of €, die in het Nederlands regelmatig voorkomen — worden correct verwerkt vóór de codering, iets waar de ingebouwde btoa()-functie in JavaScript op struikelt bij niet-Latin-1-invoer. 100% client-side — jouw gegevens verlaten nooit je browser. Geen uploads, geen tracking, geen serverlogs. Je kunt dus zonder risico auth-headers, JWT-payloads of persoonsgegevens plakken.

Functies

  • Standaard én URL-safe codering. Schakel met één klik tussen het standaard Base64-alfabet (RFC 4648 §4) en de URL-safe variant (§5) die - en _ gebruikt in plaats van + en /.
  • Correcte UTF-8-afhandeling. Invoer wordt eerst als UTF-8 gecodeerd voordat Base64 wordt toegepast. Zo werken Nederlandse tekens en emoji feilloos, zonder dat je zelf TextEncoder hoeft aan te roepen.
  • Directe JWT-inspectie. JWT-tokens bestaan uit drie Base64URL-gesegmenteerde delen. Plak de header of payload en lees direct welk algoritme en welke claims erin staan — handig bij het debuggen van OAuth-flows.
  • Privacyveilig voor gevoelige data. Credentials, API-sleutels en persoonlijke gegevens verlaten nooit je apparaat. NEN 7510 schrijft versleuteling voor bij persoonsgegevens in de zorg; voor zulke workflows is een lokale tool geen luxe maar een vereiste.
  • Data-URI's voor assets. Codeer kleine afbeeldingen of lettertypes naar Base64 om ze rechtstreeks in CSS of HTML in te sluiten als data:image/png;base64,... — geen extra HTTP-verzoek nodig.
  • Kopieer met één klik. De gekopieerde output bevat geen extra witruimte of regelafbrekingen, zodat je de string direct in een config of header kunt plakken.

Zo gebruik je de Base64 encoder & decoder

Kies het tabblad 'Encoderen' of 'Decoderen', plak je invoer en de output verschijnt direct. Gebruik de URL-safe-schakelaar als de output in een URL of JSON-veld terechtkomt.

  1. Kies een richting. Klik op 'Encoderen' om tekst naar Base64 om te zetten, of op 'Decoderen' om een Base64-string terug te vertalen naar leesbare tekst.
  2. Plak je invoer. Typ of plak de tekst of Base64-reeks in het invoerveld. UTF-8-tekens zoals accenten en speciale tekens worden automatisch correct verwerkt.
  3. Schakel URL-safe in indien nodig. Gebruik je de output in een URL-parameter, JWT of YAML-config? Zet dan de URL-safe-optie aan. In de terminal doe je hetzelfde met: echo -n 'hello' | base64.
  4. Kopieer het resultaat. Klik op 'Kopiëren'. De string staat klaar op je klembord zonder ongewenste spaties of regeleinden — direct plakbaar in een Authorization-header of configuratiebestand.

Veelvoorkomende toepassingen

  • Authorization: Basic headers bouwen. HTTP Basic Auth verwacht gebruikersnaam:wachtwoord gecodeerd als Base64. Encodeer de combinatie hier en plak de output direct in je Authorization: Basic …-header voor API-tests met curl of Postman.
  • JWT-tokens inspecteren. De header en payload van een JWT (zoals gedefinieerd in RFC 7519) zijn Base64URL-gecodeerd. Decodeer een van de segmenten om te controleren welk algoritme wordt gebruikt of wanneer een token verloopt — handig bij het debuggen van OAuth 2.0-integraties.
  • Binaire data in JSON of YAML insluiten. JSON ondersteunt geen binaire velden. Door afbeeldingen, certificaten of sleutelbestanden als Base64 te coderen, kun je ze als gewone string meesturen in een API-payload of configuratiebestand. Als je ook URL's moet coderen, bekijk dan de [URL encoder & decoder](/nl/url-encoder/).
  • Data-URI's voor embedded assets. Front-enddevelopers coderen kleine SVG-iconen of fonts als Base64 om ze inline in CSS op te nemen (background-image: url('data:image/svg+xml;base64,...')). Dit elimineert een extra netwerkverzoek en is nuttig voor kritieke above-the-fold assets.
  • Veilig debuggen van versleutelde configuraties. Omgevingsvariabelen en secrets worden soms als Base64 opgeslagen in CI/CD-pipelines. Met een volledig lokale tool kun je een encoded waarde controleren zonder hem naar een externe dienst te sturen.

Veelgestelde vragen

Is Base64 een vorm van versleuteling?

Nee. Base64 is een coderingsformaat, geen versleuteling. Iedereen die een Base64-string ziet, kan hem direct decoderen zonder sleutel. Behandel Base64-output dan ook nooit als beveiligde data — het verbergt niets, het vertaalt alleen de representatie van de bytes.

Zijn mijn gegevens veilig als ik hier een wachtwoord of token plak?

Ja. De tool werkt volledig in je browser; er worden geen gegevens naar een server gestuurd. Er is geen netwerkcommunicatie, geen logging en geen cookie-tracking. Je kunt JWT-payloads, API-sleutels of persoonsgegevens veilig plakken zonder dat ze je apparaat verlaten.

Wat is het verschil tussen standaard Base64 en URL-safe Base64?

Het standaard Base64-alfabet (RFC 4648 §4) gebruikt + en / als de 62e en 63e tekens, plus = als opvulteken. Deze tekens hebben een speciale betekenis in URL's en kunnen problemen geven in query strings of JWT-tokens. De URL-safe variant (§5) vervangt ze door -, _ en laat de opvulling weg, zodat de output direct in een URL of JSON-veld past zonder percent-encoding.

Waarom geeft JavaScript een fout bij btoa() met Nederlandse tekens?

btoa() accepteert alleen Latin-1-tekens (ISO 8859-1, de codering die het NEN beheert voor West-Europese tekst). Het Nederlands gebruikt tekens als é, ë en ij die binnen Latin-1 vallen, maar emoji of andere Unicode-tekens niet. De juiste aanpak in moderne JavaScript is: btoa(unescape(encodeURIComponent(text))) of gebruik TextEncoder gecombineerd met een eigen Base64-routine. Deze tool doet dat automatisch voor je.

Hoe decodeer ik een JWT-token?

Een JWT bestaat uit drie Base64URL-gecodeerde delen gescheiden door punten: header.payload.signature. Kopieer het middelste deel (de payload), plak het in het decodeer-tabblad met URL-safe ingeschakeld en je ziet de JSON-claims direct. Let op: de handtekening verifieer je hiermee niet — daarvoor heb je de publieke sleutel van de issuer nodig.

Wat is het verschil tussen Base64 en Base32?

Base32 gebruikt 32 tekens (A–Z en 2–7) en produceert langere strings dan Base64, maar is hoofdletterongevoelig en vermijdt verwarrende tekens zoals 0 en O. Het wordt gebruikt in TOTP-authenticatoren (Google Authenticator) en sommige DNS- en bestandssysteemcontexten. Base64 is compacter en daarmee de standaardkeuze voor de meeste web- en API-toepassingen.