> base64 decoder | paste | decode <
// Plak een willekeurige Base64-string — standaard, URL-veilig of niet-opgevuld — en decodeer hem direct naar UTF-8-tekst. Werkt 100% in je browser.
Formaat automatisch detecteren
Detecteert automatisch standaard RFC 4648 Base64, URL-veilig Base64 (-_) en ontbrekende opvulling. Geen configuratie nodig — gewoon plakken.
100% in de browser
Je Base64-strings verlaten nooit je apparaat. Geen serveruploads, geen logs, geen telemetrie. Veilig voor tokens, inloggegevens en privégegevens.
Directe decodering
Decodeert terwijl je typt. Verwerkt UTF-8-multibytetekst, emoji, JSON, XML, binair als Base64. Onbeperkte invoergrootte.
// HOE BASE64-DECODERING WERKT
Base64-decoderingsalgoritme:
Base64 codeert 3 bytes binaire gegevens in 4 ASCII-tekens uit een alfabet van 64 tekens (A-Z, a-z, 0-9, +, /). Decodering keert het proces om: elk teken wordt toegewezen aan een 6-bits waarde en vier groepen van 6 bits worden weer samengevoegd tot drie bytes van 8 bits. Opvultekens (=) worden toegevoegd om de gecodeerde lengte een veelvoud van 4 te maken. Deze decoder accepteert opgevulde, niet-opgevulde en URL-veilige invoer en geeft UTF-8-tekst terug.
Decodeervoorbeeld:
Input : SGVsbG8sIEJhc2U2NCE=
Bits : 01001000 01100101 01101100 01101100
01101111 00101100 00100000 01000010
01100001 01110011 01100101 00110110
00110100 00100001
Output : Hello, Base64!
Veelvoorkomende decodeerscenario's:
- >De header en payload van een JWT decoderen (vóór de handtekening)
- >Base64-gecodeerde e-mailbijlagen lezen (MIME)
- >Base64-URL-parameters en OAuth-state-tokens inspecteren
- >Tekst uit Data-URI's halen (data:text/plain;base64,...)
- >API-antwoorden debuggen die binaire gegevens als Base64 verpakken
// VEELGESTELDE VRAGEN
Hoe decodeer ik een Base64-string online?
Plak de Base64-string in het INVOER-gebied hierboven — de decoder werkt automatisch terwijl je typt (automatisch decoderen staat standaard aan). De gedecodeerde tekst verschijnt direct in het UITVOER-gebied. Je kunt ook expliciet op [DECODE] klikken of Ctrl/Cmd + Enter gebruiken. Alles draait lokaal in je browser; er wordt niets naar een server verzonden, dus het plakken van JWT-tokens, OAuth-state of vertrouwelijke gegevens is veilig.
Welke Base64-varianten ondersteunt deze decoder?
Allemaal. De decoder detecteert automatisch en accepteert:
• Standaard Base64 (RFC 4648) — alfabet A-Z a-z 0-9 + / met =-opvulling.
• URL-veilig Base64 (RFC 4648 §5) — alfabet met - en _ in plaats van + en /. Gebruikt door JWT, OAuth, Google-API's en AWS S3-presigned-URL's.
• Niet-opgevuld Base64 — de afsluitende =-tekens worden weggelaten. Gebruikelijk bij JWT, waar een decoder de opvulling automatisch moet toevoegen.
• Tolerant voor witruimte — regeleinden, tabs en spaties binnen de Base64-string worden vóór het decoderen verwijderd (verwerkt MIME-omgebroken uitvoer van 76 kolommen uit e-mailteksten).
Het gedetecteerde formaat wordt als badge onder de knoppen getoond, zodat je weet welke variant de decoder aan je invoer heeft toegekend.
Waarom decodeert mijn Base64 naar onleesbare tekens of mislukt het met een fout?
De meeste decodeerfouten hebben een van deze vijf oorzaken:
1. De invoer is eigenlijk geen Base64. Veel mensen verwarren Base64 met hex, Base32 of URL-codering. Base64 gebruikt alleen A-Z a-z 0-9 + / = (of - _ voor URL-veilig). Als de string %20 bevat, is het procentcodering; bestaat hij alleen uit 0-9 a-f, dan is het waarschijnlijk hex.
2. Afkapping. De Base64-lengte moet na opvulling een veelvoud van 4 zijn. Een kopieer-plakactie waarbij de afsluitende == wegvalt, veroorzaakt fouten over een "ongeldige lengte". Deze decoder vult automatisch op, maar ernstig afgekapte strings mislukken alsnog.
3. Mengeling van URL-veilig en standaard. Als +/-_ allemaal aanwezig zijn, is de string dubbelzinnig en waarschijnlijk beschadigd. Er mag maar één variant worden gebruikt.
4. Dubbele codering. Soms is een string twee keer in Base64 gecodeerd. Eén keer decoderen levert onleesbare tekens op die zelf weer Base64 zijn. Decodeer nog een keer om de uiteindelijke tekst te krijgen.
5. UTF-8-codering van de oorspronkelijke tekst. Base64 decodeert naar bytes. Als de oorspronkelijke bytes geen geldige UTF-8 zijn (bijv. ruwe binaire gegevens zoals een versleutelde blob of een PNG), ziet de gedecodeerde uitvoer eruit als mojibake. Dat is te verwachten — gebruik in plaats daarvan een Base64-naar-bestand-tool.
Hoe decodeer ik een JWT met deze Base64-decoder?
Een JWT heeft drie delen, gescheiden door punten: header.payload.signature. Alle drie zijn URL-veilig Base64 zonder opvulling. Om de payload te inspecteren:
1. Kopieer het middelste segment (tussen de twee punten).
2. Plak het in de decoder hierboven. Automatisch decoderen verwerkt het URL-veilige alfabet en voegt de ontbrekende opvulling toe.
3. Je krijgt de JSON-payload met claims zoals iss, sub, exp, iat.
De handtekening (derde segment) is een binaire HMAC- of RSA-uitvoer — als tekst decoderen levert onleesbare tekens op, wat te verwachten is. Gebruik voor een volledige JWT-inspector met handtekeningverificatie onze speciale JWT-decoder.
Beveiligingsnotitie: een JWT decoderen verifieert hem niet. Iedereen kan een JWT-payload lezen — dat is met opzet. De handtekening bewijst dat het token van de uitgever komt; die wordt apart geverifieerd met de openbare sleutel of het gedeelde geheim van de uitgever.
Kan ik Base64 decoderen op de opdrachtregel (bash, PowerShell, Python)?
Ja — elk groot platform wordt geleverd met een Base64-decoder. Wanneer deze online tool te traag is om in te plakken, gebruik je:
macOS / Linux (bash/zsh):echo 'SGVsbG8=' | base64 -d — geeft Hello als uitvoer. Gebruik -D op macOS als -d niet werkt. Voor URL-veilige invoer eerst door tr '_-' '/+' pijpen.
Windows PowerShell:[Text.Encoding]::UTF8.GetString([Convert]::FromBase64String('SGVsbG8='))
Python:import base64
base64.b64decode('SGVsbG8=').decode('utf-8') # Hello
base64.urlsafe_b64decode(s + '===').decode() # URL-veilig met auto-pad
Node.js:Buffer.from('SGVsbG8=', 'base64').toString('utf-8')
Browser-DevTools:atob('SGVsbG8=') — werkt in elke console. Voor UTF-8-strings omhullen met new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0))).
PHP: base64_decode('SGVsbG8=')
Ruby: Base64.decode64('SGVsbG8=')
Go: base64.StdEncoding.DecodeString("SGVsbG8=")
Is deze Base64-decoder veilig voor het decoderen van gevoelige tokens en inloggegevens?
Ja — deze decoder is veiliger dan server-side tools omdat er niets je browser verlaat. De decodering gebeurt volledig in JavaScript op je apparaat via de native atob()- en TextDecoder-API's. Er is geen netwerkoproep, geen upload, geen logging, geen analyse van de invoerinhoud. Je kunt dit zelf controleren door tijdens het decoderen het tabblad Netwerk in de browser-DevTools te openen — je ziet nul verzoeken.
Dat gezegd hebbende, Base64 is geen versleuteling — het is slechts codering. Iedereen met de Base64-string kan hem decoderen. Dus hoewel deze tool veilig is, moet je toch nog:
• Nooit screenshots delen van gedecodeerde JWT's die nog niet zijn verlopen.
• Inloggegevens roteren die ergens uitlekken (logs, screenshots, gedeelde chat).
• Gedecodeerde OAuth-state, CSRF-tokens en sessie-ID's als geheimen behandelen totdat ze ongeldig zijn gemaakt.
Voor bedrijfs-/gereguleerde omgevingen waar zelfs de Base64-string gevoelig is, kun je deze pagina offline opslaan (Cmd/Ctrl + S) — hij werkt na één keer laden volledig geïsoleerd, omdat de decodeerlogica pure JavaScript is.
Hoe decodeer ik een Base64-Data-URI zoals 'data:image/png;base64,iVBORw0KGgo...'?
Een Data-URI volgt de syntaxis data:[<mediatype>][;base64],<data>. Om alleen de payload te decoderen:
1. Zoek de komma. Alles ervoor is metadata (data:image/png;base64), alles erna is het Base64-gecodeerde bestand.
2. Kopieer alleen het deel na de komma in deze decoder.
3. Voor binaire inhoud (PNG, JPG, PDF) bestaat de gedecodeerde uitvoer uit ruwe bytes — als tekst weergeven toont mojibake. Dat is te verwachten.
4. Om een Data-URI-afbeelding te bekijken, plak je de volledige data:...-URI in de adresbalk van je browser — de browser decodeert en rendert hem direct.
5. Om het afbeeldingsbestand op te slaan, gebruik je onze speciale tool Base64 naar afbeelding, die de volledige Data-URI verwerkt en een PNG/JPG/WebP downloadt.
Data-URI's komen vaak voor in: CSS-background-image-regels, inline SVG-pictogrammen, afbeeldingen in e-mailhandtekeningen, PDF-bijlagen die in JSON-API-antwoorden zijn gecodeerd, en pictogrambundels van Electron-/VS Code-extensies.
Wat is het verschil tussen Base64-codering en Base64-decodering?
Codering neemt willekeurige binaire of tekstgegevens en produceert een ASCII-string die alleen afdrukbare tekens gebruikt — veilig voor transport via alleen-tekstkanalen (e-mail, URL's, JSON). Decodering keert dat om: een ASCII-Base64-string wordt weer de oorspronkelijke bytes.
Belangrijke eigenschappen:
• Verliesvrije round-trip: decode(encode(x)) === x voor alle byte-invoer. Er gaan nooit gegevens verloren.
• Geen versleuteling: Base64 biedt geen enkele geheimhouding. Iedereen kan het decoderen.
• Groottevergroting: de gecodeerde uitvoer is ~33% groter dan de invoer (4 uitvoerbytes per 3 invoerbytes).
• Toepassingen: JWT-tokens, MIME-e-mailbijlagen, HTTP-Basic-Auth-headers, OAuth-codes, S3-presigned-URL's, inline-afbeeldingen in HTML/CSS.
Deze pagina is gewijd aan decoderen. Als je de andere kant op wilt (tekst/bestand → Base64), gebruik dan onze Base64-encoder op de homepage, of onze Afbeelding naar Base64-converter voor afbeeldingsbestanden.
Kan ik zeer grote Base64-strings of Base64-gecodeerde bestanden decoderen?
Ja, binnen de geheugenlimieten van de browser. De decoder accepteert een onbeperkte invoerlengte — we hebben getest met Base64-strings van 50 MB (~37 MB gedecodeerd) op moderne laptops. Prestaties:
• < 100 KB: direct, geen UI-vertraging.
• 1 – 10 MB: decoderen duurt ~50-500 ms, afhankelijk van de CPU.
• 10 – 100 MB: de browser kan even vastlopen (2-10 s) omdat atob synchroon is. Schakel eerst auto-decode uit en klik handmatig op [DECODE].
• > 100 MB: je loopt tegen de geheugenlimieten van de browser aan. Gebruik voor Base64-bestanden op gigabyteschaal een opdrachtregeltool (base64 -d).
Als de gedecodeerde inhoud een binair bestand is (PNG, PDF, ZIP), toont het tekstuitvoergebied mojibake. Om de gedecodeerde bytes als bestand te downloaden, gebruik je onze tool Base64 naar afbeelding (verwerkt afbeeldingen) of de opdrachtregelaanpak: echo '<base64>' | base64 -d > output.bin.
Werkt deze Base64-decoder offline?
Ja. Nadat de pagina één keer is geladen, gebeurt alle decodering aan de clientzijde in JavaScript — er is geen netwerk nodig. Om hem volledig offline te maken:
1. Sla de pagina op: druk op Ctrl+S (Windows/Linux) of Cmd+S (macOS) en sla op als "Webpagina, compleet". De decoder werkt vanuit de opgeslagen HTML.
2. Installeer als PWA (indien ondersteund): sommige browsers bieden "Deze app installeren" voor base64.sh — dat geeft je een launcher met offlinetoegang.
3. Gebruik in DevTools: de native functie atob() werkt in elke browserconsole zonder deze pagina. Voor een snelle decodering: atob('SGVsbG8=').
Offlinegebruik is handig voor: beveiligingsonderzoek in geïsoleerde omgevingen, pentestlabs, bedrijfsomgevingen met strikte regels voor datalekkage en vluchten/treinen zonder internet.