Base64 decoderen

Plak een Base64-string en krijg de oorspronkelijke tekst of bytes terug. Regeleinden, URL-veilige tekens, ontbrekende opvulling en data:-voorvoegsels worden automatisch verwerkt, en foutmeldingen wijzen het exacte teken aan.

Werkt volledig in je browser. Er wordt niets geüpload.

Zo gebruik je het

  1. Plak de Base64-string in het invoerveld, of klik op Bestand openen om een bestand met Base64-tekst te laden.
  2. Laat Uitvoer als op Tekst staan en kies de tekenset bij Tekencodering (standaard UTF-8), of zet Uitvoer als op Hex voor binaire gegevens.
  3. Als het decoderen mislukt, lees dan de foutmelding: die geeft de positie van het eerste ongeldige teken.
  4. Kopieer het gedecodeerde resultaat met Kopiëren of sla het op met Downloaden.

Wat de decoder accepteert

Decoderen draait het coderen om: elk teken wordt teruggezet naar zijn 6-bitswaarde en elke vier tekens worden weer drie bytes. Base64 uit de praktijk is zelden helemaal schoon, daarom is deze decoder tolerant:

  • Spaties en regeleinden worden genegeerd, dus afgebroken MIME-berichten en PEM-blokken kun je plakken zoals ze zijn. Verwijder wel eerst de regels -----BEGIN en -----END: hun letters en streepjes zijn geldige Base64-tekens en zouden als gegevens worden gedecodeerd.
  • URL-veilige invoer met - en _ wordt net zo gedecodeerd als standaard-Base64 met + en /.
  • Ontbrekende opvulling is geen probleem. Alleen een lengte van 4n + 1 tekens wordt geweigerd, omdat één overgebleven teken geen byte kan vormen; dat betekent meestal dat de string is afgekapt.
  • Data-URI's werken ook: een voorvoegsel data:...;base64, aan het begin wordt vóór het decoderen verwijderd.

Tekst of binaire uitvoer

Het resultaat van decoderen is altijd een reeks bytes. Was het origineel tekst, laat Uitvoer als dan op Tekst staan en kies de bijbehorende tekenset. Was het een afbeelding, PDF, archief, sleutel of versleutelde tekst, dan maakt geen enkele tekenset het leesbaar: zet Uitvoer als op Hex om de bytes te bekijken, of open Base64 naar bestand of Base64 naar afbeelding om een voorbeeld te zien en het bestand op te slaan. De eerste tekens verraden vaak al wat de inhoud is:

Base64 begint metGedecodeerde inhoud
iVBORw0KGgoPNG-afbeelding
/9j/JPEG-afbeelding
R0lGODGIF-afbeelding
JVBERi0PDF-document
UEsDBZIP-archief, ook DOCX, XLSX en JAR
H4sImet gzip gecomprimeerde gegevens
eyJJSON-object, zoals een JWT-header

Waarom de gedecodeerde tekst onleesbaar is

  • Verkeerde tekenset. UTF-8-tekst die als Windows-1252 wordt gelezen, maakt van é é, en GBK- of Shift_JIS-tekst die als UTF-8 wordt gelezen, toont vervangingstekens (�). Kies de tekenset waarin de tekst is geschreven.
  • Binaire gegevens. Willekeurige symbolen met hier en daar een leesbaar stukje, zoals PNG of PK vlak bij het begin, betekenen dat de inhoud een bestand is en geen tekst.
  • Gecomprimeerde of versleutelde gegevens. gzip-streams, Protocol Buffers en versleutelde tekst worden correct gedecodeerd, maar zijn geen tekst. Met Hex als uitvoer zie je wat er werkelijk in staat.
  • Dubbele codering. Is de uitvoer zelf weer Base64, plak die dan terug in de invoer en decodeer hem nog een keer.

Base64 decoderen in code

# Python
base64.b64decode(s).decode('utf-8')

// Node.js (accepteert ook URL-veilige invoer)
Buffer.from(s, 'base64').toString('utf8')

// Browser: atob() geeft één teken per byte terug, dus decodeer daarna UTF-8
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))

# Shell op Linux en macOS
echo 'SGVsbG8=' | base64 --decode

Specificatie

AlfabetA-Z a-z 0-9 + /
Uitvoergrootte4 tekens per 3 bytes (ongeveer 133%)
Opvulling= tot een veelvoud van 4 tekens
StandaardRFC 4648, sectie 4
HoofdlettergevoeligJa

Voorbeelden

Invoer (UTF-8)Uitvoer
Hello, World!SGVsbG8sIFdvcmxkIQ==
Base64.isQmFzZTY0Lmlz
你好5L2g5aW9

Veelgestelde vragen

Waarom krijg ik een foutmelding over een ongeldig teken?
De invoer bevat iets wat buiten het Base64-alfabet valt, zoals aanhalingstekens, een backslash of procentcodes als %2B en %3D die uit een URL zijn meegekopieerd. Verwijder de aanhalingstekens of URL-decodeer de string eerst. De foutmelding toont de positie van het eerste ongeldige teken.
Kan ik Base64 zonder opvulling decoderen?
Ja. De decoder heeft de afsluitende =-tekens niet nodig, dus strings zonder opvulling uit JWT's, URL's en API's worden gewoon gedecodeerd.
Waarom klopt de uitvoer niet nadat ik Base64 uit een URL heb gekopieerd?
Als Base64 zonder escaping in een querystring wordt gezet, maakt formulierdecodering van elke + vaak een spatie. Spaties worden hier genegeerd, dus die tekens gaan verloren. Vervang de spaties door + voordat je decodeert, en gebruik Base64URL voor waarden die via URL's worden doorgegeven.
Hoe decodeer ik Base64 naar een afbeelding of bestand?
Gebruik Base64 naar afbeelding om afbeeldingen te bekijken en te downloaden, of Base64 naar bestand voor PDF's, archieven, audio en andere bestanden. Beide herkennen het bestandstype aan de eerste bytes.
Wordt mijn Base64 naar een server verzonden?

Nee. Het decoderen gebeurt in je browser met JavaScript en de invoer verlaat je apparaat nooit. Dat is belangrijk als je tokens, geheime configuratiewaarden of persoonsgegevens decodeert.