Base64 encoderen en decoderen
Plak je tekst, kies richting en formaat en kopieer het resultaat: deze tool zet tekst om naar Base64 of Base64url en terug – letters met accenten en emoji correct als UTF-8 – en doet URL-encoding met procenttekens in de drie gangbare varianten. Ongeldige invoer wordt gemeld met de positie.
Zo wordt het berekend
Base64 stelt willekeurige bytes voor met maar 64 afdrukbare tekens (A–Z, a–z, 0–9, + en /). Elke 3 bytes worden 4 tekens; blijven er aan het eind bytes over, dan vullen een of twee isgelijktekens het gat op (padding). Het resultaat is ongeveer een derde langer dan het origineel. Zo kunnen binaire gegevens mee door kanalen die alleen tekst accepteren: e-mailbijlagen, data-URL’s (data:image/png;base64,…), HTTP Basic Auth of JSON.
Base64 is geen versleuteling. Iedereen kan het zonder sleutel terugzetten naar het origineel. Vertrouw nooit op Base64 om inloggegevens te beschermen.
Base64 of Base64url
Het plusteken en de schuine streep hebben een speciale betekenis in URL’s en bestandsnamen. Base64url (RFC 4648 § 5) vervangt ze daarom door het minteken en de underscore en laat de padding meestal weg – JSON Web Tokens (JWT) worden zo gecodeerd. Voorbeeld: de bytes FB FF worden +/8= in Base64 en -_8 in Base64url.
Waarom UTF-8 belangrijk is
Base64 codeert bytes, geen letters. De tool zet je tekst daarom eerst om naar UTF-8: ‘ç’ wordt twee bytes, een emoji vier. De ingebouwde browserfunctie btoa() kan dat niet en geeft een fout bij tekens buiten Latin-1. Zijn de gedecodeerde bytes geen geldige UTF-8-tekst, dan toont de tool ze als hexadecimale waarden.
URL-encoding: drie varianten
- Deel van een URL (
encodeURIComponent): codeert alles behalve A–Z, a–z, 0–9 en- _ . ! ~ * ' ( )– dus ook/ ? & = #. Juist voor losse waarden, zoals een zoekterm in?q=…. - Volledige URL (
encodeURI): laat tekens met een speciale betekenis staan (: / ? # & = +…) en codeert alleen spaties, letters met accenten en dergelijke. Voor een complete link die moet blijven werken. - Formuliergegevens (
application/x-www-form-urlencoded): zo versturen HTML-formulieren hun gegevens. Spaties worden+, en ook! ' ( ) ~worden gecodeerd. Bij decoderen wordt+weer een spatie.
Elk teken buiten de toegestane set wordt geschreven als % gevolgd door twee hexadecimale cijfers per UTF-8-byte (RFC 3986 § 2.1): spatie = %20, é = %C3%A9.
Alle omzettingen gebeuren in je browser. Je invoer wordt niet verstuurd, niet opgeslagen en niet in de adresbalk gezet.
Veelgestelde vragen
Hoe decodeer ik Base64?
Kies ‘Decoderen’ en het formaat ‘Base64’ en plak de code – de leesbare tekst verschijnt meteen. Bevat de code - en _, dan is het Base64url; kies dan dat formaat.
Is Base64 versleuteling?
Nee. Base64 is alleen een andere schrijfwijze van dezelfde gegevens en is zonder sleutel om te keren. Om gegevens te beschermen heb je echte versleuteling nodig, en voor wachtwoorden een wachtwoordhash.
Waarom eindigt Base64 vaak op = of ==?
Base64 werkt in groepen van 3 bytes. Blijven er aan het eind 1 of 2 bytes over, dan wordt de uitvoer aangevuld met == of =, zodat de lengte een veelvoud van 4 is. Base64url laat die padding meestal weg.
Wat is het verschil tussen encodeURI en encodeURIComponent?
encodeURI is bedoeld voor volledige adressen en laat / ? & = # met rust. encodeURIComponent codeert die ook en is de juiste keuze voor losse parameterwaarden – anders breekt een & in de waarde de URL.
Waarom is een spatie soms %20 en soms +?
In paden en volgens RFC 3986 schrijf je een spatie als %20. HTML-formulieren (application/x-www-form-urlencoded) schrijven hem als +. Bij decoderen moet je weten welke variant je hebt – een echt plusteken staat daar als %2B.
Hoeveel groter wordt een bestand in Base64?
Ongeveer 4/3 van de oorspronkelijke grootte: 3 bytes worden 4 tekens. Een afbeelding van 300 KB wordt in Base64 zo’n 400 KB, iets meer met MIME-regeleinden.
Bronnen en wettelijke basis
- RFC 4648: RFC 4648 – The Base16, Base32, and Base64 Data Encodings (§ 4 Base64, § 5 Base64url, § 3.2 Padding)
- RFC 3986: RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (§ 2.1 Percent-Encoding, § 2.2 Reserved Characters)
- WHATWG URL Standard – application/x-www-form-urlencoded
- MDN Web Docs – encodeURIComponent()
- MDN Web Docs – encodeURI()
- MDN Web Docs – Base64 (Unicode problem, TextEncoder)
Bijgewerkt op:
Vergelijkbare tools
- Hash generator: SHA-256, SHA-512, SHA-1, MD5Bereken SHA-256-, SHA-384-, SHA-512-, SHA-1- en MD5-hashes van tekst of een bestand en controleer een checksum – lokaal in je browser, geen upload, gratis.
- Regex testerTest JavaScript reguliere expressies live: matches gemarkeerd, capture groups in een tabel, elk onderdeel uitgelegd. Gratis, niets wordt geüpload.
- JSON formatteren, valideren en minifiërenValideer je JSON volgens RFC 8259: foutmelding met exacte regel, kolom en duidelijke uitleg. Opmaken, minifiëren en sleutels sorteren, lokaal in de browser.
- UUID generator: UUID v4 en v7 maken en controlerenMaak online UUID’s: versie 4 (willekeurig) of versie 7 (op tijd gesorteerd), tot 1.000 tegelijk. Controleer een UUID en lees versie, variant en tijdstempel.
- Wachtwoord generatorMaak sterke willekeurige wachtwoorden en makkelijk te onthouden wachtzinnen met entropie in bits, gewoon in je browser: er wordt niets verstuurd of bewaard.
- Beeldverhouding berekenenBereken de beeldverhouding uit breedte en hoogte (1920 × 1080 = 16:9), vind de ontbrekende zijde, de decimale waarde, de standaardverhouding en de CSS.