Base64 File Encoder

Koda valfri fil till Base64: PDF, ZIP, bilder med mera

Släpp valfri fil här eller klicka för att ladda upp

Alla filtyper: PDF, ZIP, bilder, binärfiler

Vad är Base64-filkodning?

Base64-filkodning konverterar binärfiler — PDF:er, ZIP-arkiv, bilder, körbara filer, teckensnitt, ljud — till ren ASCII-text med hjälp av alfabetet som definieras i RFC 4648. Varje tre bytes av binär indata blir fyra Base64-tecken, vilket ger en textrepresentation som kan färdas genom kanaler utformade enbart för text: JSON API-nyttolaster, XML-dokument, e-postkroppar, HTML-attribut och miljövariabler.

Till skillnad från text-till-Base64-kodning (som opererar på strängar) läser fil-till-Base64-kodning den råa byteströmmen av valfri fil oavsett format. En PDF:s binära sidhuvuden, ett ZIP-arkivs komprimerade block och en PNG:s pixeldata behandlas alla identiskt: som en sekvens av oktetter som ska kodas om. Resultatet är alltid giltig ASCII, säker att bädda in var som helst som accepterar utskrivbara tecken.

Avvägningen är storlek: Base64-utdata är ungefär 33 % större än den ursprungliga binärfilen. För en PDF på 1 MB innebär det ungefär 1,33 MB Base64-text. Denna ökning är kostnaden för att representera 8-bitars bytes med 6-bitars tecken och är inneboende i kodningen — ingen implementering kan undvika det. Trots detta förblir Base64-filkodning standardmetoden för att bädda in binärdata i textbaserade format, specificerat i MIME (RFC 2045), data-URI:er (RFC 2397) och JSON Web Tokens (RFC 7519).

Varför använda den här Base64-filkodaren?

Det här verktyget kodar filer till Base64 direkt i din webbläsare med FileReader API:et. Ingen fil laddas upp till en server — hela konverteringen sker klientsidigt i JavaScript.

🛡
Integritetsfokuserad bearbetning
Din fil lämnar aldrig din enhet. FileReader API:et läser filen till minnet lokalt och Base64-utdata genereras helt i webbläsaren. Ingen nätverksbegäran görs.
Omedelbar drag-och-släpp
Släpp valfri fil på verktyget och se Base64-utdata direkt. Ingen väntan på uppladdningar, inga förloppsindikatorer, inga filstorleksgränser från en server.
📁
Alla filformat
Koda PDF:er, ZIP-arkiv, bilder, teckensnitt, ljudfiler, WebAssembly-moduler eller andra binärformat. Kodaren behandlar alla filer som råa byteströmmar — formatet spelar ingen roll.
🔒
Inget konto krävs
Använd verktyget direkt utan att registrera dig, logga in eller godkänna kakor. Utdata är redo att kopieras eller laddas ned som en .b64.txt-fil med ett klick.

Användningsfall för Base64-filkodning

Frontendutvecklare
Bädda in små ikoner, teckensnitt eller SVG:er direkt i CSS eller HTML som data-URI:er för att eliminera extra HTTP-begäranden. En ikon på 2 KB inbäddad som Base64 sparar en nätverkstur som annars lägger till 50–200 ms latens.
Backendutvecklare
Inkludera bifogade filer i JSON API-nyttolaster när transportprotokollet inte stöder multipart-uppladdningar. Koda PDF:er, rapporter eller signerade dokument innan de skickas som strängfält i REST- eller GraphQL-svar.
DevOps / Infrastruktur
Lagra binära konfigurationsfiler (TLS-certifikat, SSH-nycklar, licensfiler) som Base64-strängar i miljövariabler, Kubernetes Secrets eller Terraform tfvars där råa binärvärden inte är tillåtna.
QA / Testingenjör
Generera Base64-filfixturer för automatiserade tester som verifierar uppladdningsendpunkter, hantering av e-postbilagor eller dokumentbearbetningspipelines utan att hantera binära testfiler i versionshantering.
Dataingenjör
Serialisera binära blobbar (Parquet-metadata, Protobuf-scheman, små binära tillgångar) till Base64 för lagring i JSON-baserade datakataloger, konfigurationslager eller migreringsskript.
Student / Nybörjare
Observera hur binärfiler blir text genom att koda små filer och granska utdata. Jämför Base64-längden med den ursprungliga filstorleken för att verifiera de 33 % extra utrymme som beskrivs i RFC 4648.

Storleksökning vid Base64-filkodning

Base64-kodning ökar datastorleken med exakt en tredjedel. Varje 3 inmatade bytes ger 4 utdatatecken (varje representerar 6 bitar). Utfyllnadstecken (=) läggs till när indatalängden inte är en multipel av 3. Tabellen nedan visar förhållandet mellan ursprunglig filstorlek och kodad utdatastorlek.

FilstorlekRåa bytesBase64-bytesÖkning
1 KB1,024 B1,368 B+33.3%
10 KB10,240 B13,656 B+33.4%
100 KB102,400 B136,536 B+33.3%
1 MB1,048,576 B1,398,104 B+33.3%
5 MB5,242,880 B6,990,508 B+33.3%
10 MB10,485,760 B13,981,016 B+33.3%

Data-URI och MIME-typreferens

En data-URI bäddar in filinnehåll direkt i HTML, CSS eller JavaScript med formatet data:[MIME-typ];base64,[kodad data]. MIME-typen talar om för webbläsaren hur de avkodade byterna ska tolkas. Nedan visas vanliga filtillägg, deras MIME-typer och motsvarande data-URI-prefix.

TilläggMIME-typData-URI-prefix
.pdfapplication/pdfdata:application/pdf;base64,...
.zipapplication/zipdata:application/zip;base64,...
.pngimage/pngdata:image/png;base64,...
.jpgimage/jpegdata:image/jpeg;base64,...
.gifimage/gifdata:image/gif;base64,...
.svgimage/svg+xmldata:image/svg+xml;base64,...
.woff2font/woff2data:font/woff2;base64,...
.mp3audio/mpegdata:audio/mpeg;base64,...
.wasmapplication/wasmdata:application/wasm;base64,...
.binapplication/octet-streamdata:application/octet-stream;base64,...

Kodexempel

Dessa körbara exempel visar hur man läser en binärfil och kodar den till Base64 i JavaScript, Python, Node.js, bash och Go. Varje kodavsnitt producerar standard-Base64 (RFC 4648 avsnitt 4) med utfyllnad.

JavaScript (browser)
// Read a file from an <input> element and encode to Base64
const input = document.querySelector('input[type="file"]')
input.addEventListener('change', (e) => {
  const file = e.target.files[0]
  const reader = new FileReader()
  reader.onload = () => {
    const base64 = reader.result.split(',')[1]
    console.log(base64) // → "JVBERi0xLjQK..." (raw Base64, no data URI prefix)
  }
  reader.readAsDataURL(file)
})

// Convert a Blob to Base64 with async/await
async function blobToBase64(blob) {
  const buffer = await blob.arrayBuffer()
  const bytes = new Uint8Array(buffer)
  let binary = ''
  bytes.forEach(b => binary += String.fromCharCode(b))
  return btoa(binary) // → standard Base64 string
}
Python
import base64
from pathlib import Path

# Encode a file to Base64
file_bytes = Path('document.pdf').read_bytes()
encoded = base64.b64encode(file_bytes).decode('ascii')
print(encoded[:40])  # → "JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PA..."

# Write encoded output to a text file
Path('document.b64.txt').write_text(encoded)

# Build a data URI from a file
mime_type = 'application/pdf'
data_uri = f'data:{mime_type};base64,{encoded}'
print(data_uri[:60])  # → "data:application/pdf;base64,JVBERi0xLj..."
Node.js
import { readFileSync, writeFileSync } from 'fs'

// Encode a file to Base64
const buffer = readFileSync('archive.zip')
const base64 = buffer.toString('base64')
console.log(base64.length) // → 1398104 (for a ~1 MB file)

// Save Base64 output to a file
writeFileSync('archive.b64.txt', base64)

// Build a data URI
const mime = 'application/zip'
const dataUri = `data:${mime};base64,${base64}`
CLI (bash)
# Encode a file to Base64 (macOS / Linux)
base64 < document.pdf > document.b64.txt

# Encode with no line wrapping (GNU coreutils)
base64 -w 0 < document.pdf > document.b64.txt

# Encode and copy to clipboard (macOS)
base64 < image.png | pbcopy

# Encode with OpenSSL (available everywhere)
openssl base64 -in archive.zip -out archive.b64.txt

# Pipe directly into curl for API upload
base64 -w 0 < photo.jpg | curl -X POST -d @- https://api.example.com/upload
Go
package main

import (
	"encoding/base64"
	"fmt"
	"os"
)

func main() {
	data, err := os.ReadFile("document.pdf")
	if err != nil {
		panic(err)
	}
	encoded := base64.StdEncoding.EncodeToString(data)
	fmt.Println(len(encoded)) // → 1398104 (for a ~1 MB file)

	// Write to file
	os.WriteFile("document.b64.txt", []byte(encoded), 0644)
}

Vanliga frågor

Vilken är den maximala filstorleken jag kan koda till Base64?
Det här verktyget körs helt i din webbläsare, så gränsen beror på tillgängligt minne. Moderna webbläsare hanterar filer upp till 50–100 MB utan problem. För filer som är större än så, använd ett kommandoradsverktyg som base64 (macOS/Linux) eller Pythons base64-modul, som bearbetar filen i delar och inte laddar hela utdata till minnet på en gång.
Hur mycket större är Base64-utdata jämfört med originalfilen?
Base64-utdata är alltid ungefär 33,3 % större än indata. Formeln är ceil(n / 3) * 4, där n är antalet inmatade bytes. En fil på 1 MB ger ungefär 1,33 MB Base64-text. Denna ökning är inneboende i kodningen och kan inte reduceras.
Kan jag koda en fil till Base64 och använda den som en data-URI?
Ja. Lägg till MIME-typprefixet framför Base64-strängen: data:application/pdf;base64, följt av det kodade innehållet. Webbläsare avkodar och renderar data-URI:n som om det vore en vanlig fil. Data-URI:er fungerar i img src, link href, CSS url() och ankarlänkars download-attribut.
Är Base64-filkodning detsamma som kryptering?
Nej. Base64 är en kodning, inte kryptering. Det omvandlar binärdata till en textrepresentation som är trivialt reversibel — vem som helst med en Base64-avkodare kan återskapa originalfilen. Base64 ger ingen sekretess, integritet eller autentisering. Om du behöver skydda filinnehållet, kryptera filen först (till exempel med AES-256-GCM) och Base64-koda sedan chiffertexten för transport.
Varför slutar min Base64-sträng med ett eller två =-tecken?
=-tecknen är utfyllnad. Base64 bearbetar indata i grupper om 3 bytes och producerar 4 utdatatecken per grupp. När filstorleken inte är en multipel av 3 läggs ett eller två utfyllnadstecken till så att utdatalängden alltid är en multipel av 4. Ett = betyder att den sista gruppen hade 2 bytes; två == betyder att den sista gruppen hade 1 byte.
Hur kodar jag en fil till Base64 från kommandoraden?
På macOS och Linux, använd kommandot base64: base64 < file.pdf > file.b64.txt. På GNU/Linux, lägg till -w 0 för att undertrycka radbrytning. Du kan även använda OpenSSL: openssl base64 -in file.pdf -out file.b64.txt. På Windows PowerShell: [Convert]::ToBase64String([IO.File]::ReadAllBytes('file.pdf')).
När bör jag använda Base64-filkodning istället för multipart/form-data?
Använd Base64 när transporten kräver ett textbaserat format — JSON API:er, XML-RPC, miljövariabler eller Kubernetes Secrets. Använd multipart/form-data vid uppladdning av filer via HTML-formulär eller REST-endpunkter som stöder binära strömmar. Multipart är mer effektivt eftersom det undviker storleksökningen på 33 %, men kräver att servern tolkar multipart-avgränsare.