Så använder du verktyget
- Klistra in Base64-strängen i indatafältet, eller klicka på Öppna fil för att läsa in en fil som innehåller Base64-text.
- Behåll text som utdata och välj teckenkodning (UTF-8 som standard), eller välj Hex under Utdata som för binärdata.
- Om avkodningen misslyckas, läs felmeddelandet: det anger positionen för det första ogiltiga tecknet.
- Kopiera det avkodade resultatet eller ladda ned det.
Vad avkodaren accepterar
Avkodning är kodning baklänges: varje tecken översätts tillbaka till sitt 6-bitarsvärde och varje grupp om fyra tecken blir tre byte. Base64 som man stöter på i verkligheten är sällan helt ren, så den här avkodaren är förlåtande:
- Mellanslag och radbrytningar ignoreras, så radbrutna MIME-meddelanden och PEM-block kan klistras in som de är. Ta dock bort raderna
-----BEGINoch-----ENDförst: deras bokstäver och bindestreck är giltiga Base64-tecken och skulle avkodas som data. - URL-säker indata med
-och_avkodas precis som standard-Base64 med+och/. - Saknad utfyllnad går bra. Bara en längd på 4n + 1 tecken avvisas, eftersom ett ensamt överblivet tecken inte kan bilda en byte; det betyder oftast att strängen har kapats.
- Data URI:er fungerar också: ett inledande prefix
data:...;base64,tas bort före avkodningen.
Text eller binär utdata
Resultatet av en avkodning är alltid en sekvens av byte. Om originalet var text behåller du text som utdata och väljer dess teckenuppsättning. Om det var en bild, en PDF, ett arkiv, en nyckel eller chiffertext blir det inte läsbart med någon teckenuppsättning: välj Hex under Utdata som för att granska bytena, eller öppna Base64 till fil eller Base64 till bild för att förhandsvisa och spara innehållet. De första tecknen avslöjar ofta vad det är:
| Base64 börjar med | Avkodat innehåll |
|---|---|
iVBORw0KGgo | PNG-bild |
/9j/ | JPEG-bild |
R0lGOD | GIF-bild |
JVBERi0 | PDF-dokument |
UEsDB | ZIP-arkiv, inklusive DOCX, XLSX och JAR |
H4sI | gzip-komprimerad data |
eyJ | JSON-objekt, till exempel ett JWT-huvud |
Varför den avkodade texten blir oläslig
- Fel teckenuppsättning. UTF-8-text som läses som Windows-1252 gör om é till
é, och GBK- eller Shift_JIS-text som läses som UTF-8 visar ersättningstecken (�). Välj den teckenuppsättning som texten skrevs i. - Binärdata. Slumpmässiga symboler med enstaka läsbara fragment, som
PNGellerPKnära början, betyder att innehållet är en fil och inte text. - Komprimerad eller krypterad data. gzip-strömmar, Protocol Buffers och chiffertext avkodas korrekt men är inte text. Hex som utdata visar vad som faktiskt finns där.
- Dubbel kodning. Om utdatan i sig är Base64 klistrar du in den i indatafältet igen och avkodar den en gång till.
Avkoda Base64 i kod
# Python
base64.b64decode(s).decode('utf-8')
// Node.js (accepterar även URL-säker indata)
Buffer.from(s, 'base64').toString('utf8')
// Webbläsare: atob() returnerar ett tecken per byte, så avkoda UTF-8 efteråt
new TextDecoder().decode(Uint8Array.from(atob(s), c => c.charCodeAt(0)))
# Skal i Linux och macOS
echo 'SGVsbG8=' | base64 --decode
Specifikation
| Alfabet | A-Z a-z 0-9 + / |
|---|---|
| Utdatastorlek | 4 tecken per 3 byte (cirka 133 %) |
| Utfyllnad | = fyller ut till en multipel av 4 tecken |
| Standard | RFC 4648 avsnitt 4 |
| Skiftlägeskänslig | Ja |
Exempel
| Indata (UTF-8) | Utdata |
|---|---|
Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Base64.is | QmFzZTY0Lmlz |
你好 | 5L2g5aW9 |
Vanliga frågor
Varför får jag ett fel om ogiltigt tecken?
%2B och %3D som följt med från en URL. Ta bort citattecknen eller URL-avkoda strängen först. Felmeddelandet visar positionen för det första felaktiga tecknet.Kan jag avkoda Base64 utan utfyllnad?
=-tecknen, så strängar utan utfyllnad från JWT:er, URL:er och API:er avkodas som vanligt.Varför blir utdatan fel när jag har kopierat Base64 från en URL?
+ till ett mellanslag. Mellanslag ignoreras här, så de tecknen går förlorade. Ersätt mellanslagen med + före avkodningen, och använd Base64URL för värden som skickas i URL:er.Hur avkodar jag Base64 till en bild eller fil?
Skickas min Base64 till en server?
Nej. Avkodningen körs i din webbläsare med JavaScript och indatan lämnar aldrig din enhet, vilket är viktigt när du avkodar tokens, hemligheter från konfigurationer eller personuppgifter.