Konverter Base64 til fil

Lim inn en Base64-streng eller en data URI for å gjenskape den opprinnelige filen. Verktøyet gjenkjenner formatet fra de første bytene, viser en forhåndsvisning når det er mulig, og lagrer filen med riktig filtype.

Kjører helt i nettleseren din. Ingenting lastes opp.

Slik bruker du verktøyet

  1. Lim inn Base64-strengen eller hele data URI-en i inndatafeltet. Mellomrom og linjeskift spiller ingen rolle.
  2. Sjekk den gjenkjente filtypen og størrelsen. Bilder, PDF-er, lyd, video og tekst vises i en forhåndsvisning.
  3. Last ned filen. Den lagres med et navn og en filtype som passer til den gjenkjente typen.

Slik gjenkjennes filtypen

Base64-tekst bærer byte, ikke et filnavn. Med mindre du limer inn en data URI med MIME-type, står det ingenting i strengen om den inneholder en PDF, et ZIP-arkiv eller en lyd. Verktøyet dekoder derfor dataene og undersøker de første bytene, altså filsignaturen eller de «magiske bytene» som de fleste formater plasserer helt i begynnelsen. Fordi disse bytene er faste, begynner også Base64-teksten for hvert format på en gjenkjennelig måte:

FormatFørste byteBase64 begynner med
PDF%PDFJVBER
PNG89 50 4E 47iVBORw0KGgo
JPEGFF D8 FF/9j/
GIFGIF8R0lGOD
ZIP (også DOCX, XLSX, JAR)PK 03 04UEsDB
MP3 med ID3-taggID3SUQz
WAV, WebP, AVI (RIFF)RIFFUklGR

Når den dekodede filen ikke vil åpnes

Base64-dekoding er tapsfri, så en ødelagt fil betyr nesten alltid at inndataene ikke var det du trodde. Sjekk disse årsakene i denne rekkefølgen:

  • Avkortede inndata. Loggfiler, terminaler, regnearkceller og chatteapper kutter ofte lange strenger. Mangler det tekst på slutten, blir filen for kort, og de fleste formater nekter da å åpne den. Kjenner du den opprinnelige størrelsen, kan du sammenligne den med den dekodede størrelsen.
  • Ekstra tegn. Anførselstegn, komma eller et feltnavn som ble kopiert sammen med verdien, eller escape-sekvenser som \/ og \n fra en JSON-streng, hører ikke til Base64. Kopier bare selve verdien.
  • En annen koding eller variant. Hex, Base32, Base85 eller et egendefinert alfabet kan ved første øyekast ligne, men blir til rot når det dekodes som Base64. Kodingsgjenkjenneren prøver alle dekoderne og viser hvilken som passer.
  • Ikke en fil i det hele tatt. Gjenkjennes resultatet som ren tekst, var strengen Base64 av tekst: JSON, et token eller enda et lag med Base64. Les den med Base64-dekoderen, og dekod én gang til hvis utdataene igjen er Base64.

Base64-validatoren lister opp ugyldige tegn med posisjon og melder fra om problemer med utfylling, noe som gjør det lettere å finne en skadet del.

Dekod Base64 til en fil i kode

# 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)))

Ofte stilte spørsmål

Hvilke filtyper kan gjenkjennes?

Vanlige formater med en tydelig signatur: PDF, ZIP, GZIP, 7z- og RAR-arkiver, PNG, JPEG, GIF, WebP og andre bilder, MP3, WAV, OGG, FLAC og M4A-lyd, MP4- og WebM-video, WOFF-, WOFF2-, TTF- og OTF-skrifter, WebAssembly med mer. JSON, XML, HTML og ren tekst gjenkjennes også. Formater uten signatur kan ikke identifiseres, så vet du den faktiske typen, gir du den nedlastede filen nytt navn.

Hvorfor ble Word- eller Excel-filen min gjenkjent som ZIP?

DOCX-, XLSX- og PPTX-filer er, i likhet med EPUB og JAR, ZIP-arkiver med en bestemt mappestruktur inni, og de begynner med de samme magiske bytene som alle andre ZIP-filer. De dekodede bytene er riktige: gi den nedlastede filen filtypen .docx, .xlsx eller det du trenger, så åpnes den som normalt.

Kan jeg lime inn en data URI?
Ja. Lim inn hele strengen, inkludert prefikset data:...;base64,, eller bare Base64-delen. Uansett kontrolleres typen mot de dekodede bytene.
Hvorfor er den dekodede filen mindre enn Base64-teksten?

Base64 bruker 4 tegn for hver gruppe på 3 byte, så filen er omtrent tre fjerdedeler så stor som teksten. Er den mye mindre enn filen du ventet, ble inndataene sannsynligvis kuttet.

Blir dataene mine sendt noe sted?

Nei. Dekoding, typegjenkjenning og forhåndsvisning skjer i nettleseren din, og nedlastingen lages på enheten din. Ingenting lastes opp.