Gambar PNG (.png)
W3C StandarPortable 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:
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 0AREPRESENTASI ASCII: .PNG....
Standardisasi: W3C Recommendation (1996) / ISO/IEC 15948:2004
Spesifikasi Teknis
| Arsitektur Kontainer | Kontainer biner berbasis potongan (chunk) dengan verifikasi CRC32 4-byte untuk setiap potongan |
| Kompresi | Deflate (pengodean LZ77 + Huffman) dengan 5 filter garis pindai prediktif (Tidak ada, Sub, Up, Average, Paeth) |
| Urutan Byte | Big-Endian (urutan byte jaringan) untuk panjang potongan, dimensi, dan CRC |
| Ruang Warna | sRGB, Display P3, Indexed Palette (1-8 bit), Grayscale, Truecolor (24/48-bit) |
| Saluran & Struktur | RGB + Alpha (hingga 16 bit per saluran / RGBA 64-bit) |
| Dimensi Maksimum | 2.147.483.647 x 2.147.483.647 piksel (bilangan bulat tak bertanda 4 byte) |
| Transparansi | Saluran transparansi alfa variabel penuh 8-bit / 16-bit |
| Streaming & Progresif | Algoritma penganyaman Adam7 7 lintasan memungkinkan rendering garis pindai 2D progresif |
Perbandingan Teknis PNG dengan Pesaing
| Atribut Teknis | PNG (Saat Ini) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| Tipe Kompresi | Murni tanpa kehilangan (Deflate + filter prediktif 2D) | Lossy (VP8) dan lossless (VP8L) | Lossy (AV1 intra) dan lossless | Sepenuhnya lossy (Transformasi Kosinus Diskrit) |
| Transparansi Alfa | Saluran alfa variabel 8-bit / 16-bit penuh | Saluran alfa 8-bit didukung | Alfa 8-bit / 10-bit / 12-bit didukung | Tidak ada dukungan saluran transparansi |
| Ukuran File (Foto) | Sering kali lebih besar daripada format lossy untuk foto; ukuran relatif bergantung pada gambar dan encoder | Dapat lebih kecil daripada JPEG; hasilnya bergantung pada gambar dan encoder | Dapat lebih kecil daripada JPEG; hasilnya bergantung pada gambar dan encoder | Ukuran sedang sebagai patokan |
| Ukuran File (Grafis/UI) | Sangat ringkas untuk tangkapan layar, gambar garis, dan teks | Mode lossless yang sangat baik | Baik, tetapi lebih lambat saat encoding | Buruk (menghasilkan artefak ringing di sepanjang tepi tajam) |
| Kompatibilitas Peramban | Dukungan universal 100% di semua peramban sejak 1998 | Dukungan 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
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
Mengonversi gambar raster PNG ke format JPEG mengurangi ukuran berkas dengan menerapkan kompresi dengan kehilangan data, yang membuat gambar dimuat lebih cepat di situs web dan menggunakan lebih sedikit ruang penyimpanan.
Mengonversi gambar raster JPEG dengan kompresi yang menghilangkan data ke gambar raster PNG tanpa kehilangan data mencegah kehilangan kualitas berulang dan menambahkan dukungan transparansi saluran alfa.
Mengonversi gambar PNG ke WebP dapat mengurangi ukuran file sambil mempertahankan transparansi; hasilnya bergantung pada penggunaan enkode lossy atau lossless dan isi gambar.
Mengonversi WebP ke PNG menghasilkan gambar diam untuk perangkat lunak yang mendukung PNG; animasi WebP tidak dipertahankan, dan detail yang hilang dari sumber lossy tidak dapat dipulihkan.
Mengonversi HEIC ke PNG mengubah foto yang dikompresi dengan codec HEVC menjadi file grafis tanpa kehilangan data yang didukung luas.
Mengonversi berkas vektor SVG ke gambar raster PNG mengubah grafis berbasis kode yang dapat diskalakan menjadi susunan piksel berukuran tetap agar kompatibel dengan berbagai aplikasi.
Membungkus gambar raster PNG di dalam wadah vektor XML SVG untuk penskalaan web yang responsif dan integrasi tata letak yang kompatibel dengan vektor.
Ubah grafis Adobe Photoshop PSD menjadi gambar PNG lossless dengan transparansi kanal alfa penuh, langsung di peramban tanpa mengirim data ke server.