Hoppa till innehåll

Base64-kodare Avkodare - Gratis Online Base64 Konverteringsverktyg

Gratis base64-kodare avkodare verktyg. Konvertera text till Base64 eller avkoda Base64-strängar direkt. Stöder standard- och URL-säker kodning. Ingen inloggning krävs.

Base64-kodare/avkodare

Konvertera text till och från Base64-kodning

Laddningsberäknare...
📚

Dokumentation

Vad är Base64-kodning?

Base64 är ett binär-till-text-kodningsschema som konverterar binära data till ett 64-tecken ASCII-strängformat. När du behöver skicka bilder via e-post, bädda in data i URL:er eller överföra binär information genom JSON-API:er, löser Base64 problemet med datakorruption i textbaserade kanaler.

Kodningen fungerar med en specifik teckenuppsättning:

  • Versala bokstäver A-Z (26 tecken)
  • Gemena bokstäver a-z (26 tecken)
  • Siffror 0-9 (10 tecken)
  • Två symboler: "+" och "/" (2 tecken)

Vår base64-kodare och avkodare konverterar omedelbart text till Base64 eller avkodar Base64-strängar tillbaka till läsbar text—ingen installation krävs.

Varför Base64 är viktigt i modern utveckling

När du bygger webbapplikationer kommer du ständigt att stöta på Base64. E-postbilagor använder det genom MIME-kodning. Data-URI:er i CSS och HTML förlitar sig på det för att bädda in bilder direkt i kod. REST-API:er använder det för att överföra binära data i JSON-nyttolaster. Även HTTP Basic Authentication är beroende av Base64 (även om det inte är kryptering—mer om det nedan).

Det som gör denna kodning väsentlig är att textbaserade protokoll som HTTP, JSON och XML inte är utformade för att hantera råa binära data tillförlitligt. Skicka en binär bild genom ett JSON-API utan kodning, och du kommer sannolikt att möta datakorruption. Base64 säkerställer att dina binära data överlever resan genom att representera dem helt med säkra ASCII-tecken.

Hur man använder detta Base64-verktyg

Koda text till Base64:

  1. Skriv eller klistra in din text i inmatningsfältet
  2. Klicka på "Koda till Base64" eller aktivera direktkonvertering
  3. Kopiera Base64-utdata för användning i din applikation

Avkoda Base64 till text:

  1. Klistra in din Base64-sträng i inmatningsfältet
  2. Klicka på "Avkoda från Base64" eller byt till avkodningsläge
  3. Visa den ursprungliga texten i utdataområdet

Direktkonverteringsläge uppdaterar resultat automatiskt när du skriver, perfekt för snabb testning och felsökning. Verktyget hanterar UTF-8-text, inklusive emoji och internationella tecken.

Hur Base64-kodning fungerar

Kodningen omvandlar var tredje byte (24 bitar) av indata till fyra Base64-tecken. Tänk på det som en översättning där grupper om 3 inmatningsbytes blir grupper om 4 utdatatecken.

Här är steg-för-steg-processen för base64-kodning:

  1. Konvertera till binärt: Din inmatningstext blir dess binära representation (vanligtvis UTF-8)
  2. Gruppera i segment: Binära data delas in i 24-bitars segment (3 bytes vardera)
  3. Dela in i 6-bitars segment: Varje 24-bitars segment delas in i fyra 6-bitars grupper
  4. Kartlägg till tecken: Varje 6-bitars värde (0-63) kartläggs till dess Base64-tecken

Vad händer när din inmatning inte är delbar med 3? Utfyllnadstecken ("=") fyller luckan. Detta upprätthåller det konsekventa 4:3-förhållandet mellan utdata- och indatalängder.

Matematiken bakom Base64

För en sekvens av bytes b1,b2,b3b_1, b_2, b_3, beräknas motsvarande Base64-tecken c1,c2,c3,c4c_1, c_2, c_3, c_4 som:

c1=Base64[(b1>>2)]c_1 = \text{Base64}[(b_1 >> 2)] c2=Base64[((b1&3)<<4)(b2>>4)]c_2 = \text{Base64}[((b_1 \& 3) << 4) | (b_2 >> 4)] c3=Base64[((b2&15)<<2)(b3>>6)]c_3 = \text{Base64}[((b_2 \& 15) << 2) | (b_3 >> 6)] c4=Base64[(b3&63)]c_4 = \text{Base64}[(b_3 \& 63)]

Där Base64[i]\text{Base64}[i] representerar det ii:te tecknet i Base64-alfabetet.

Base64 avkodningsprocess

Avkodning reverserar kodningen genom att konvertera Base64-tecken tillbaka till binärt:

  1. Kartlägg varje Base64-tecken till dess 6-bitars värde
  2. Sammanfoga dessa 6-bitars värden till en kontinuerlig bitström
  3. Dela in i 8-bitars segment (bytes)
  4. Konvertera varje byte till dess motsvarande tecken

Förstå utfyllnad

Utfyllnad säkerställer att utdatalängden alltid är en multipel av 4 tecken:

  • En återstående byte: Producerar två Base64-tecken plus "=="
  • Två återstående bytes: Producerar tre Base64-tecken plus "="

Ett vanligt misstag är att ta bort utfyllnadstecken när Base64-strängar lagras. Även om vissa avkodare hanterar saknad utfyllnad kommer strikta implementationer att avvisa det. Behåll utfyllnaden om du inte är säker på att din avkodare är tolerant.

Base64-kodningsexempel: "Hello"

Låt oss gå igenom kodningen av "Hello" med hjälp av en base64-konverterare:

  1. ASCII-värden: 72 101 108 108 111
  2. Binär form: 01001000 01100101 01101100 01101100 01101111
  3. Gruppera i 6-bitars segment: 010010 000110 010101 101100 011011 000110 1111
  4. Fyll ut sista segmentet med nollor: 010010 000110 010101 101100 011011 000110 111100
  5. Konvertera till decimal: 18, 6, 21, 44, 27, 6, 60
  6. Mappa till Base64-alfabetet: S, G, V, s, b, G, 8
  7. Slutresultat: SGVsbG8=

Observera "="-utfyllnaden i slutet. Eftersom "Hello" har 5 byte (inte delbart med 3), behöver vi utfyllnad för att signalera att den sista gruppen inte är komplett.

Base64-kodad längdformel

Formeln för att beräkna längden på en kodad sträng:

kodad_la¨ngd=4×indata_la¨ngd3\text{kodad\_längd} = 4 \times \lceil \frac{\text{indata\_längd}}{3} \rceil

Där x\lceil x \rceil representerar takfunktionen (avrundning uppåt till närmaste heltal).

Verkliga Base64-användningsfall

Här är där du kommer att stöta på base64-kodning i produktionssystem:

1. E-postbilagor (MIME-kodning)

E-postprotokoll designades för 7-bitars ASCII-text. När du bifogar en PDF eller bild använder MIME Base64 för att konvertera binära filer till e-postsäker text. Därför är e-postbilagor ungefär 33% större än originalfilerna—det är Base64-omkostnaden.

2. Data-URI:er i webbutveckling

Har du någonsin bäddat in en bild direkt i CSS eller HTML? Det är Base64 i arbete:

1<img src="data:image/png;base64,iVBORw0KGgoAAAANS..." />
2

Denna teknik minskar HTTP-förfrågningar genom att bädda in små tillgångar direkt i koden. Men den är bäst för små bilder (under 10 KB)—större filer saktar ner sidrendering eftersom de inte kan cachas separat.

3. API-dataöverföring

REST-API:er använder vanligtvis Base64 för att skicka binära data genom JSON. När du laddar upp bilder genom en API-slutpunkt som bara accepterar JSON, kommer du att koda filen som Base64. Tänk på att detta lägger till 33% till nyttolastens storlek, så överväg multipart/form-data för stora filer.

4. HTTP Basic Authentication

Authorization-rubriken använder Base64 för att koda autentiseringsuppgifter:

1Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
2

Kritisk varning: Base64 är INTE kryptering. Vem som helst kan avkoda detta direkt. Använd alltid HTTPS—skicka aldrig Base64-kodade autentiseringsuppgifter över vanlig HTTP.

5. JWT-tokens

JSON Web Tokens (JWT) använder Base64URL-kodning (en URL-säker variant) för sina tre segment. Detta gör att tokens kan skickas säkert i URL:er och HTTP-rubriker.

6. Lagra binära data i databaser

När din databas inte stöder binära kolumner eller du behöver lagra binära data i JSON-fält, ger Base64 en textssäker lösning. Observera att detta ökar lagringskraven med 33%.

7. Cookielagring

Cookies måste innehålla endast ASCII-tecken. När du lagrar komplexa datastrukturer eller binära data i cookies gör Base64-kodning dem cookie-säkra.

När man INTE ska använda Base64

Innan du kodar allt i Base64, överväg dessa situationer där det är fel val:

Stora filöverföringar: Den 33-procentiga storleksökningen påverkar bandbredd och inläsningstider avsevärt. Använd direkt binär överföring (multipart/form-data) istället.

Bildlagring på klientsidan: Base64-bilder i CSS eller HTML kan inte cachelagras separat och blockerar sidrendering. Lagra bilder som separata filer för bättre prestanda.

Databaslagring av stora filer: Att lagra megabyte-stora Base64-strängar i databas TEXT-fält slösar lagringsutrymme och saktar ner förfrågningar. Använd BLOB-kolumner eller fillagringstjänster (S3, CloudFlare R2) istället.

Säkerhetsbehov: Base64 ger ingen säkerhet. Använd inte det för att "gömma" API-nycklar, lösenord eller känsliga data. Använd korrekt kryptering.

Höga prestanda-scenarier: Base64-kodning/avkodning lägger till CPU-overhead. Vid hantering av tusentals förfrågningar per sekund presterar direkt binär hantering bättre.

Base64-alternativ: Välja rätt kodning

Base64 är inte alltid det bästa valet. Här är när du bör överväga alternativ:

URL-säker Base64

Standard Base64 använder "+" och "/" som brytar URL:er. URL-säker Base64 ersätter dem med "-" och "_". Använd denna variant för:

  • Frågeparametrar
  • URL-sökvägar
  • JWT-tokens
  • All data som överförs i URL:er

Base32-kodning

Base32 producerar längre utdata (40% overhead vs 33%) men erbjuder skiftlägesoberoende. Välj Base32 när:

  • Användare behöver skriva in det kodade värdet manuellt
  • Skiftlägeskänsliga system orsakar problem
  • Du behöver bättre feldetektering

Hexadecimal kodning

Hex fördubblar datastorlek (100% overhead) men är enkelt och universellt stött. Det är idealiskt för:

  • Visning av hashvärden
  • Färgkoder
  • MAC-adresser
  • Situationer där läsbarhet är viktigare än effektivitet

Direkt binär överföring

För stora filer, hoppa över textkodning helt. Använd multipart/form-data eller binär HTTP med rätt Content-Type-rubriker. Detta undviker 33% storlekstraff och förbättrar prestanda.

Kompression + Base64

När du kodar stora texter eller repetitiva data, komprimera först (gzip eller deflate), sedan applicera Base64. Detta resulterar ofta i mindre utdata än ren Base64-kodning.

Kort historik om Base64-kodning

Base64 uppstod ur tidiga datorsystems behov att överföra binära data över textbaserade kanaler. Den formella specifikationen dök först upp i RFC 989 (1987) för Privacy Enhanced Mail (PEM), och utvecklades sedan genom RFC 1421 (1993) och RFC 2045 (1996) som en del av MIME.

Namnet "Base64" återspeglar dess 64-tecknens alfabet. Detta var inte godtyckligt—64 är lika med 2^6, vilket gör binär-till-Base64-konvertering matematiskt effektiv genom enkla bitförskjutningsoperationer.

Dagens Base64-varianter inkluderar:

  • Standard Base64 (RFC 4648): Använder A-Z, a-z, 0-9, +, / med = padding
  • URL-säker Base64: Ersätter + och / med - och _ för säker URL-överföring
  • Base64URL: IETF-standardvarianten för URL:er och filnamn
  • Modifierad Base64: IMAP använder sin egen teckenuppsättning för brevlådenamn

Efter över 35 år är Base64 fortfarande väsentligt för modern webbutveckling, särskilt när JSON-API:er och webbtjänster dominerar landskapet.

[Resten av dokumentet fortsätter med samma översättningsprinciper för kodexemplen]

Vanliga Base64-fallgropar och lösningar

Var uppmärksam på dessa problem när du arbetar med en base64-avkodare eller -kodare:

1. Problem med teckenkodning

Problemet: Kodning av text med emoji eller internationella tecken utan UTF-8-kodning först ger korrupt utdata.

Lösningen: Konvertera alltid till UTF-8-bytes innan Base64-kodning. I JavaScript innebär detta att hantera multi-byte-tecken korrekt—den inbyggda btoa() fungerar inte med Unicode.

2. Saknad eller ogiltig utfyllnad

Problemet: Vissa system tar bort "="-utfyllnadstecken, vilket får strikta avkodare att misslyckas.

Lösningen: Kontrollera före avkodning om längden är en multipel av 4. Om inte, lägg till "="-tecken: while (str.length % 4) str += '='

3. Radbrytningar i kodad data

Problemet: Äldre MIME-implementationer lägger till radbrytningar var 76:e tecken. Moderna API:er avvisar ofta dessa.

Lösningen: Ta bort alla radbrytningar och mellanslag före avkodning: str.replace(/\s/g, '')

4. URL-säker vs standard Base64

Problemet: Användning av standard Base64 (+, /) i URL:er orsakar kodningsproblem eller bryter routing.

Lösningen: För URL:er, använd den URL-säkra varianten. Konvertera mellan dem:

  • Standard till URL-säker: Ersätt + med - och / med _
  • URL-säker till standard: Återställ ersättningen

5. Prestanda med stora filer

Problemet: Kodning av filer på flera megabyte i minnet kan låsa webbläsare eller krascha applikationer.

Lösningen: Använd strömnings-API:er eller dela upp data. Moderna webbläsare stöder Streams API för att bearbeta stora filer utan att ladda allt i minnet.

6. Säkerhetsmissuppfattningar

Kritiskt misstag: Behandla Base64 som kryptering eller säker förvanskning.

Verkligheten: Base64 är helt reversibel på millisekunder. Använd aldrig detta för att "gömma" känsliga data. Det är för kodning, inte säkerhet. Kombinera alltid med korrekt kryptering (AES, RSA) när säkerhet är viktigt.

Vanliga frågor

Är Base64 kryptering?

Nej. Base64 är kodning, inte kryptering. Vem som helst kan avkoda Base64 direkt utan en nyckel. Kryptering kräver en hemlig nyckel och är beräkningsmässigt svår att återställa. Om du behöver säkerhet, använd riktiga krypteringsalgoritmer som AES-256, och koda sedan den krypterade datan i Base64 för överföring.

Varför blir data större med Base64?

Storlingsökningen på 33% är inneboende i algoritmen. Varje 3 inmatningsbytes blir 4 utdatatecken eftersom Base64 använder 6 bitar per tecken medan standard-bytes använder 8 bitar. Formeln: 3 bytes × 8 bitar = 24 bitar; 24 bitar ÷ 6 bitar per tecken = 4 tecken.

Kan jag koda bilder till Base64?

Ja, bilder kan kodas till Base64. Detta är vanligt för data-URI:er i HTML/CSS och API-nyttolaster. Tänk dock på dessa avvägningar: Base64-bilder kan inte cachas separat, ökar sidstorlek med 33% och saktar ner initial rendering. Använd det för små ikoner (under 10 KB), inte stora foton.

Vad är skillnaden mellan Base64 och Base64URL?

Base64URL är URL-säker. Standard Base64 använder "+" och "/" som har särskilda betydelser i URL:er (mellanslag och sökvägsavgränsare). Base64URL ersätter dem med "-" och "_" som är säkra i URL:er. JWT-tokens använder Base64URL av denna anledning.

Hur fixar jag "Ogiltig Base64-sträng"-fel?

Vanliga orsaker:

  1. Saknad utfyllnad: Lägg till "="-tecken tills längden är delbar med 4
  2. Ogiltiga tecken: Ta bort tecken utanför A-Z, a-z, 0-9, +, /, =
  3. Blanksteg: Ta bort alla mellanslag, tabbar och radbrytningar
  4. Fel variant: URL-säker Base64 använder - och _ istället för + och /

Kan Base64 avkoda binära filer?

Base64 kodar binära data till text, och avkodning återställer denna process. Du kan koda vilken binär fil som helst (PDF, bild, video) till Base64, överföra den som text och sedan avkoda tillbaka till binärt. Det avkodade resultatet är byte-för-byte identiskt med originalet.

Varför använda Base64 för e-postbilagor?

SMTP (e-postprotokoll) designades för 7-bitars ASCII-text. Binära bilagor skulle förvanskas under överföring. MIME använder Base64 för att konvertera binära filer till ASCII-säker text som överlever e-postroutning. Storlingsökningen på 33% är priset för kompatibilitet.

Hur kodar jag specialtecken i Base64?

Koda först din text till UTF-8-bytes, sedan applicera Base64-kodning på dessa bytes. Detta säkerställer att emoji, accenttecken och internationella skript kodas korrekt. I JavaScript, använd TextEncoder istället för btoa() som misslyckas med Unicode:

1new TextEncoder().encode(text) // Konvertera till UTF-8-bytes först
2

Är Base64-kodning långsam för stora filer?

Base64-kodning/avkodning är relativt snabb (miljontals bytes per sekund på moderna processorer), men bearbetning av flermegabyte-filer i minnet kan orsaka frysning av webbläsaren. För filer över 1 MB, använd strömningsmetoder eller Web Workers för att undvika blockering av huvudtråden.

Kan jag använda Base64 i URL:er?

Använd Base64URL (den URL-säkra varianten) istället för standard Base64. Standard Base64:s "+" och "/" tecken orsakar problem i URL:er. Bibliotek som JWT använder Base64URL automatiskt. För att konvertera: ersätt + med -, ersätt / med _, och ta eventuellt bort utfyllnads-"="-tecken.

Referenser och standarder