Zo gebruik je het
- Plak de Base64-string of de volledige data-URI in het invoervak. Spaties en regeleinden maken niet uit.
- Controleer het herkende bestandstype en de grootte. Afbeeldingen, PDF's, audio, video en tekst worden in een voorbeeld getoond.
- Download het bestand. Het wordt opgeslagen met een naam en extensie die bij het herkende type passen.
Zo wordt het bestandstype herkend
Base64-tekst bevat bytes, geen bestandsnaam. Tenzij je een data-URI met een MIME-type plakt, staat er in de string niets over of het om een PDF, een ZIP-archief of een geluid gaat. De tool decodeert de gegevens daarom en bekijkt de eerste paar bytes: de bestandshandtekening of "magic bytes" die de meeste formaten helemaal aan het begin zetten. Omdat die bytes vastliggen, begint ook de Base64-tekst van elk formaat op een herkenbare manier:
| Formaat | Eerste bytes | Base64 begint met |
|---|---|---|
%PDF | JVBER | |
| PNG | 89 50 4E 47 | iVBORw0KGgo |
| JPEG | FF D8 FF | /9j/ |
| GIF | GIF8 | R0lGOD |
| ZIP (ook DOCX, XLSX, JAR) | PK 03 04 | UEsDB |
| MP3 met ID3-tag | ID3 | SUQz |
| WAV, WebP, AVI (RIFF) | RIFF | UklGR |
Als het gedecodeerde bestand niet opent
Het decoderen van Base64 is verliesvrij, dus een kapot bestand betekent bijna altijd dat de invoer niet was wat je verwachtte. Loop deze oorzaken in volgorde na:
- Afgekapte invoer. Logbestanden, terminals, spreadsheetcellen en chatapps kappen lange strings vaak af. Ontbreekt er tekst aan het eind, dan wordt het bestand te kort en weigeren de meeste formaten te openen. Ken je de oorspronkelijke grootte, vergelijk die dan met de gedecodeerde grootte.
- Extra tekens. Aanhalingstekens, komma's of een veldnaam die je samen met de waarde hebt gekopieerd, of escapereeksen zoals
\/en\nuit een JSON-string, horen niet bij Base64. Kopieer alleen de waarde zelf. - Een andere codering of variant. Hex, Base32, Base85 of een eigen alfabet kunnen er op het eerste gezicht hetzelfde uitzien, maar leveren onzin op als je ze als Base64 decodeert. De Coderingsdetector probeert elke decoder en laat zien welke past.
- Helemaal geen bestand. Wordt het resultaat als platte tekst herkend, dan was de string Base64 van tekst: JSON, een token of nog een laag Base64. Lees het met Base64 decoderen en decodeer nog een keer als de uitvoer opnieuw Base64 is.
De Base64-validator toont ongeldige tekens met hun positie en meldt problemen met de opvulling, zodat je een beschadigd stuk sneller vindt.
Base64 decoderen naar een bestand in code
# Python
import base64
with open('output.bin', 'wb') as f:
f.write(base64.b64decode(data))
// Node.js
fs.writeFileSync('output.bin', Buffer.from(data, 'base64'));
# Linux
base64 -d input.txt > output.bin
# macOS
base64 -D -i input.txt -o output.bin
# Windows PowerShell
[IO.File]::WriteAllBytes("C:\files\output.bin", [Convert]::FromBase64String((Get-Content input.txt -Raw)))
Veelgestelde vragen
Welke bestandstypen worden herkend?
Gangbare formaten met een duidelijke handtekening: PDF, ZIP-, GZIP-, 7z- en RAR-archieven; PNG, JPEG, GIF, WebP en andere afbeeldingen; MP3-, WAV-, OGG-, FLAC- en M4A-audio; MP4- en WebM-video; WOFF-, WOFF2-, TTF- en OTF-lettertypen; WebAssembly en meer. Ook JSON, XML, HTML en platte tekst worden herkend. Formaten zonder handtekening zijn niet te identificeren; weet je het echte type, geef het gedownloade bestand dan een andere naam.
Waarom wordt mijn Word- of Excel-bestand als ZIP herkend?
DOCX-, XLSX- en PPTX-bestanden zijn, net als EPUB en JAR, ZIP-archieven met een bepaalde mappenstructuur erin, en ze beginnen met dezelfde magic bytes als elk ZIP-bestand. De gedecodeerde bytes kloppen: wijzig de extensie van de download in .docx, .xlsx of wat je nodig hebt, en het bestand opent gewoon.
Kan ik een data-URI plakken?
data:...;base64,, of plak alleen het Base64-gedeelte. In beide gevallen wordt het type gecontroleerd aan de hand van de gedecodeerde bytes.Waarom is het gedecodeerde bestand kleiner dan de Base64-tekst?
Base64 gebruikt 4 tekens voor elke 3 bytes, dus het bestand is ongeveer driekwart zo lang als de tekst. Is het veel kleiner dan het bestand dat je verwachtte, dan is de invoer waarschijnlijk afgekapt.
Worden mijn gegevens ergens naartoe gestuurd?
Nee. Decoderen, typeherkenning en het voorbeeld draaien allemaal in je browser, en de download wordt op je apparaat aangemaakt. Er wordt niets geüpload.