> base64 | decode | JPG <
// Dekod Base64-strenger og data-URI-er tilbake til JPG-/JPEG-bilder — EXIF bevart, umiddelbar forhåndsvisning, nedlasting med ett klikk
Dekodet JPEG vises her
Ingen rekomprimering
JPEG-bytene som kommer ut av dekoderen er bit-identiske med det som ble kodet — samme kvalitet, samme EXIF, samme DCT-koeffisienter.
Lokal dekoding
Base64-strengen din dekodes med atob() helt i nettleseren. Ingen opplasting. Ingen server. Ingen analyse av nyttelasten.
Live forhåndsvisning
Se det dekodede bildet og dimensjonene umiddelbart — last ned som .jpg med ett klikk.
// OM BASE64 TIL JPG
Hva dette verktøyet aksepterer
- >Data-URI: data:image/jpeg;base64,/9j/4AAQSkZ…
- >Rå JPEG-Base64-nyttelast (begynner med /9j/)
- >Base64 med innebygde mellomrom / linjeskift
- >Standard RFC 4648-alfabet (+/, valgfri =-utfylling)
- >URL-sikker Base64 (-_) — normaliseres automatisk ved dekoding
- >Flerdelte JPEG-er (JFIF-, EXIF-, Adobe-, SPIFF-markører)
Vanlige bruksområder
- >Gjenopprette et bilde fra et JSON-API-svar
- >Hente ut en profilavatar fra en TEXT-databasekolonne
- >Dekode et CMS-bildefelt lagret som en data-URI
- >Rekonstruere et bilde fra en e-post-MIME-del
- >Vise et kameraøyeblikksbilde sendt over WebSocket
- >Feilsøke en ødelagt <img src="data:image/jpeg;base64,…">-tagg
- >Offline-først-apper som mellomlagrer bilder som Base64
Slik fungerer Base64 → JPG-dekoding
Dekoderen fjerner ethvert data-URI-prefiks, normaliserer mellomrom og URL-sikre tegn, og kaller deretter atob() for å konvertere hver Base64-gruppe på 4 tegn tilbake til 3 binære byte. Resultatet pakkes inn i en Blob med MIME-typen image/jpeg og forhåndsvises med en <img>-tagg. Siden Base64 er en bijektiv binær-til-tekst-transformasjon, er den utdata JPEG-en bit-identisk med originalen — SHA-256-hashen matcher, og ingen kvalitet går tapt.
Eksempel på JPEG-data-URI:
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/wAALCAABAAEBAREA/8QAFQABAQAAAAAAAAAAAAAAAAAAAAv/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/9oACAEBAAA/AKp//9k=
Ytelse og kompatibilitet
- >Dekoding er O(n) på nyttelastlengden — håndterer 100 MB+ uten problemer
- >Bruker innebygd atob() + Uint8Array — ingen tredjepartsbiblioteker
- >Støtter EXIF-rike JPEG-er fra alle store kameraprodusenter
- >Fungerer i Chrome, Firefox, Safari, Edge og mobile nettlesere
- >Knip-for-å-zoome-forhåndsvisning på mobile enheter
- >Nedlasting via Blob-URL — ingen tur-retur til serveren
// SLIK DEKODER DU BASE64 TIL JPG
Trinn 1: Lim inn
Lim inn Base64-strengen eller den fullstendige data-URI-en i inndatafeltet
Trinn 2: Dekod
Klikk på [DECODE] — JPEG-en gjengis umiddelbart
Trinn 3: Inspiser
Sjekk bildet, dimensjonene og filstørrelsen før du lagrer
Trinn 4: Last ned
Klikk på [DOWNLOAD .jpg] for å lagre en bit-identisk JPEG på disken
// KODEEKSEMPLER — BASE64 TIL JPG
JavaScript (Browser)
// Decode Base64 → JPEG Blob → preview
const b64 = '/9j/4AAQSkZJRgAB...';
const bin = atob(b64);
const arr = new Uint8Array(bin.length);
for (let i = 0; i < bin.length; i++) arr[i] = bin.charCodeAt(i);
const blob = new Blob([arr], { type: 'image/jpeg' });
document.getElementById('preview').src = URL.createObjectURL(blob);
Dekod en rå Base64-JPEG-nyttelast, pakk den inn i en Blob, og gjengi med <img>. Data-URI-er kan settes direkte på src.
Node.js
const fs = require('fs');
const b64 = '/9j/4AAQSkZJRgAB...';
fs.writeFileSync('out.jpg', Buffer.from(b64, 'base64'));
Dekod Base64-tekst til en JPEG-fil med Nodes innebygde Buffer.
Python
import base64
with open('out.jpg', 'wb') as f:
f.write(base64.b64decode('/9j/4AAQSkZJRgAB...'))
Kun standardbibliotek — Base64 → JPEG-byte → fil.
PHP
<?php
file_put_contents('out.jpg', base64_decode('/9j/4AAQSkZJRgAB...'));
Én linje med base64_decode() og file_put_contents().
Shell (macOS / Linux)
echo '/9j/4AAQSkZJRgAB...' | base64 -d > out.jpg
POSIX base64 -d leser strengen fra stdin og skriver JPEG-en til disken.
// FAQ — BASE64 TIL JPG
Sp: Hva er Base64-til-JPG-dekoding?
Sv: Den reverserer en Base64-kodet JPEG tilbake til sin opprinnelige binære form. Dekoderen leser 4 ASCII-tegn om gangen fra Base64-strengen, slår dem opp i RFC 4648-alfabetet og produserer 3 binære byte per gruppe. Den resulterende byte-matrisen er en komplett, gyldig JPEG-fil — samme DCT-koeffisienter, samme Huffman-tabeller, samme EXIF-metadata, samme kvalitet som før kodingen.
Sp: Hvordan kan jeg vite at Base64-strengen virkelig er en JPEG?
Sv: Hver JPEG begynner med de to magiske bytene FF D8 (Start-Of-Image). Når disse bytene Base64-kodes, er de første 4 tegnene alltid /9j/. Så enhver Base64-streng som begynner med /9j/4AAQ (JFIF-header) eller /9j/2wC (mange smarttelefonkameraer som bruker Adobe APP14) er en JPEG. Andre formater har ulike prefikser: iVBORw0KGgo for PNG, R0lGOD for GIF, UklGR for WebP.
Sp: Kan jeg dekode en data-URI direkte?
Sv: Ja. Hvis strengen din begynner med data:image/jpeg;base64,, fjerner dekoderen det prefikset automatisk og behandler nyttelasten. Hvis du bare har den rå Base64-delen, oppdager verktøyet vårt JPEG-magic-nummeret (/9j/) og pakker de dekodede bytene som image/jpeg for forhåndsvisningen. Mellomrom, linjeskift og tabulatorer fjernes alle før dekoding, så du kan lime inn en pent formatert JSON-verdi direkte.
Sp: Reduserer dekoding kvaliteten på JPEG-en min?
Sv: Nei. Base64-dekoding er en ren binær transformasjon — hvert Base64-tegn mappes deterministisk til 6 biter, og 4 tegn dekodes til 3 byte. JPEG-bytene som kommer ut er bit-identiske med det som ble kodet, så kvaliteten er den som den opprinnelige JPEG-en ble lagret med. En SHA-256-hash av den dekodede filen vil matche hashen av originalen. Hvis det dekodede bildet ditt ser dårligere ut enn forventet, skjedde kvalitetstapet da JPEG-en først ble lagret, ikke under Base64-tur-retur.
Sp: Den dekodede JPG-en er ødelagt — hva kan være galt?
Sv: Typiske årsaker:
• Avkortet streng — Base64 ble klippet et sted. En komplett JPEG slutter med FF D9 (End-Of-Image), som kodes til /9k= eller 2Q== i Base64. Hvis strengen din ikke slutter med ett av disse mønstrene pluss valgfri utfylling, er den ufullstendig.
• Dobbeltkodet — JPEG-en ble Base64-kodet to ganger. Dekod den igjen.
• URL-sikkert alfabet — hvis strengen bruker -_ i stedet for +/, avviser noen dekodere den. Verktøyet vårt normaliserer begge.
• Egentlig et annet format — nyttelasten er PNG eller WebP. Bruk vår generiske Base64 → Bilde-dekoder som oppdager formatet automatisk.
Sp: Bevares EXIF-metadataene mine etter dekoding?
Sv: Ja. EXIF-APP1-segmentet (kameramodell, GPS, dato/tid, objektiv, ISO, hvitbalanse, orientering osv.) er en del av JPEG-byte-strømmen. Siden Base64 er bit-for-bit reversibel, gjenopprettes hver byte — inkludert EXIF. Hvis du trenger EXIF-frie bilder av personvernhensyn, fjern metadataene etter dekoding med et verktøy som exiftool -all= out.jpg eller en canvas-basert reeksport i nettleseren.
Sp: Kan jeg dekode Base64 til JPG i terminalen?
Sv: Ja. På macOS og Linux: echo '/9j/4AAQSkZJRgAB…' | base64 -d > out.jpg
(eldre macOS-base64 bruker -D.)
På Windows PowerShell: [IO.File]::WriteAllBytes('out.jpg', [Convert]::FromBase64String('/9j/4AAQSkZJRgAB…'))
Hvis inndataene dine er en fullstendig data-URI, send dem først gjennom sed 's|^data:.*base64,||' for å fjerne prefikset.
Sp: Hvor stor en Base64-JPG kan jeg dekode?
Sv: Opptil minnegrensen til nettleseren din. En 100 MB dekodet JPEG krever ~135 MB Base64-tekst, noe moderne skrivebordsnettlesere håndterer uten problemer. Mobile nettlesere er pålitelige opptil ~40 MB. For ekstremt store bilder (RAW-konverterte JPEG-eksporter fra mellomformatkameraer), vurder dekoding på serversiden: base64 -d photo.b64 > photo.jpg er langt raskere enn en nettleser-tur-retur.
Sp: Fungerer dekoderen offline?
Sv: Ja, etter den første sideinnlastingen. All dekoding bruker innebygde nettleser-API-er (atob(), Uint8Array, Blob, URL.createObjectURL()), og ingen av dem krever en nettverkstilkobling. Du kan bekrefte dette ved å deaktivere nettverket og fortsette å dekode — forhåndsvisningen og nedlastingen fortsetter begge å fungere.
Sp: Er Base64-JPEG-en kryptert eller privat?
Sv: Nei. Base64 er en koding, ikke kryptering. Alle med Base64-strengen din kan dekode den tilbake til det opprinnelige bildet på millisekunder, og EXIF-data (inkludert GPS-koordinater) følger med. Hvis JPEG-en inneholder sensitiv informasjon, krypter den (AES-GCM, age, PGP) før du bruker Base64, og transporter strengen kun over HTTPS.
Sp: Er dekodingen på klientsiden — lastes noe opp?
Sv: Ingenting lastes opp. Hvert trinn — fjerne prefiks, normalisere mellomrom, kalle atob(), bygge Blob-en, gjengi <img>, utløse nedlastingen — skjer i nettleseren din. Åpne Nettverk-fanen i nettleserens utviklerverktøy under dekoding, og du vil se null utgående forespørsler for Base64-nyttelasten din. Dette verktøyet er trygt for konfidensielle skjermbilder, personlige bilder og regulerte data.
Sp: Hvordan dekoder jeg Base64 til JPG i produksjonskode?
Sv: I Node.js: fs.writeFileSync('out.jpg', Buffer.from(b64, 'base64')). I Python: open('out.jpg','wb').write(base64.b64decode(b64)). I Go: b, _ := base64.StdEncoding.DecodeString(b64); os.WriteFile("out.jpg", b, 0644). I Java: Files.write(Path.of("out.jpg"), Base64.getDecoder().decode(b64)). I Rust: std::fs::write("out.jpg", base64::decode(b64)?)?. I Ruby: File.binwrite('out.jpg', Base64.decode64(b64)). I PHP: file_put_contents('out.jpg', base64_decode($b64)).
Sp: Base64 til JPG vs Base64 til PNG — hvilken bør jeg bruke?
Sv: Se på prefikset til Base64-strengen. Hvis den begynner med /9j/, er det JPEG — bruk Base64 → JPG. Hvis den begynner med iVBORw0KGgo, er det PNG — bruk Base64 → PNG. Du kan ikke tvinge en JPEG-dekoder til å produsere PNG (eller omvendt); de magiske bytene forteller sannheten. Når du er i tvil, bruk den generiske dekoderen som oppdager formatet automatisk og lagrer med riktig filendelse.