> base64 | decode | PNG <

// Dekod Base64-strenger og data-URI-er tilbake til PNG-bilder — alfa bevares, umiddelbar forhåndsvisning, nedlasting med ett klikk

0 tegn
🖼️

Dekodet PNG vises her

[LOSSLESS]

Bit-perfekt

Den dekodede PNG-en er byte-identisk med originalen — alfa, palett og fargeprofil overlever round-trip uskadd.

[SECURE]

Lokal dekoding

Base64-nyttelasten dekodes i nettleseren din med atob(). Ingen serveropplasting, ingen logging av PNG-bytene dine.

[INSTANT]

Sanntids forhåndsvisning

Se det dekodede bildet, dimensjonene og omtrentlig filstørrelse umiddelbart før du laster ned.

// OM BASE64 TIL PNG

Hva dette verktøyet aksepterer

  • >Data-URI: data:image/png;base64,iVBORw0KGgo…
  • >Rå PNG-Base64-nyttelast (starter med iVBORw0KGgo)
  • >Base64 med innebygde mellomrom / linjeskift
  • >Standard RFC 4648-alfabet (+/, valgfri =-utfylling)
  • >URL-sikker Base64 (-_) — normaliseres automatisk ved dekoding
  • >Unicode-bevisst innliming — BOM-er fjernes

Vanlige bruksområder

  • >Lagre et skjermbilde fra en DOM-inspektørs data-URI
  • >Trekke ut en logo fra en data-uri CSS-bakgrunn
  • >Gjenopprette et bilde fra et JSON-API-svar
  • >Gjenopprette et bilde fra en TEXT-kolonne i en database
  • >Gjenopprette en PNG fra en e-post-MIME-del
  • >Inspisere et ikon innebygd i en inline-SVG
  • >Feilsøke en ødelagt <img src="data:image/png;base64,…">-tagg

Slik fungerer Base64 → PNG-dekoding

Dekoderen fjerner ethvert data-URI-prefiks, normaliserer mellomrom og URL-sikre tegn, og kaller deretter atob() for å konvertere hver gruppe på 4 tegn tilbake til 3 binære byte. Byte-arrayet pakkes i en Blob med MIME-typen image/png, får en object-URL og gjengis i et <img>-element. Siden Base64 er bijektiv med binær, er utdataene bit-identiske med den opprinnelige PNG-en — en SHA-256 av den dekodede filen samsvarer med originalen.

Eksempel på PNG-data-URI:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==

Ytelse og kompatibilitet

  • >Dekoding er O(n) på nyttelastlengden — håndterer 100 MB+ uten problemer
  • >Bruker nettleserens native atob() — ingen tung JS-shim
  • >Støtter flerbilde-APNG når fremviseren støtter det
  • >Fungerer i alle moderne nettlesere (Chrome, Firefox, Safari, Edge)
  • >Mobiltilpasset forhåndsvisning med knip-for-å-zoome
  • >Nedlasting bruker en Blob-URL — ingen mellomliggende server-round-trip

// SLIK DEKODER DU BASE64 TIL PNG

📋

Trinn 1: Lim inn

Lim inn Base64-strengen eller hele data-URI-en i inndatafeltet

🔍

Trinn 2: Dekod

Klikk på [DECODE] — PNG-en gjengis umiddelbart i forhåndsvisningen

📊

Trinn 3: Inspiser

Sjekk dimensjoner, filstørrelse og alfakanal før du lagrer

💾

Trinn 4: Last ned

Klikk på [DOWNLOAD .png] for å lagre en bit-identisk PNG på disk

// KODEEKSEMPLER — BASE64 TIL PNG

JavaScript (Browser)

// Decode Base64 → PNG Blob → download link
const b64 = 'iVBORw0KGgoAAAANSUhEUg...';
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/png' });
const url = URL.createObjectURL(blob);
window.open(url);

Dekod en rå Base64-nyttelast til en Blob og åpne den. For en full data-URI aksepterer <img>-taggen den direkte.

Node.js

const fs = require('fs');
const b64 = 'iVBORw0KGgoAAAANSUhEUg...';
fs.writeFileSync('out.png', Buffer.from(b64, 'base64'));

Énlinjer som bruker Nodes innebygde Buffer til å dekode Base64 og skrive en PNG-fil.

Python

import base64
with open('out.png', 'wb') as f:
    f.write(base64.b64decode('iVBORw0KGgoAAAANSUhEUg...'))

Kun standardbiblioteket — dekod Base64-tekst tilbake til PNG-byte.

PHP

<?php
file_put_contents('out.png', base64_decode('iVBORw0KGgoAAAANSUhEUg...'));

Énlinjer som bruker innebygde base64_decode() og file_put_contents().

Shell (macOS / Linux)

echo 'iVBORw0KGgoAAAANSUhEUg...' | base64 -d > out.png

POSIX base64 -d / -D leser tekst fra stdin og skriver den dekodede PNG-en til stdout.

// FAQ — BASE64 TIL PNG

Q: Hva er Base64-til-PNG-dekoding?

A: Det reverserer en Base64-kodet PNG tilbake til den opprinnelige binærformen. Strengen du limer inn, er 4 ASCII-tegn per 3 binære byte; dekoderen leser 4 tegn om gangen, bruker RFC 4648-alfabetoppslaget og skriver 3 byte per gruppe til strengen er oppbrukt. Det resulterende byte-arrayet er en komplett, gyldig PNG-fil som du kan forhåndsvise, lagre eller sende hvor som helst en vanlig PNG aksepteres.

Q: Hvordan vet jeg at Base64-strengen virkelig er en PNG?

A: De første 8 bytene i hver PNG er den magiske signaturen 89 50 4E 47 0D 0A 1A 0A. Base64-kodet starter disse 8 bytene alltid med iVBORw0KGgo. Derfor er enhver Base64-streng som starter med iVBORw0KGgo en PNG. Andre formater har ulike prefikser: /9j/ er JPEG, R0lGOD er GIF, UklGR er WebP. Dekoderen vår oppdager PNG-er automatisk fra dette magiske prefikset og faller tilbake på MIME-typen i data-URI-en hvis den finnes.

Q: Kan jeg lime inn en data-URI eller bare rå Base64?

A: Begge deler. Hvis strengen din starter med data:image/png;base64,, fjerner dekoderen prefikset automatisk. Hvis du limer inn bare nyttelastdelen, utleder vi PNG-MIME-typen fra de magiske bytene. Mellomrom, linjeskift, vognreturer og tabulatorer normaliseres før dekoding, så du kan lime inn et pent formatert JSON-svar uten å ødelegge noe.

Q: Den dekodede PNG-en er ødelagt — hvorfor?

A: Vanlige årsaker:
Avkortet streng — Base64 ble kuttet av et sted (f.eks. av en linjegrense i kopikilden din). En komplett PNG-Base64 slutter med RU5ErkJggg== (IEND-chunken); mangler den, er filen ufullstendig.
URL-sikkert alfabet — hvis strengen bruker -_ i stedet for +/ (base64url), normaliserer verktøyet vårt det; andre dekodere kan avvise det.
Dobbeltkodet — PNG-en ble Base64-kodet to ganger. Dekod den igjen.
Ikke en PNG — nyttelasten er faktisk JPEG eller WebP. Bruk vår generiske Base64 → Bilde-dekoder som oppdager ethvert format automatisk.

Q: Mister dekoding tilbake til PNG kvalitet eller gjennomsiktighet?

A: Nei. Base64 er en bit-for-bit reversibel transformasjon. Den dekodede PNG-en er byte-identisk med originalen: alfakanal, palett (PLTE), gjennomsiktighet (tRNS), fargeprofil (iCCP/sRGB), gamma (gAMA) og fysiske pikseldimensjoner (pHYs) overlever alle. En SHA-256-hash av den dekodede filen samsvarer med hashen av originalen. Hvis du ser noen forskjell, skjedde endringen før koding, ikke under Base64-round-trippet.

Q: Kan jeg dekode Base64 til PNG ved hjelp av terminalen?

A: Ja. På macOS og Linux:
echo 'iVBORw0KGgo…' | base64 -d > out.png
(macOS bruker -D i eldre versjoner.)
På Windows PowerShell:
[IO.File]::WriteAllBytes('out.png', [Convert]::FromBase64String('iVBORw0KGgo…'))
Hvis strengen er en full data-URI, fjern først prefikset data:image/png;base64, (de fleste sheller aksepterer sed 's|^data:.*base64,||').

Q: Hvor stor kan Base64-PNG-inndataene være?

A: Vi dekoder i nettleseren, så grensen er enhetens minne — komfortabelt 100 MB+ på desktop. En 100 MB dekodet PNG ville trenge ~135 MB Base64-tekst, som de fleste nettlesere limer inn uten problemer. Hvis du jobber med svært store vitenskapelige eller medisinske PNG-er, bør du vurdere dekoding på serversiden i stedet, fordi ytelsen til atob() i nettleseren forringes nær minnetaket.

Q: Fungerer denne dekoderen offline?

A: Ja. All dekoding bruker de native API-ene atob() + Uint8Array + Blob, som er innebygd i enhver moderne nettleser. Etter at siden er lastet inn én gang, kan du koble fra nettverket og fortsette å dekode. Ingen eksterne tjenester, ingen server-round-trip, ingen analyse av bildenyttelasten din.

Q: Hva er forskjellen mellom en Base64-PNG og en vanlig PNG-fil?

A: De inneholder nøyaktig de samme bytene. En vanlig .png-fil er den rå binæren; en Base64-PNG-streng er den samme binæren omskrevet i 64-tegns ASCII-alfabetet. Base64-formen er 33 % større, men trygg å legge inn i HTML-attributter, JSON-strenger, CSS-url()-er og e-poster. Du kan ikke legge rå PNG-byte inn i HTML — de inneholder null-byte og high-bit-tegn som ødelegger tekstparsere. Base64 er løsningen.

Q: Lastes en Base64-PNG raskere enn en separat .png-fil?

A: Bare for små bilder. Base64 sparer én HTTP-round-trip, som kan være 50–100 ms på en ny tilkobling — nyttig for kritiske UI-ikoner under 4 KB. For alt større vinner en separat .png-fil servert med langvarige cache-headere nesten alltid, fordi (a) gzip komprimerer Base64-tekst dårlig, (b) data-URI-er ikke kan caches uavhengig, og (c) de blokkerer HTML-parsing. Bruk Base64 for above-the-fold-mikroressurser, ikke hero-bilder.

Q: Kan jeg dekode Base64 til PNG uten å laste opp dataene noe sted?

A: Ja — dette verktøyet kjører 100 % på klientsiden. Base64-strengen din dekodes i JavaScript på enheten din, pakkes lokalt i en Blob og vises via URL.createObjectURL(). Ingenting lastes opp. Du kan verifisere dette ved å åpne nettverksfanen i nettleserens dev-verktøy mens du dekoder — ingen forespørsler sendes ut. Å kjøre hele flyten offline (flymodus) fungerer også etter den første sideinnlastingen.

Q: Hvordan dekoder jeg Base64 til PNG i produksjonskode?

A: I Node.js: fs.writeFileSync('out.png', Buffer.from(b64, 'base64')). I Python: open('out.png','wb').write(base64.b64decode(b64)). I Go: b, _ := base64.StdEncoding.DecodeString(b64); os.WriteFile("out.png", b, 0644). I Java: Files.write(Path.of("out.png"), Base64.getDecoder().decode(b64)). I Rust: std::fs::write("out.png", base64::decode(b64)?)?. I PHP: file_put_contents('out.png', base64_decode($b64)). Standardbiblioteket i hver runtime leveres med en Base64-dekoder — du trenger sjelden en tredjepartsavhengighet.

Q: Base64 til PNG vs. Base64 til JPG — hvilken dekoder bør jeg bruke?

A: Bruk Base64 → PNG når Base64-strengen starter med iVBORw0KGgo (eller data-URI-en sier data:image/png;base64,). Bruk Base64 → JPG når strengen starter med /9j/4AAQ eller /9j/2wC. Hvis du er usikker, bruk vår generiske Base64 → Bilde-dekoder som inspiserer de magiske bytene og velger riktig format automatisk. Tving aldri et format som ikke samsvarer med nyttelasten — den dekodede filen vil være gyldige byte, men uleselig.

// OTHER LANGUAGES