Skip to content

Base64 decoderen en encoderen online

Base64 decoderen en encoderen direct in je browser. Realtime conversie met volledige UTF-8- en emoji-ondersteuning. 100% privé — geen account nodig.

Geen tracking Draait in je browser Gratis
Tekst
Base64
Gecontroleerd op conformiteit met RFC 4648 en UTF-8-correctheid — Go Tools Engineering Team · Mar 22, 2026

Wat is Base64?

Base64 is een binary-to-text encoding schema zoals gedefinieerd in RFC 4648, dat willekeurige binaire data omzet naar een veilige ASCII-stringrepresentatie met behulp van een alfabet van 64 tekens. Het is een van de meest wijdverbreide coderingen op het internet, die alles ondersteunt van e-mailbijlagen tot JSON Web Tokens en TLS-certificaten.

"The Base 64 encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable." — RFC 4648, Section 1

Base64 verdeelt de invoer in groepen van 3 bytes (24 bits), splitst die 24 bits vervolgens in vier 6-bit-groepen, die elk worden toegewezen aan een van de 64 afdrukbare tekens: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62) en / (63). Het teken = vult de uitvoer op wanneer de invoerlengte geen veelvoud van 3 is. Base64-encodering vergroot de dataomvang met ongeveer 33% (RFC 4648) — een bewuste afweging om binaire data geschikt te maken voor tekstgebaseerde kanalen.

Base64 was oorspronkelijk ontworpen om binaire data veilig te versturen via kanalen die alleen tekst ondersteunen, zoals e-mail (MIME) en vroeg HTTP. Tegenwoordig is het overal te vinden: data-URI's sluiten afbeeldingen in HTML in, JWT-tokens encoderen claims, PEM-certificaten wikkelen sleutels in, en API's vervoeren binaire payloads in JSON.

Een Base64-encoder zet ruwe bytes om naar deze veilige ASCII-representatie, terwijl een decoder het proces omdraait. Alle encodering en decodering in deze tool verloopt volledig in je browser — je data wordt nooit naar een server geüpload, waardoor de tool veilig is voor API-sleutels, tokens en andere gevoelige waarden.

Gebruik deze gratis online Base64-converter om Base64 direct in je browser te decoderen naar tekst of tekst te encoderen naar Base64.

Base64 wordt vaak samen met andere encodeer- en datatools gebruikt. Je kunt bijvoorbeeld JSON-data formatteren voordat je het Base64-encodeert voor een API-payload, een Base64-string URL-encoderen voordat je hem in een queryparameter plaatst, of een bestandchecksum verifiëren met MD5 of SHA-256 nadat je een Base64-geëncodeerde download hebt gedecodeerd. Wil je dieper ingaan op MIME, data-URL's en geavanceerde Base64-toepassingen? Zoek dan in de documentatie van de betreffende standaarden of raadpleeg RFC 4648 rechtstreeks.

// Encode plain text to Base64
const encoded = btoa('Hello, World!');
console.log(encoded); // → 'SGVsbG8sIFdvcmxkIQ=='

// Decode Base64 back to text
const decoded = atob('SGVsbG8sIFdvcmxkIQ==');
console.log(decoded); // → 'Hello, World!'

// UTF-8 safe encode (handles Chinese, emoji, any Unicode)
function encodeBase64(str) {
  const bytes = new TextEncoder().encode(str);  // to UTF-8 bytes
  return btoa(String.fromCharCode(...bytes));
}
console.log(encodeBase64('你好')); // → '5L2g5aW9'

Belangrijkste functies

Realtime-conversie

Direct encoderen en decoderen terwijl je typt — geen knopjes nodig, resultaten verschijnen onmiddellijk in het andere gebied.

Volledige UTF-8-ondersteuning

Verwerkt correct Chinees, Japans, Koreaans, Arabisch, emoji en elke Unicode-tekst via TextEncoder/TextDecoder.

Bidirectioneel

Typ in beide gebieden: platte tekst links encodeert naar Base64 rechts, Base64 rechts decodeert naar tekst links.

100% browsergebaseerd

Alle verwerking vindt lokaal in je browser plaats. Je data verlaat nooit je apparaat — geen serveruploads, geen tracking.

Foutdetectie

Ongeldige Base64-invoer wordt onmiddellijk gedetecteerd met een duidelijke foutmelding, zodat je precies weet wat je moet corrigeren.

Met één klik kopiëren

Kopieer geëncodeerde of gedecodeerde resultaten met één klik naar je klembord met de kopieerknop aan elke kant.

Voorbeelden

Platte tekst

Hello, World!
SGVsbG8sIFdvcmxkIQ==

Eenvoudige ASCII-tekst geëncodeerd naar Base64

UTF-8-tekst

你好世界 🌍
5L2g5aW95LiW55WMIPCfjI0=

Chinese tekens en emoji correct geëncodeerd via UTF-8

JSON-data

{"user":"alice","role":"admin"}
eyJ1c2VyIjoiYWxpY2UiLCJyb2xlIjoiYWRtaW4ifQ==

JSON-payloads encoderen voor gebruik in URL's of headers

Meerdere regels

Line 1
Line 2
Line 3
TGluZSAxCkxpbmUgMgpMaW5lIDM=

Base64 behoudt regeleinden en witruimte

Zo gebruik je het

  1. 1

    Voer tekst of Base64 in

    Typ of plak platte tekst in het linkergebied om te encoderen, of plak een Base64-string in het rechtergebied om te decoderen. De conversie is direct en werkt in beide richtingen.

  2. 2

    Zie de resultaten in realtime

    Het andere gebied wordt automatisch bijgewerkt terwijl je typt. Eventuele fouten (zoals ongeldige Base64) worden onmiddellijk weergegeven.

  3. 3

    Kopieer het resultaat

    Klik op de kopieerknop aan beide kanten om het geëncodeerde of gedecodeerde resultaat naar je klembord te kopiëren.

Veelvoorkomende gebruikssituaties

Data-URI genereren
Afbeeldingen of bestanden encoderen naar Base64 voor directe insluiting in HTML of CSS als data-URI's.
JWT debuggen
Base64-geëncodeerde JWT-tokenheaders en payloads decoderen om claims en verloopdatums te inspecteren.
API-ontwikkeling
Binaire data encoderen voor overdracht in JSON-API's, of Base64-responses decoderen voor inspectie.
E-mailencodering
MIME-geëncodeerde e-mailinhoud en bijlagen encoderen of decoderen.
Certificaatinspectie
PEM-geëncodeerde certificaten en sleutels decoderen om hun binaire inhoud te onderzoeken.
Configuratie insluiten
Configuratiedata of geheimen encoderen voor veilige insluiting in omgevingsvariabelen of configuratiebestanden.

Technische details

RFC 4648-conform
Implementeert standaard Base64-encodering zoals gedefinieerd in RFC 4648, met het alfabet A-Z, a-z, 0-9, +, / en =-opvulling.
UTF-8 via TextEncoder
Gebruikt de Web API TextEncoder om Unicode-strings om te zetten naar UTF-8-bytes vóór encodering, zodat alle scripts en emoji correct worden verwerkt.
Browsergebaseerde verwerking
Alle encodering gebruikt native btoa()/atob() met TextEncoder/TextDecoder — geen externe bibliotheken, geen servercalls.

Aanbevolen werkwijzen

Gebruik Base64 niet voor beveiliging
Base64 is encodering, geen versleuteling. Gebruik het nooit om wachtwoorden, tokens of gevoelige data te 'beschermen' — gebruik altijd echte versleuteling.
Let op de grootte-toename
Base64 voegt ~33% overhead toe. Overweeg voor grote bestanden binaire overdracht in plaats van Base64-encodering.
Gebruik UTF-8-encodering
Encodeer tekst altijd eerst naar UTF-8-bytes vóór Base64-encodering om ervoor te zorgen dat niet-ASCII-tekens (Chinees, emoji) correct worden verwerkt.

Veelgestelde vragen

Wat is Base64-encodering?
Base64 is een binary-to-text encoding schema dat binaire data weergeeft als een reeks afdrukbare ASCII-tekens. Het zet elke 3 bytes invoer om in 4 ASCII-tekens uit de set A-Z, a-z, 0-9, + en /. Het teken '=' wordt gebruikt voor opvulling wanneer de invoerlengte geen veelvoud van 3 is. Base64 is gedefinieerd in RFC 4648 en wordt veel gebruikt in e-mail (MIME), data-URI's, JSON Web Tokens (JWT) en HTTP-authenticatie.
Is mijn data veilig bij gebruik van deze tool?
Ja, volledig. Alle encodering en decodering vindt lokaal in je browser plaats via de native JavaScript-API's btoa(), atob(), TextEncoder en TextDecoder. Je data verlaat nooit je apparaat — er zijn geen serververzoeken, geen cookies, geen analyses van je invoer en geen dataopslag van welke soort dan ook.
Hoe gaat deze tool om met niet-ASCII-tekens zoals Chinees of emoji?
De tool zet de invoertekst eerst om naar UTF-8-bytes via de TextEncoder-API, en encodeert die bytes vervolgens naar Base64. Dit zorgt ervoor dat tekens buiten het ASCII-bereik — waaronder Chinees (你好), Japans (こんにちは), Arabisch en emoji (🎉) — correct worden geëncodeerd. Bij het decoderen keert de tool het proces om: Base64 → bytes → UTF-8-tekst via TextDecoder.
Is Base64 versleuteling?
Nee. Base64 is een encodering, geen versleuteling. Het biedt geen enkele beveiliging — iedereen kan een Base64-string direct terugdecoderen naar de originele data. Base64 is ontworpen voor datatransport (binaire data veilig maken voor tekstkanalen), niet voor het beschermen van geheimen. Als je data wilt beveiligen, gebruik dan echte versleuteling (AES, RSA) voordat je het resultaat eventueel Base64-encodeert.
Waar wordt Base64 veel gebruikt?
Base64 wordt uitgebreid toegepast in: (1) Data-URI's — afbeeldingen direct in HTML/CSS insluiten als 'data:image/png;base64,...', (2) E-mail — MIME-encodering voor bijlagen en niet-ASCII-inhoud, (3) JWT — JSON Web Tokens encoderen header en payload als Base64URL, (4) HTTP Basic Auth — inloggegevens worden verstuurd als Base64-geëncodeerde 'gebruikersnaam:wachtwoord'-string, (5) API's — binaire data overdragen in JSON-payloads, (6) Certificaten — PEM-formaat wikkelt DER-geëncodeerde certificaten in Base64.
Wat is het verschil tussen Base64 en URL-veilige Base64?
Standaard Base64 gebruikt de tekens '+' en '/', die een speciale betekenis hebben in URL's — + staat voor een spatie en / is een padscheidingsteken. URL-veilige Base64 (ook gedefinieerd in RFC 4648) vervangt '+' door '-' en '/' door '_', zodat de uitvoer zonder extra percent-encodering veilig in URL's en bestandsnamen kan worden gebruikt. Als je standaard Base64 in een URL wilt gebruiken, kun je het percent-encoderen met onze URL-encoder. Deze tool gebruikt standaard Base64. Om om te zetten naar URL-veilige Base64, vervang je + door - en / door _ in de uitvoer.
Waarom neemt de dataomvang toe bij Base64?
Base64 encodeert 3 bytes invoer naar 4 uitvoertekens, wat neerkomt op een toename van ongeveer 33%. Dit komt doordat Base64 slechts 64 afdrukbare ASCII-tekens (elk 6 bits) gebruikt om 8-bit bytes voor te stellen. De 13-tekens-string 'Hello, World!' wordt bijvoorbeeld de 20-tekens Base64-string 'SGVsbG8sIFdvcmxkIQ=='. Deze afweging is aanvaardbaar omdat de geëncodeerde data veilig kan worden verstuurd via tekstgerichte protocollen.
Hoe encodeer ik een bestand naar Base64?
Op macOS of Linux gebruik je de commandoregel: base64 < myfile.png > myfile.b64. Op Windows gebruik je PowerShell: [Convert]::ToBase64String([IO.File]::ReadAllBytes('myfile.png')). In JavaScript (Node.js) gebruik je fs.readFileSync('myfile.png').toString('base64'). In Python gebruik je import base64; base64.b64encode(open('myfile.png','rb').read()). Deze browsertool verwerkt tekstinvoer; voor grote binaire bestanden zijn commandoregeltools efficiënter.
Kan ik Base64 gebruiken in HTML en CSS?
Ja. Base64 wordt veel gebruikt in data-URI's om kleine assets direct in HTML of CSS in te sluiten, waardoor extra HTTP-verzoeken overbodig zijn. In HTML: . In CSS: background-image: url('data:image/svg+xml;base64,PHN2Zy...'). Dit is ideaal voor kleine pictogrammen en SVG's (onder ~5 KB). Voor grotere bestanden zijn aparte bestandsverwijzingen efficiënter, omdat Base64 33% grootte-overhead toevoegt en browsercaching omzeilt.
Wat is de maximale invoergrootte?
Deze browsertool verwerkt tekst tot ongeveer 5 MB efficiënt. Voor zeer grote bestanden of binaire data kun je commandoregeltools gebruiken zoals 'base64' (beschikbaar op macOS en Linux) of 'openssl base64'. De Base64-standaard zelf heeft geen groottelimiet.
Welke tekens zitten er in het Base64-alfabet?
Het standaard Base64-alfabet (RFC 4648) bestaat uit 64 tekens: hoofdletters A-Z (waarden 0-25), kleine letters a-z (waarden 26-51), cijfers 0-9 (waarden 52-61), plusteken + (waarde 62) en schuine streep / (waarde 63). Het gelijkteken = wordt gebruikt voor opvulling. De URL-veilige variant (Base64URL) vervangt + door - en / door _ om conflicten met gereserveerde URL-tekens te vermijden.
Ik wil een kleine afbeelding insluiten in mijn HTML-e-mailsjabloon — gebruik ik Base64 data-URI's of host ik de afbeelding extern?
Voor HTML-e-mail zijn Base64 data-URI's de beste keuze voor kleine afbeeldingen zoals logo's en pictogrammen. Veel e-mailclients (Outlook, Gmail) blokkeren standaard extern gehoste afbeeldingen, waardoor gebruikers op "Afbeeldingen weergeven" moeten klikken. Door afbeeldingen in te sluiten als Base64 data-URI's (data:image/png;base64,...) omzeil je dit probleem volledig — de afbeelding maakt deel uit van de e-mail zelf. De afweging is de bestandsgrootte: Base64 voegt ~33% overhead toe, zodat een PNG van 10 KB ~13 KB wordt in de e-mail. Houd ingesloten afbeeldingen onder 20 KB voor de beste compatibiliteit. Voor grotere afbeeldingen of achtergronden is extern hosten praktischer. Gebruik deze tool om de bytes van je afbeeldingsbestand naar Base64 te encoderen voor insluiting.
Waarom staan er + en / tekens in mijn Base64-string die mijn URL-parameters breken?
Standaard Base64 gebruikt + en / als twee van zijn 64 tekens, en beide hebben een speciale betekenis in URL's (+ betekent spatie, / is een padscheidingsteken). Als je een standaard Base64-string in een URL-queryparameter opneemt zonder encodering, corrumpeert dit de waarde. De oplossing is URL-veilige Base64 (ook wel Base64URL, gedefinieerd in RFC 4648), die + vervangt door - en / door _. Deze variant wordt gebruikt in JWT-tokens, OAuth-flows en elke Base64-waarde die in URL's voorkomt. Om standaard Base64 om te zetten naar URL-veilig, vervang je alle + door - en / door _ in de uitvoer, en verwijder je optioneel de =-opvultekens.
Ik probeer een JWT-token te decoderen — hoe werkt Base64URL-decodering en wat is het verschil met standaard Base64?
Een JWT (JSON Web Token) bestaat uit drie delen gescheiden door punten: header.payload.signature. De header en payload zijn elk geëncodeerd met Base64URL — niet standaard Base64. Base64URL verschilt op twee manieren van standaard Base64: het gebruikt - in plaats van + en _ in plaats van /, en het laat de =-opvultekens weg. Om een JWT handmatig te decoderen, splits je het token op punten, neem je het eerste of tweede segment, vervang je - door + en _ door /, voeg je =-opvulling toe indien nodig om de lengte een veelvoud van 4 te maken, en decodeer je vervolgens Base64. JWT-debugging is voor de meeste gevallen eenvoudiger met een dedicated JWT-decoder, maar inzicht in Base64URL-encodering helpt bij het implementeren van tokenverwerking in code of het debuggen van ruwe tokenwaarden.

Gerelateerde tools

Alle tools bekijken →