Base64 Görsel Çözücüsü
Base64 veri URI'lerini geri görüntülere dönüştür
Base64 Görüntü Kod Çözme Nedir?
Base64 görüntü kod çözme, Base64 görüntü kodlamanın tersine çevrilmiş halidir: görüntüyü temsil eden bir Base64 dizesini veya data URI'yi alır ve bunu tekrar görüntülenebilir ikili piksel verilerine dönüştürür. data:image/png;base64,iVBORw0KGgo... gibi bir dize aldığınızda, kod çözme data URI ön ekini kaldırır, RFC 4648'de tanımlanan Base64 kodlamasını tersine çevirir ve orijinal görüntü baytlarını yeniden oluşturur. Tarayıcı daha sonra kodu çözülmüş baytları görüntülenebilir bir görüntü olarak işleyebilir.
Data URI'ler (RFC 2397) MIME türünü ve Base64 kodlanmış içeriği tek bir dizede birleştirirler. API yanıtlarında, HTML e-posta kaynak kodunda, CSS stil sayfalarında ve görüntülerin ikili dosyalar yerine metin olarak depolandığı veritabanı kayıtlarında sıklıkla görünürler. Bu dizelerin kodunu çözmek, görüntüyü önizlemek, içeriğini doğrulamak veya bağımsız bir dosya olarak kaydetmek için gereklidir. Base64 her 3 bayt ikili veriyi temsil etmek için 4 ASCII karakteri kullandığından, kodlanmış dize her zaman orijinal görüntüden yaklaşık %33 daha büyüktür.
Bu araç, hem tam data URI'ler (data:image/png;base64,...) hem de data: ön eki olmayan ham Base64 dizelerini ayrıştırır. Ham dizeler için, dosyanın magic baytlarına karşılık gelen ilk birkaç Base64 karakterini inceleyerek görüntü biçimi otomatik olarak algılanır — örneğin, iVBORw0KGgo her zaman bir PNG dosyasını gösterir. Kodu çözülmüş görüntü doğrudan tarayıcıda işlenir ve bir dosya olarak indirilebilir.
Yaygın bir geliştirici senaryosu, bir JSON alanı içinde bir profil fotoğrafı veya belge küçük resmini Base64 dizesi olarak döndüren bir REST API ile çalışmaktır — örneğin {"avatar": "data:image/png;base64,iVBORw0KGgo..."}. Görüntüyü kullanmak için alan değerini ayıklarsınız, data URI ön ekini virgülü içerecek şekilde kaldırırsınız, ardından kalan Base64 karakterlerini JavaScript'te atob() veya Python'da base64.b64decode() gibi bir kod çözücüden geçirerek ham baytları kurtarırsınız. Bu aracın tam değerini yapıştırmak tüm bu manuel adımları atlar ve görüntüyü hemen işler.
Bu Base64 Görüntü Kod Çözücüyü Neden Kullanmalısınız?
Bu araç, Base64 görüntü verilerini tarayıcınızda tamamen görüntülenebilir, indirilebilir bir görüntüye dönüştürür — yükleme yok, sunucu işlemesi yok, hesap gerekmez.
Base64 Görüntü Kod Çözme Kullanım Durumları
Görüntüler için Data URI Yapısı
Data URI, görüntü türünü ve kodlanmış içeriği tek bir dizede paketler. Her bileşen doğru kod çözme için gereklidir: şema (data:) URL'nin dış bir kaynağa bir referans yerine kendi kendini içeren olduğunu gösterir; MIME türü (örneğin image/png) işleyiciye ham baytları yorumlarken hangi biçimi kullanacağını söyler; ;base64, işaretçisi Base64 kodlanmış içeriği düz metin biçimleri için yüzde kodlaması kullanan data URI'lardan ayırır. Base64 yükünün kendisi bir veya iki dolgulama karakteri = ile bitebilir — bunlar giriş bayt sayısı üçün katı olmadığında gereklidir, kodlanmış uzunluğun her zaman dörün katı olmasını sağlar. Bu bileşenlerden herhangi birini atlamamak veya kesmek kod çözme başarısızlığına veya bozuk görüntüye neden olur.
| Bileşen | Açıklama |
|---|---|
| data: | URI scheme identifier |
| image/png | MIME type declaring the image format |
| ;base64, | Encoding declaration (always base64 for binary) |
| iVBORw0KGgo... | Base64-encoded pixel data |
Base64'ten Görüntü Biçimini Algılama
Base64 dizesinde data: ön eki olmadığında, ilk birkaç karakteri inceleyerek görüntü biçimi belirlenebilir. Bu karakterler dosyanın magic baytlarına karşılık gelir — her görüntü dosyasının başında biçimi tanımlayan sabit bayt dizileri:
| Biçim | Base64 Ön Eki | Hex İmzası | MIME Türü |
|---|---|---|---|
| PNG | iVBORw0KGgo | 89 50 4E 47 | image/png |
| JPEG | /9j/ | FF D8 FF | image/jpeg |
| GIF | R0lGOD | 47 49 46 38 | image/gif |
| WebP | UklGR | 52 49 46 46 | image/webp |
| SVG | PHN2Zy | 3C 73 76 67 (text) | image/svg+xml |
| BMP | Qk | 42 4D | image/bmp |
| ICO | AAABAA | 00 00 01 00 | image/x-icon |
Kod Örnekleri
Popüler programlama dillerinde ve ortamlarında Base64 görüntü dizelerini görüntü dosyalarına nasıl kod çözeceğinizi:
// Decode a Base64 data URI to a Blob and create a download link
const dataUri = 'data:image/png;base64,iVBORw0KGgo...'
// Method 1: fetch API (simplest)
const res = await fetch(dataUri)
const blob = await res.blob()
// blob.type → "image/png", blob.size → 2048
// Method 2: manual decode for older environments
const [header, b64] = dataUri.split(',')
const mime = header.match(/:(.*?);/)[1] // → "image/png"
const binary = atob(b64)
const bytes = Uint8Array.from(binary, c => c.charCodeAt(0))
const blob2 = new Blob([bytes], { type: mime })
// Create a download link
const url = URL.createObjectURL(blob)
const a = document.createElement('a')
a.href = url
a.download = 'decoded.png'
a.click()
URL.revokeObjectURL(url)import base64
import re
data_uri = 'data:image/png;base64,iVBORw0KGgo...'
# Parse the data URI
match = re.match(r'data:(image/[\w+.-]+);base64,(.+)', data_uri)
mime_type = match.group(1) # → "image/png"
b64_data = match.group(2)
# Decode and write to file
image_bytes = base64.b64decode(b64_data)
ext = mime_type.split('/')[1].replace('jpeg', 'jpg').replace('svg+xml', 'svg')
with open(f'output.{ext}', 'wb') as f:
f.write(image_bytes)
# → writes output.png (byte-for-byte identical to the original)
# Decode raw Base64 (no data: prefix)
raw_b64 = 'iVBORw0KGgo...'
image_bytes = base64.b64decode(raw_b64)import { writeFileSync } from 'fs'
const dataUri = 'data:image/png;base64,iVBORw0KGgo...'
// Extract MIME type and Base64 payload
const [meta, b64] = dataUri.split(',')
const mime = meta.match(/:(.*?);/)[1] // → "image/png"
// Decode to Buffer and save
const buffer = Buffer.from(b64, 'base64')
writeFileSync('output.png', buffer)
// → output.png (identical to the original file)
// Validate by checking magic bytes
console.log(buffer.subarray(0, 4))
// PNG → <Buffer 89 50 4e 47> (\x89PNG)
// JPEG → <Buffer ff d8 ff e0># Decode a raw Base64 string to an image file (Linux) echo 'iVBORw0KGgo...' | base64 -d > output.png # Decode a raw Base64 string to an image file (macOS) echo 'iVBORw0KGgo...' | base64 -D > output.png # Extract Base64 from a data URI and decode echo 'data:image/png;base64,iVBORw0KGgo...' | \ sed 's/^data:.*base64,//' | base64 -d > output.png # Identify the image format from the decoded file file output.png # → output.png: PNG image data, 64 x 64, 8-bit/color RGBA