Utilia

Base64-kodare och avkodare

Gratis Base64-kodare och avkodare med fullt stöd för UTF-8 och ett URL-säkert base64url-läge. Körs helt i din webbläsare, inget laddas upp.

Så använder du Base64-kodaren och avkodaren

  1. Välj om du vill Koda text till Base64 eller Avkoda Base64 tillbaka till text.
  2. Skriv eller klistra in din indata i textrutan. Bokstäver som å, ä och ö, andra skriftsystem och emoji stöds fullt ut.
  3. Om resultatet ska användas i en URL, ett filnamn eller en JSON Web Token slår du på alternativet URL-säker (base64url) för att få base64url-varianten.
  4. Läs resultatet och kopiera det. Om du avkodar och indata inte är giltig Base64 får du ett felmeddelande i stället för en obegriplig teckenföljd.

Vad är Base64?

Base64 är ett sätt att representera godtyckliga byte med bara 64 skrivbara ASCII-tecken: versalerna A–Z, gemenerna a–z, siffrorna 0–9 och de två symbolerna + och /. Tecknet = används som utfyllnad i slutet. Formatet finns eftersom många system byggdes för att överföra text, inte rå binärdata. E-postmeddelanden, HTTP-huvuden, XML- och JSON-dokument och data-URL:er förväntar sig tecken som klarar att kopieras, loggas och skickas utan att förändras.

Algoritmen arbetar med grupper om tre byte (24 bitar) och delar upp dem i fyra värden om 6 bitar, där vart och ett motsvarar ett av de 64 tecknen. Därför blir Base64-utdata alltid cirka 33 % större än indata: varje 3 byte blir 4 tecken. När indatans längd inte är jämnt delbar med tre läggs ett eller två = till så att utdatans längd blir en multipel av fyra. Ordet Hi kodas till exempel som SGk= och Hello som SGVsbG8=.

Text, byte och UTF-8

Base64 kodar byte, inte tecken, så texten måste först omvandlas till byte. Det här verktyget använder UTF-8, den teckenkodning som nästan alla moderna webbsidor och API:er använder. Det betyder att café blir Y2Fmw6k= och att en emoji som 👍 (fyra byte i UTF-8) kodas korrekt och avkodas tillbaka till samma emoji. Många snabba skript som bygger på webbläsarens äldre funktion btoa() kraschar på allt utanför Latin-1. Den begränsningen har inte det här verktyget.

Standard-Base64 och base64url

Standard-Base64 använder + och /, som har särskild betydelse i URL:er och filsökvägar. Den URL-säkra varianten, base64url, ersätter + med - och / med _, och tar oftast bort utfyllnaden med =. Det är formatet som används i JSON Web Tokens (JWT), i många OAuth-parametrar och i URL-förkortare. Slå på URL-säkert läge när du behöver det formatet, och låt det vara avstängt för e-postbilagor, data-URL:er eller konfigurationsfiler som förväntar sig standard-Base64.

Base64 är inte kryptering

Det här är det vanligaste missförståndet. Base64 är en kodning: den har ingen nyckel och ingen hemlighet, och vem som helst kan vända på den direkt. Att koda ett lösenord, en API-nyckel eller personuppgifter i Base64 skyddar dem inte alls. HTTP Basic-autentisering skickar till exempel användarnamn:lösenord i Base64, och därför får den bara användas över HTTPS. Behöver du sekretess ska du använda riktig kryptering (som AES) eller en lösenordshash (som Argon2 eller bcrypt), inte Base64.

Integritet

All kodning och avkodning sker lokalt i din webbläsare med JavaScript. Texten du skriver in skickas aldrig till en server, sparas inte och loggas inte, så du kan tryggt granska tokens eller konfigurationsvärden. Verktyget hanterar bara text och tar inte emot uppladdade filer.

Vanliga frågor

Varför ser min avkodade text ut som slumpmässiga tecken?

Base64-strängen innehåller troligen binärdata, till exempel en bild, en komprimerad fil eller krypterat innehåll, och inte text. Avkodningen ger giltiga byte, men de blir ingen begriplig UTF-8-text. Det kan också hända om originaltexten kodades med en annan teckenuppsättning än UTF-8.

Varför säger verktyget att min Base64 är ogiltig?

Giltig Base64 innehåller bara de 64 tillåtna tecknen plus valfri utfyllnad med =, och längden måste passa grupperingen om fyra tecken. Vanliga orsaker är tecken som råkat följa med vid kopieringen, en avkortad sträng eller en base64url-sträng (med - och _) som avkodas utan att URL-säkert läge är påslaget.

Kan jag koda bilder eller andra filer?

Nej. Verktyget är gjort för text. För att bädda in en bild i HTML eller CSS behöver du ett verktyg som läser filens råa byte och skapar en data-URL.

Är Base64 säkert för att lagra lösenord?

Nej. Base64 kan avkodas av vem som helst på en bråkdel av en sekund. Lösenord ska lagras med en särskild, långsam hashalgoritm som Argon2, scrypt eller bcrypt.

Vad är skillnaden mellan Base64 med och utan utfyllnad?

Utfyllnaden med = gör bara att utdatans längd blir en multipel av fyra. Den bär ingen information, och de flesta avkodare klarar att återskapa datan utan den. base64url utelämnar ofta utfyllnaden eftersom = i sig är ett reserverat tecken i URL:er.