QuickATools

Developer-tools · Free browser tool

Base64 encoderen/decoderen

Encodeer tekst naar Base64-formaat of decodeer Base64-strings terug naar tekst direct met volledige UTF-8-ondersteuning en zero data leakage.

Plain text

Any text, including emoji and non-Latin scripts.

0 chars0 bytes (UTF-8)

Base64 result

Your Base64 result will appear here.

0 chars0 bytes (UTF-8)

Frequently Asked Questions

Waarvoor is Base64-encoding eigenlijk bedoeld?

Base64 zet willekeurige binaire data (of tekst) om in een string van alleen letters, cijfers, +, / en = — tekens die veilig zijn om in te bedden op plekken ontworpen voor plain text, zoals JSON-velden, URL's, e-mailbijlagen, HTTP-headers of configbestanden. Het is geen encryptie of compressie; het is puur een safe-transportformaat, en iedereen kan het direct terugdecoderen naar het origineel.

Waarom breekt of gooit encoding van Koreaanse tekst of emoji met plain btoa()/atob() een error?

De ingebouwde btoa()-functie van de browser accepteert alleen tekens in de byterange 0–255 (Latin-1). Koreaanse tekens, emoji en de meeste non-Latin scripts gebruiken multi-byte UTF-8-sequenties buiten die range, dus btoa() gooit ofwel een "InvalidCharacterError" of mangelt de tekst stil. Deze tool vermijdt dat volledig door je tekst eerst naar rauwe UTF-8-bytes te converteren met TextEncoder, die bytes naar Base64 te encoderen, en precies dezelfde stappen om te keren bij decode met TextDecoder — zodat Koreaans, emoji en accenttekens perfect round-trippen.

Wat betekenen de '=' paddingtekens aan het eind van een Base64-string?

Base64 encodeert data in chunks van 3 bytes die 4 outputtekens worden. Wanneer de originele data geen nette meervoud van 3 bytes is, worden '='-tekens aan het eind toegevoegd om de laatste groep tot 4 tekens te padden — één '=' als er 2 bytes overbleven, twee '=' als er 1 byte overbleef. Hun aanwezigheid (of afwezigheid) is een normaal, verwacht deel van geldige Base64 — geen fout.

Is het veilig om API-keys of wachtwoorden te decoderen met een online Base64-tool?

Dat hangt volledig af van of de tool je input naar een server stuurt. Deze tool doet dat nooit — elke conversie draait lokaal in je browser met ingebouwde JavaScript API's (TextEncoder, TextDecoder, btoa, atob), zonder netwerkrequest. Dat maakt het veilig om gevoelige waarden zoals API-keys, JWT-segmenten of Basic Auth-headers te decoderen, die je nooit in een tool moet plakken die input via een backend proxy't die jij niet controleert.

Waarom Base64 geen encryptie is — en waarom dat telt voor security

Base64 is een transportformaat, geen securitymaatregel. Iedereen kan een Base64-string in één klik terugdecoderen naar de originele vorm — er is geen geheime sleutel bij betrokken. Dat betekent dat de echte securityvraag niet is "is dit encoded", maar "waar gaat mijn data naartoe terwijl ik hem decodeer of encodeer?" Een verrassend aantal online converters stuurt stilletjes wat je plakt naar hun eigen server om te verwerken — een echt probleem als je een API-key, JWT-payload of Basic Auth-header uit production logs decodeert.

Deze tool doet dat nooit. Elke conversie — encode of decode — loopt via de eigen TextEncoder-, TextDecoder-, btoa- en atob-API's van je browser, zonder netwerkrequest op enig moment. Je kunt veilig een verdacht ogende token decoderen of een credential verifiëren zonder dat die ooit je machine verlaat.

De UTF-8-afhandeling telt evenveel als het privacystory. Een kale btoa()-call breekt zodra je tekst Koreaans, Japans, emoji of geaccentueerde Latijnse tekens bevat, omdat die alleen de Latin-1 byterange begrijpt. Deze tool routeert alles eerst via proper UTF-8 byte-encoding, zodat multi-byte tekens altijd correct round-trippen — encodeer een string met emoji, decodeer terug, en je krijgt exact dezelfde emoji, geen garbled fallback-teken.

Werk je hierna met gestructureerde data? Combineer dit met de JSON Formatter & Validator om een API-response op te schonen zodra je die hebt gedecodeerd. Meer developer utilities — inclusief een UUID-generator — zijn onderweg voor deze categorie.