Bestanden en pagina's

Base64-bestandsconverter

Draait lokaal

De tool zelf is in het Engels; op deze pagina wordt uitgelegd hoe deze werkt in uw taal.

Gebruik Base64-bestandsconverter

Wat het doet

Sleep een bestand naar dit veld of selecteer er een om het als een Base64-data-URI te verkrijgen, of plak een data-URI om deze weer te decoderen naar een downloadbaar bestand.

Het draait volledig in je browser: er wordt niets van wat je invoert geüpload.

Hoe gebruik je Base64-bestandsconverter

  1. Selecteer of verwijder een bestand. Klik op het gestreepte vakje om een bestand te selecteren, of sleep een bestand ernaar toe. Als je meerdere bestanden neerzet, wordt alleen het eerste bestand geconverteerd.
  2. Lees de data-URI. In het onderstaande vak verschijnt ‘data:type;base64’, gevolgd door het gecodeerde bestand. Op de regel daaronder worden de oorspronkelijke grootte, de Base64-grootte en de overhead weergegeven.
  3. Kopieer het resultaat. Klik op ‘Kopiëren’ om de volledige gegevens-URI naar uw klembord te kopiëren, bijvoorbeeld om deze in een testpagina of een casusnotitie te plakken.
  4. Plak een data-URI om te decoderen. Om het andersom te doen, plak je een data-URI in het onderste veld, bijvoorbeeld data:image/png;base64,... Parameters zoals ;charset=utf-8, regeleinden, URL-veilige Base64 en procentgecodeerde data-URI's worden geaccepteerd.
  5. Download het bestand en controleer het. Klik op ‘Decode & Download’ om het bestand op te slaan. Als het afkomstig is van een verdachte e-mail of webpagina, controleer het dan eerst met File Type Sniffer en File Hash voordat je het opent.

Voorbeeld

Een kleine afbeelding

Invoer
A small PNG file, dropped onto the box or chosen by clicking it
Hoe de uitvoer eruitziet
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Original: 70 bytes | Base64: 96 bytes (37% overhead) | Data URI: 118 bytes

Het onderstaande vakje wordt gevuld met data:image/png;base64,... en een regel geeft de oorspronkelijke grootte weer, de Base64-grootte inclusief de overhead en de lengte van de volledige data-URI: Base64 is ongeveer een derde groter dan het bestand.

Wat er wordt gecontroleerd

SignaalWat dit betekent
MIME-type na de gegevens:Dit is het type dat je browser voor het bestand aangeeft; dit wordt meestal afgeleid uit de bestandsextensie. Het zegt niets over de daadwerkelijke inhoud van het bestand, dus een bestand waarvan de naam is gewijzigd, behoudt een misleidend type.
Oorspronkelijke grootteDe bestandsgrootte in KB, afgerond op één decimaal. Bestanden die kleiner zijn dan ongeveer 50 bytes worden weergegeven als 0,0 KB; dit is het resultaat van afronding en betekent niet dat het bestand leeg is.
Base64-grootte en overheadDe lengte van het Base64-gedeelte, zonder het prefix „data:type;base64”, en hoeveel groter dit is dan het bestand. Bij grote bestanden ligt dit rond de 33 procent; bij zeer kleine bestanden is dit percentage hoger vanwege de opvulling.
Gecodeerde bestandsnaamHet gedownloade bestand krijgt de naam „decoded”, gevolgd door een extensie die overeenkomt met het MIME-type, zoals „decoded.png”, „decoded.txt” voor „text/plain” of „decoded.bin” wanneer er geen type is opgegeven. Op een regel onder de knop worden de bestandsnaam, de bestandsgrootte en het type weergegeven.
Tekst onder de knopEen data-URI die niet kan worden gelezen, of Base64 met tekens die niet tot de reeks A–Z, a–z, 0–9, + en / behoren, zorgt ervoor dat er een melding onder de knop verschijnt in plaats van dat er een download plaatsvindt.
Gegevens die lokaal blijvenBij het coderen wordt gebruikgemaakt van de FileReader van de browser en bij het decoderen wordt het bestand in het geheugen opgebouwd; het bestand en de geplakte tekst worden dus door deze tool nergens naartoe verzonden.

Nog meer voorbeelden

RFC 4648-testtekst

Invoer
A text file foobar.txt that contains only the six letters foobar, with no line break
Resultaat

data:text/plain;base64,Zm9vYmFy en de regel Original: 0,0 KB | Base64: 0,0 KB (33% overhead). Zm9vYmFy is de gepubliceerde RFC 4648-testvector voor foobar.

Een korte tekst ontcijferen

Invoer
data:text/plain;base64,Zm9vYg==
Resultaat

Met ‘Decode & Download’ wordt een bestand van 4 bytes opgeslagen met de naam decoded.txt, dat de tekst ‘foob’ bevat. Op de regel onder de knop worden de bestandsnaam, de bestandsgrootte en het type ‘text/plain’ vermeld.

SVG-afbeelding met een ongebruikelijke extensie

Invoer
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=
Resultaat

De browser slaat een lege SVG-afbeelding van 41 bytes op met de naam decoded.svg+xml. Hernoem het bestand naar .svg als je het wilt bekijken.

Veelgestelde vragen

Wat levert het op?

Een data-URI in de vorm data:type;base64,data, waarbij het MIME-type wordt gebruikt dat je browser voor het bestand aangeeft (application/octet-stream als er geen wordt aangegeven). Door de Base64-codering worden de gegevens ongeveer een derde groter, en het is een codering die iedereen kan ontcijferen; het is geen versleuteling.

Welke data-URI’s kan Decode & Download lezen?

Base64-data-URI’s zoals data:image/png;base64,... of data:text/plain;charset=utf-8;base64,..., ook met regeleinden of URL-veilige tekens, en procentgecodeerde URI’s zonder ;base64; bij al het andere verschijnt er een melding onder de knop. Bestanden die zijn gedecodeerd uit bijlagen van phishing-mails kunnen schadelijk zijn, dus controleer ze met File Type Sniffer voordat je ze opent.

Is het bestand geüpload?

Nee. Het bestand wordt gelezen met de FileReader-API en de data-URI wordt op deze pagina gegenereerd; er wordt niets geüpload. Bestanden tot 50 MB worden geconverteerd, omdat een grotere data-URI ervoor zou kunnen zorgen dat het tabblad vastloopt.

Waarom bevat een phishing-e-mail of -pagina een lange 'data:...'-reeks?

In HTML-bijlagen en phishingpagina’s worden vaak logo’s, lettertypen, scripts of complete bestanden als Base64-data-URI’s ingesloten. De inhoud wordt dan binnen de pagina zelf meegestuurd in plaats van vanaf een apart adres te worden geladen. Door de tekenreeks hier te decoderen, kun je zien wat erin verborgen zit zonder de oorspronkelijke pagina te openen.

Kan ik gewone Base64-code decoderen die geen ‘data:’-voorvoegsel heeft?

Ja, als je er een toevoegt. Voeg ‘data:application/octet-stream;base64’ toe aan het begin van de tekenreeks en klik op ‘Decodeer & Download’; je krijgt dan een bestand met de naam decoded.bin. Voor korte teksten is de Base64-encoder/decoder sneller.

Waarom ligt het overheadpercentage bij kleine bestanden boven de 33 procent?

Base64 zet elke 3 bytes om in 4 tekens en vult de laatste groep aan met =-tekens. Bij een bestand van slechts enkele bytes maakt die opvulling een groot deel uit, waardoor een bestand van 1 byte 300 procent laat zien. Vanaf enkele kilobytes blijft het percentage rond de 33 procent.

Is het veilig om een SVG- of HTML-bestand te openen dat uit een verdacht bericht is gedecodeerd?

Niet in je gewone browser. SVG- en HTML-bestanden kunnen scripts en links bevatten die worden uitgevoerd wanneer ze worden geopend. Controleer eerst het bestandstype en de hash, en open dergelijke bestanden alleen in een sandbox of op een aparte analysemachine.

Uitleg van termen

Onderzoek van PhishDestroy