Gambar PNG (.png)

W3C Standar

Portable Network Graphics (PNG) adalah format file grafis raster bebas royalti yang mendukung kompresi data tanpa kehilangan (lossless), warna terindeks, dan transparansi saluran alfa variabel.

Konversi PNG ke JPG

Konverter PNG ke JPG gratis yang berjalan di peramban. Konversikan berkas secara instan di perangkat Anda.

Kompres PNG Secara Daring

Privat - file tidak pernah meninggalkan perangkat Anda

Pemeriksaan & Metadata

Sistem operasi dan penganalisis file mengenali file PNG dengan memeriksa urutan byte biner di bagian awal:

Pilih atau letakkan berkas di sini

Privat - file tidak pernah meninggalkan perangkat Anda

atau tempel Ctrl+V
Jaminan Privasi Tanpa Transmisi Jaringan: 0 byte diunggah ke server eksternal. Semua pemrosesan berlangsung secara lokal di sandbox browser Anda.

Tanda Tangan Header per Byte (Byte Penanda)

Sistem operasi dan penganalisis file mengenali file PNG dengan memeriksa urutan byte biner di bagian awal:

TANDA TANGAN HEX (OFFSET 0):

89 50 4E 47 0D 0A 1A 0A

REPRESENTASI ASCII: .PNG....

Standardisasi: W3C Recommendation (1996) / ISO/IEC 15948:2004

Spesifikasi Teknis

Arsitektur KontainerKontainer biner berbasis potongan (chunk) dengan verifikasi CRC32 4-byte untuk setiap potongan
KompresiDeflate (pengodean LZ77 + Huffman) dengan 5 filter garis pindai prediktif (Tidak ada, Sub, Up, Average, Paeth)
Urutan ByteBig-Endian (urutan byte jaringan) untuk panjang potongan, dimensi, dan CRC
Ruang WarnasRGB, Display P3, Indexed Palette (1-8 bit), Grayscale, Truecolor (24/48-bit)
Saluran & StrukturRGB + Alpha (hingga 16 bit per saluran / RGBA 64-bit)
Dimensi Maksimum2.147.483.647 x 2.147.483.647 piksel (bilangan bulat tak bertanda 4 byte)
TransparansiSaluran transparansi alfa variabel penuh 8-bit / 16-bit
Streaming & ProgresifAlgoritma penganyaman Adam7 7 lintasan memungkinkan rendering garis pindai 2D progresif

Perbandingan Teknis PNG dengan Pesaing

Atribut TeknisPNG (Saat Ini)WebPAVIFJPEG
Tipe KompresiMurni tanpa kehilangan (Deflate + filter prediktif 2D)Lossy (VP8) dan lossless (VP8L)Lossy (AV1 intra) dan losslessSepenuhnya lossy (Transformasi Kosinus Diskrit)
Transparansi AlfaSaluran alfa variabel 8-bit / 16-bit penuhSaluran alfa 8-bit didukungAlfa 8-bit / 10-bit / 12-bit didukungTidak ada dukungan saluran transparansi
Ukuran File (Foto)Sering kali lebih besar daripada format lossy untuk foto; ukuran relatif bergantung pada gambar dan encoderDapat lebih kecil daripada JPEG; hasilnya bergantung pada gambar dan encoderDapat lebih kecil daripada JPEG; hasilnya bergantung pada gambar dan encoderUkuran sedang sebagai patokan
Ukuran File (Grafis/UI)Sangat ringkas untuk tangkapan layar, gambar garis, dan teksMode lossless yang sangat baikBaik, tetapi lebih lambat saat encodingBuruk (menghasilkan artefak ringing di sepanjang tepi tajam)
Kompatibilitas PerambanDukungan universal 100% di semua peramban sejak 1998Dukungan peramban modern 97%+Dukungan peramban modern 93%+Dukungan universal 100%

Pola Kerusakan Umum dan Panduan Pemulihan Hex

Penampil gambar menampilkan 'Fatal error: Not a valid PNG file' atau gagal dibuka.

Penyebab Utama: 8 byte pertama diubah oleh mode transfer ASCII (merusak 0x0D 0x0A menjadi 0x0A atau 0x0D 0x0D 0x0A).

Pemulihan: Buka file di editor hex dan pastikan 8 byte pertamanya cocok dengan '89 50 4E 47 0D 0A 1A 0A'. Memulihkan tepat 8 byte tajuk ini sering kali dapat memulihkan gambar.

pngcheck melaporkan 'CRC error in chunk IDAT' atau gambar dimuat sebagian dengan garis pindai bawah yang rusak.

Penyebab Utama: Korupsi bit pada aliran data zlib yang dikompresi atau checksum CRC32 yang tidak valid di potongan IDAT.

Pemulihan: Gunakan pngcheck -f atau utilitas pemulihan aliran Deflate untuk menghitung ulang nilai CRC32 yang valid, atau dekompresi garis pindai yang masih ada hingga blok yang rusak.

Gambar merender dengan baik di penampil desktop tetapi gagal di aplikasi iOS.

Penyebab Utama: iOS mengharapkan format CgBI milik Apple dengan urutan byte yang dibalik, atau potongan ruang warna non-standar.

Pemulihan: Normalisasi gambar menggunakan 'pngcrush -revert-iphone-optimizations' untuk memulihkan urutan RGBA W3C standar.

Analisis Keamanan & Vektor Serangan Parser

PNG didukung oleh banyak sistem operasi dan aplikasi. Risiko keamanan mencakup penghabisan memori dekoder dan blok tambahan berbahaya.

Vektor Serangan yang Diketahui

  • Potongan metadata tEXt dan zTXt yang terlalu besar memicu penolakan layanan Out-Of-Memory (OOM) pada dekoder yang tidak berjalan di lingkungan sandbox.
  • Kerentanan limpahan buffer heap pada rilis libpng lama (mis. CVE-2015-8126 di png_set_PLTE).
  • Serangan dekompresi banjir piksel di mana gambar dengan ukuran file kecil mendeklarasikan dimensi yang sangat besar (mis. 100.000 x 100.000 piksel).
  • Eksfiltrasi steganografi menyembunyikan payload terenkripsi dalam potongan privat tambahan (mis. eXIf atau jenis potongan kustom).

Praktik Terbaik Defensif: Selalu validasi dimensi gambar sebelum mengalokasikan buffer piksel di memori. Hapus potongan tambahan yang tidak penting (eXIf, tEXt) pada unggahan pengguna menggunakan alat sanitasi yang aman terhadap kesalahan pengelolaan memori.

Asal-Usul & Tonggak Sejarah

2004Distandarkan secara internasional sebagai ISO/IEC 15948.
1996PNG 1.0 diterbitkan sebagai Rekomendasi W3C.
1995Diciptakan di Usenet comp.graphics sebagai pengganti terbuka untuk GIF setelah Unisys mulai menegakkan pembayaran biaya paten LZW.

Keunggulan & Kelebihan Utama

  • PNG menggunakan kompresi tanpa kehilangan, sehingga pengodean gambar yang tidak berubah tidak menimbulkan kehilangan akibat kompresi; penyuntingan atau konversi warna tetap dapat mengubah nilai piksel.
  • Transparansi alfa 8-bit yang halus memungkinkan pembauran yang mulus pada latar belakang yang kompleks.
  • Koreksi gamma dan potongan informasi kromatisitas memastikan rendering yang konsisten di berbagai monitor.

Keterbatasan Teknis & Kekurangan

  • Ukuran file yang jauh lebih besar dibandingkan format kompresi lossy modern seperti WebP atau AVIF untuk konten fotografi.
  • Tidak ada animasi multi-bingkai asli dalam PNG standar (memerlukan ekstensi APNG).
  • Kedalaman bit tinggi (16-bit per saluran) menciptakan buffer dekode dalam memori yang sangat besar dan tidak terkompresi.

Fakta Teknis Menarik

  • Header ajaib 8-byte dirancang khusus untuk mendeteksi korupsi pengakhiran baris CR/LF oleh transfer FTP.
  • Akronim rekursif tidak resmi untuk PNG adalah 'PNG's Not GIF'.
  • Apple menggunakan potongan CgBI berpemilik di PNG aplikasi iOS yang membalikkan RGBA ke BGRA untuk rendering GPU langsung.

Pertanyaan Teknis yang Sering Diajukan

Mengapa ukuran file PNG terkadang bertambah saat disimpan di editor gambar?

Berbagai perangkat lunak menggunakan tingkat kompresi Deflate dan heuristik filter garis pindai prediktif yang berbeda. Program seperti Photoshop sering menambahkan profil warna yang tidak dikompresi, blok metadata XMP, dan potongan IDAT dengan ukuran yang tidak optimal. Alat khusus seperti File2File.app Compressor mengevaluasi ulang kelima filter garis pindai untuk menghasilkan ukuran file sekecil mungkin.

Apa perbedaan antara PNG-8 dan PNG-24?

PNG-8 menggunakan palet warna terindeks hingga 256 warna (mirip dengan GIF), menghasilkan file yang sangat kecil yang cocok untuk ikon sederhana. PNG-24 mendukung 16,7 juta warna (warna sejati 8 bit per saluran), dengan PNG-32 menambahkan saluran transparansi alfa 8-bit.

Mengapa PNG memiliki 5 filter garis pindai prediktif?

Deflate mengompresi pola bita berulang. Karena nilai piksel fotografi atau gradien berubah secara bertahap, PNG memfilter setiap garis pindai (Tidak ada, Sub, Up, Average, Paeth) dengan menghitung perbedaan antara piksel yang berdampingan. Ini mengubah data gradien menjadi rangkaian byte yang nilainya mendekati nol, sehingga jauh lebih mudah dikompresi dengan Deflate.

Apakah PNG mendukung ruang warna CMYK untuk pencetakan komersial?

Tidak. Spesifikasi resmi W3C PNG sengaja membatasi jenis warna pada Grayscale, Indexed, dan RGB. Alur kerja cetak profesional yang memerlukan CMYK harus menggunakan wadah TIFF atau PDF.

Pasangan Konversi PNG Terkait