Zo gebruik je het
- Kies bovenaan de tool Coderen of Decoderen.
- Typ of plak je tekst, of klik op Bestand openen om een willekeurig bestand te coderen.
- Pas zo nodig de opties Variant (standaard of URL-veilig), Opvulling, Regelafbreking of Tekencodering aan. Het resultaat wordt bijgewerkt terwijl je typt.
- Kopieer of download het resultaat, of klik op Invoer en uitvoer omwisselen om het in omgekeerde richting om te zetten.
Wat is Base64?
Base64 is een binair-naar-tekstcodering die elke reeks bytes weergeeft met 64 afdrukbare ASCII-tekens: A-Z, a-z, 0-9, + en /, met = als opvulteken. Zo kunnen binaire gegevens zoals afbeeldingen, sleutels of gecomprimeerde bestanden veilig door systemen reizen die voor tekst zijn ontworpen, zoals e-mail, JSON, XML, URL's en HTML.
De encoder leest de invoer per drie bytes (24 bits) en splitst die in vier groepen van 6 bits. Elke 6-bitswaarde, van 0 tot 63, kiest één teken uit het alfabet. Als de invoerlengte geen veelvoud van drie is, wordt de laatste groep aangevuld met één of twee =-tekens. Daardoor is Base64-uitvoer altijd ongeveer 33% groter dan de oorspronkelijke gegevens.
Base64 is een codering, geen versleuteling. Iedereen kan het decoderen, dus gebruik het nooit om wachtwoorden of andere geheimen te verbergen.
Base64 en Base64URL
Standaard-Base64 gebruikt + en /, die in URL's en bestandsnamen een speciale betekenis hebben. Base64URL, gedefinieerd in RFC 4648 sectie 5, vervangt ze door - en _ en laat de opvulling meestal weg. Het wordt gebruikt door JSON Web Tokens, OAuth en overal waar een waarde in een URL moet staan. De decoder op deze pagina accepteert beide vormen automatisch.
| Standaard-Base64 | Base64URL | |
|---|---|---|
| Tekens 62 en 63 | + / | - _ |
| Opvulling | Verplicht = | Optioneel, meestal weggelaten |
| Veilig in URL's en bestandsnamen | Nee | Ja |
| Typisch gebruik | E-mail (MIME), data-URI's, JSON, PEM-sleutels | JWT, OAuth, URL-parameters |
Veelgebruikte toepassingen van Base64
- E-mailbijlagen. MIME codeert bijlagen als Base64 met regels van 76 tekens. Gebruik de optie Regelafbreking om dit formaat na te bootsen.
- Afbeeldingen en bestanden insluiten. Met data-URI's zet je kleine afbeeldingen, lettertypen of pictogrammen rechtstreeks in HTML en CSS. Zie Afbeelding naar Base64 en Base64 naar afbeelding.
- API's en configuratie. JSON kent geen binair gegevenstype, dus API's versturen bestanden, handtekeningen en sleutels als Base64-strings. Ook Kubernetes Secrets slaan hun waarden in Base64 op.
- Authenticatie. HTTP Basic-authenticatie verstuurt
username:passwordals Base64, en JSON Web Tokens bestaan uit drie Base64URL-segmenten. - Certificaten en sleutels. PEM-bestanden bevatten Base64-gecodeerde DER-gegevens, afgebroken op 64 tekens per regel.
Base64 in programmeertalen
| Taal | Coderen | Decoderen |
|---|---|---|
| JavaScript (browser) | btoa(binaryString) | atob(base64) |
| Node.js | Buffer.from(str).toString('base64') | Buffer.from(b64, 'base64').toString() |
| Python | base64.b64encode(data) | base64.b64decode(data) |
| PHP | base64_encode($str) | base64_decode($b64) |
| Java | Base64.getEncoder().encodeToString(bytes) | Base64.getDecoder().decode(b64) |
| C# | Convert.ToBase64String(bytes) | Convert.FromBase64String(b64) |
| Go | base64.StdEncoding.EncodeToString(b) | base64.StdEncoding.DecodeString(s) |
| Shell | base64 file.bin | base64 -d file.txt |
In browsers accepteert btoa alleen tekens tot en met U+00FF. Om Unicode-tekst te coderen, zet je die eerst om naar UTF-8-bytes, bijvoorbeeld met TextEncoder, of je gebruikt deze tool, die tekst standaard als UTF-8 codeert.
Meer dan Base64
Base64.is ondersteunt ook de rest van de Base-N-familie: Base32, Base58, Base62, Base85, Ascii85, basE91, Base45, hex en binair. Weet je niet zeker welke codering een string gebruikt, probeer dan de coderingsdetector, of vergelijk ze allemaal tegelijk met Alle coderingen.
Specificatie
| Alfabet | A-Z a-z 0-9 + / |
|---|---|
| Uitvoergrootte | 4 tekens per 3 bytes (ongeveer 133%) |
| Opvulling | = tot een veelvoud van 4 tekens |
| Standaard | RFC 4648, sectie 4 |
| Hoofdlettergevoelig | Ja |
Voorbeelden
| Invoer (UTF-8) | Uitvoer |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Veelgestelde vragen
Worden mijn gegevens naar een server geüpload?
Nee. Coderen en decoderen gebeurt volledig in je browser met JavaScript. De tekst en bestanden die je invoert, verlaten je apparaat nooit, en zodra de pagina is geladen, blijft de tool ook offline werken.
Waarom ziet de gedecodeerde tekst er onleesbaar uit?
Wat betekenen de isgelijktekens aan het eind?
Dat is opvulling. Base64 werkt in blokken van vier tekens, en = vult het laatste blok aan als de invoerlengte geen veelvoud van drie bytes is. Eén = betekent dat het laatste blok twee bytes codeert, twee betekenen dat het één byte codeert.
Hoeveel groter worden gegevens door het coderen?
Base64 maakt van elke 3 bytes 4 tekens, dus de uitvoer is ongeveer 33% groter dan de invoer, plus regeleinden als je Regelafbreking inschakelt.
Is Base64 een vorm van versleuteling?
Nee. Base64 verandert alleen de manier waarop gegevens worden weergegeven. Er is geen sleutel en iedereen kan het decoderen, dus gebruik echte versleuteling zoals AES of TLS om gevoelige informatie te beschermen.