दस्तावेज़ PNG (.png)

W3C मानक

Portable Network Graphics (PNG) एक बिना किसी प्रतिबंध वाला रास्टर ग्राफिक्स फ़ाइल प्रारूप है जो दोषरहित डेटा संपीड़न (lossless compression), अनुक्रमित रंगों और परिवर्तनीय अल्फा चैनल पारदर्शिता का समर्थन करता है।

PNG को JPG में कन्वर्ट करें

मुफ्त इन-ब्राउज़र PNG से JPG कन्वर्टर। अपने डिवाइस पर तुरंत फ़ाइलें कन्वर्ट करें।

PNG ऑनलाइन कंप्रेस करें

निजी - फ़ाइलें कभी आपके डिवाइस से बाहर नहीं जातीं

निरीक्षण और मेटाडेटा

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके PNG फ़ाइलों की पहचान करते हैं:

फ़ाइलें यहाँ चुनें या छोड़ें

निजी - फ़ाइलें कभी आपके डिवाइस से बाहर नहीं जातीं

या पेस्ट करें Ctrl+V
नेटवर्क पर कोई डेटा भेजे बिना गोपनीयता की गारंटी: बाहरी सर्वर पर 0 बाइट अपलोड किए गए। सारी प्रोसेसिंग आपके ब्राउज़र सैन्डबॉक्स में स्थानीय रूप से हुई।

बाइट-स्तरीय हेडर हस्ताक्षर (मैजिक बाइट्स)

ऑपरेटिंग सिस्टम और फ़ाइल विश्लेषक शुरुआती बाइनरी बाइट अनुक्रम का निरीक्षण करके PNG फ़ाइलों की पहचान करते हैं:

HEX हस्ताक्षर (ऑफ़सेट 0):

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

ASCII निरूपण: .PNG....

मानकीकरण: W3C सिफ़ारिश (1996) / ISO/IEC 15948:2004

तकनीकी विनिर्देश

कंटेनर आर्किटेक्चरप्रत्येक चंक के लिए 4-बाइट CRC32 सत्यापन के साथ चंक-आधारित बाइनरी कंटेनर
कंप्रेशन5 प्रेडिक्टिव स्कैनलाइन फिल्टर (None, Sub, Up, Average, Paeth) के साथ Deflate (LZ77 + हफमैन कोडिंग)
बाइट एंडियानेसचंक लंबाई, आयामों और CRC के लिए बिग-एंडियन (नेटवर्क बाइट ऑर्डर)
कलर स्पेसsRGB, Display P3, इंडेक्स्ड पैलेट (1-8 बिट), ग्रेस्केल, ट्रूकलर (24/48-बिट)
चैनल और संरचनाRGB + अल्फा (प्रति चैनल 16 बिट तक / 64-बिट RGBA)
अधिकतम आयाम2,147,483,647 x 2,147,483,647 पिक्सेल (4-बाइट अनसाइंड पूर्णांक)
पारदर्शितापूर्ण 8-बिट / 16-बिट वेरिएबल अल्फा पारदर्शिता चैनल
स्ट्रीमिंग और प्रोग्रेसिवAdam7 7-पास इंटरलेसिंग एल्गोरिदम प्रोग्रेसिव 2D स्कैनलाइन रेंडरिंग सक्षम करता है

तकनीकी तुलना मैट्रिक्स: PNG बनाम प्रतियोगी

तकनीकी विशेषताPNG (वर्तमान)WebPAVIFJPEG
संपीड़न प्रकारसख्त रूप से दोषरहित (Deflate + 2D प्रेडिक्टिव फ़िल्टर)हानिपूर्ण (VP8) और दोषरहित (VP8L)हानिपूर्ण (AV1 इंट्रा) और दोषरहितसख्त रूप से हानिपूर्ण (डिस्क्रीट कोसाइन ट्रांसफॉर्म)
अल्फा पारदर्शितापूर्ण 8-बिट / 16-बिट वेरिएबल अल्फा चैनल8-बिट अल्फा चैनल समर्थित8-बिट / 10-बिट / 12-बिट अल्फा समर्थितकोई पारदर्शिता चैनल समर्थन नहीं
फ़ाइल का आकार (तस्वीरें)फ़ोटोग्राफ़ के लिए हानिपूर्ण प्रारूपों से अक्सर बड़ा; सापेक्ष आकार छवि और एन्कोडर के अनुसार बदलता हैJPEG से छोटा हो सकता है; परिणाम छवि और एन्कोडर के अनुसार बदलते हैंJPEG से छोटा हो सकता है; परिणाम छवि और एन्कोडर के अनुसार बदलते हैंमध्यम बेसलाइन
फ़ाइल का आकार (ग्राफिक्स/UI)स्क्रीनशॉट, लाइन आर्ट और टेक्स्ट के लिए बेहद कॉम्पैक्टउत्कृष्ट दोषरहित मोडअच्छा, लेकिन एन्कोड करने में धीमाखराब (किनारों पर रिंगिंग आर्टिफ़ैक्ट उत्पन्न करता है)
ब्राउज़र संगतता1998 से सभी ब्राउज़रों में 100% संगत97%+ आधुनिक ब्राउज़र समर्थन93%+ आधुनिक ब्राउज़र समर्थन100% सार्वभौमिक

सामान्य करप्शन मोड और हेक्स रिकवरी गाइड

छवि दर्शक 'Fatal error: Not a valid PNG file' प्रदर्शित करता है या खोलने में विफल रहता है।

मूल कारण: ASCII ट्रांसफर मोड द्वारा पहले 8 बाइट्स को बदल दिया गया था (0x0D 0x0A को 0x0A या 0x0D 0x0D 0x0A में बदलना)।

रिकवरी: हेक्स एडिटर में फ़ाइल खोलें और सत्यापित करें कि पहले 8 बाइट्स '89 50 4E 47 0D 0A 1A 0A' से मेल खाते हैं। इन सटीक 8 हेडर बाइट्स को पुनर्स्थापित करने से अक्सर छवि पुनर्प्राप्त हो जाती है।

pngcheck 'CRC error in chunk IDAT' रिपोर्ट करता है या छवि दूषित नीचे की स्कैनलाइन के साथ आंशिक रूप से लोड होती है।

मूल कारण: संपीड़ित zlib डेटास्ट्रीम में बिट भ्रष्टाचार या IDAT चंक में अमान्य CRC32 चेकसम।

रिकवरी: मान्य CRC32 मानों की पुनर्गणना करने के लिए pngcheck -f या Deflate स्ट्रीम रिकवरी यूटिलिटीज का उपयोग करें, या दूषित ब्लॉक तक जीवित रहने वाली स्कैनलाइन को डीकंप्रेस करें।

छवि डेस्कटॉप व्यूअर में अच्छी तरह से प्रस्तुत होती है लेकिन iOS एप्लिकेशन में विफल हो जाती है।

मूल कारण: iOS ऐपल के मालिकाना CgBI बाइट स्वैप किए गए प्रारूप, या गैर-मानक रंग स्थान चंक की अपेक्षा करता है।

रिकवरी: मानक W3C RGBA ऑर्डरिंग को पुनर्स्थापित करने के लिए 'pngcrush -revert-iphone-optimizations' का उपयोग करके छवि को सामान्य करें।

सुरक्षा विश्लेषण और पार्सर अटैक वेक्टर्स

PNG कई ऑपरेटिंग सिस्टम और ऐप में समर्थित है। सुरक्षा जोखिमों में डिकोडर की मेमोरी खत्म करने वाले हमले और दुर्भावनापूर्ण सहायक डेटा शामिल हैं।

ज्ञात अटैक वेक्टर्स

  • अनसैंडबॉक्स किए गए डिकोडर्स में आउट-ऑफ-मेमोरी (OOM) सेवा से इनकार करने वाले ओवरसाइज़्ड tEXt और zTXt मेटाडेटा चंक।
  • लिगेसी libpng रिलीज़ में हीप बफर ओवरफ़्लो कमजोरियां (जैसे png_set_PLTE में CVE-2015-8126)।
  • पिक्सेल फ्लड डीकंप्रेसन हमले जहां छोटे फ़ाइल आकार वाली छवि भारी आयाम घोषित करती है (जैसे 100,000 x 100,000 पिक्सेल)।
  • एंसिलेरी प्राइवेट चंक (जैसे eXIf या कस्टम चंक प्रकार) में एन्क्रिप्टेड पेलोड छिपाने वाली स्टेग्नोग्राफिक एक्सफ़िल्ट्रेशन।

सुरक्षात्मक सर्वोत्तम प्रथाएँ: स्मृति में पिक्सेल बफर आवंटित करने से पहले हमेशा छवि आयामों को सत्यापित करें। मेमोरी-सुरक्षित सैनिटाइज़र का उपयोग करके उपयोगकर्ता अपलोड पर गैर-आवश्यक सहायक चंक (eXIf, tEXt) को हटा दें।

ऐतिहासिक मूल और मील के पत्थर

2004ISO/IEC 15948 के रूप में अंतरराष्ट्रीय स्तर पर मानकीकृत किया गया।
1996W3C सिफ़ारिश के रूप में PNG 1.0 प्रकाशित हुआ।
1995Unisys के LZW पेटेंट शुल्क प्रवर्तन के बाद GIF के खुले प्रतिस्थापन के रूप में Usenet comp.graphics पर बनाया गया।

मुख्य लाभ और खूबियाँ

  • PNG दोषरहित संपीड़न का उपयोग करता है, इसलिए अपरिवर्तित छवि को एन्कोड करने से संपीड़न के कारण गुणवत्ता नहीं घटती; संपादन या रंग रूपांतरण से पिक्सेल मान बदल सकते हैं।
  • चिकनी 8-बिट अल्फा पारदर्शिता जटिल पृष्ठभूमि पर साफ सम्मिश्रण सक्षम करती है।
  • गामा सुधार और क्रोमैटिसिटी चंक विभिन्न मॉनिटरों पर एकसमान रेंडरिंग सुनिश्चित करते हैं।

तकनीकी सीमाएँ और कमियाँ

  • फोटोग्राफिक सामग्री के लिए WebP या AVIF जैसे आधुनिक हानिपूर्ण प्रारूपों की तुलना में फ़ाइल का आकार काफी बड़ा।
  • मानक PNG में कोई मूल बहु-फ़्रेम एनिमेशन नहीं (APNG एक्सटेंशन की आवश्यकता है)।
  • उच्च बिट-डेप्थ (प्रति चैनल 16-बिट) विशाल असंपीड़ित इन-मेमोरी डिकोड बफर बनाता है।

रोचक तकनीकी जानकारी

  • 8-बाइट मैजिक हेडर विशेष रूप से FTP स्थानांतरणों द्वारा CR/LF लाइन एंडिंग भ्रष्टाचार का पता लगाने के लिए डिज़ाइन किया गया था।
  • PNG का अनौपचारिक पुनरावर्ती संक्षिप्त नाम 'PNG's Not GIF' था।
  • Apple सीधे GPU रेंडरिंग के लिए RGBA को BGRA में उलटने वाले iOS ऐप PNGs में एक मालिकाना CgBI चंक का उपयोग करता है।

अक्सर पूछे जाने वाले तकनीकी प्रश्न

छवि संपादकों में सहेजे जाने पर PNG फ़ाइल का आकार कभी-कभी क्यों बढ़ जाता है?

विभिन्न सॉफ़्टवेयर सुइट्स अलग-अलग Deflate संपीड़न स्तरों और पूर्वानुमानित स्कैनलाइन फ़िल्टर ह्यूरिस्टिक्स का उपयोग करते हैं। फ़ोटोशॉप जैसे कार्यक्रम अक्सर असंपीड़ित रंग प्रोफाइल, XMP मेटाडेटा ब्लॉक और अनऑप्टिमाइज़्ड IDAT चंक आकार जोड़ते हैं। File2File.app Compressor जैसे समर्पित टूल न्यूनतम फ़ाइल आकार प्राप्त करने के लिए सभी 5 स्कैनलाइन फ़िल्टर का पुनर्मूल्यांकन करते हैं।

PNG-8 और PNG-24 में क्या अंतर है?

PNG-8 256 रंगों तक के अनुक्रमित रंग पैलेट का उपयोग करता है (GIF के समान), जो सरल आइकन के लिए उपयुक्त बहुत छोटी फाइलें तैयार करता है। PNG-24 16.7 मिलियन रंगों (प्रति चैनल ट्रूकलर 8 बिट) का समर्थन करता है, जिसमें PNG-32 एक 8-बिट अल्फा पारदर्शिता चैनल जोड़ता है।

PNG में 5 प्रेडिक्टिव स्कैनलाइन फ़िल्टर क्यों हैं?

Deflate दोहराए गए बाइट पैटर्न को संपीड़ित करता है। चूँकि फ़ोटोग्राफिक या ग्रेडिएंट पिक्सेल मान धीरे-धीरे बदलते हैं, PNG आसन्न पिक्सेल के बीच अंतर की गणना करके प्रत्येक स्कैनलाइन (None, Sub, Up, Average, Paeth) को फ़िल्टर करता है। यह ग्रेडिएंट डेटा को शून्य के करीब मानों वाले बाइट्स की स्ट्रिंग में बदल देता है, जो Deflate के तहत बहुत अधिक बेहतर संपीड़ित होती है।

क्या PNG वाणिज्यिक मुद्रण के लिए CMYK रंग स्थानों का समर्थन करता है?

नहीं। आधिकारिक W3C PNG विनिर्देश जानबूझकर रंग प्रकारों को ग्रेस्केल, इंडेक्स्ड और RGB तक सीमित करता है। CMYK की आवश्यकता वाले व्यावसायिक प्रिंट वर्कफ़्लो को TIFF या PDF कंटेनरों का उपयोग करना चाहिए।

संबंधित PNG रूपांतरण जोड़े

PNG से JPG

PNG रास्टर छवियों को जेपेग प्रारूप में बदलने से हानिपूर्ण संपीड़न लागू करके फ़ाइल का आकार कम हो जाता है, जिससे छवियां वेबसाइटों पर तेजी से लोड होती हैं और कम स्टोरेज स्थान का उपयोग करती हैं।

JPG से PNG

हानिपूर्ण JPEG रास्टर इमेज को दोषरहित PNG रास्टर इमेज में बदलने से गुणवत्ता में आगे होने वाली कमी रुकती है और अल्फ़ा चैनल पारदर्शिता का समर्थन मिलता है।

PNG से WEBP

PNG को WebP में बदलने से पारदर्शिता बनाए रखते हुए फ़ाइल का आकार घट सकता है। परिणाम हानिपूर्ण या दोषरहित एन्कोडिंग के चयन और छवि सामग्री पर निर्भर करता है।

WEBP से PNG

WebP को PNG में बदलने से उन सॉफ़्टवेयर के लिए स्थिर छवि बनती है जो PNG का समर्थन करते हैं। इससे WebP एनिमेशन सुरक्षित नहीं रहती और हानिपूर्ण स्रोत के बारीक विवरण वापस नहीं मिलते।

HEIC से PNG

HEIC को PNG में बदलने से हानिपूर्ण HEVC संपीड़ित तस्वीरें व्यापक रूप से समर्थित दोषरहित ग्राफिक फ़ाइलों में बदल जाती हैं।

SVG से PNG

SVG वेक्टर फाइलों को PNG रैस्टर इमेज में बदलने से स्केलेबल कोड-आधारित ग्राफिक्स सार्वभौमिक एप्लिकेशन संगतता के लिए फिक्स्ड-पिक्सेल ग्रिड में बदल जाते हैं।

PNG से SVG

वेब स्केलिंग और वेक्टर-संगत लेआउट एकीकरण के लिए रास्टर PNG छवियों को SVG XML वेक्टर कंटेनर के अंदर एनकैप्सुलेट करें।

PSD से PNG

Adobe Photoshop PSD ग्राफ़िक्स को संपूर्ण अल्फा चैनल पारदर्शिता के साथ बिना किसी सर्वर ट्रांसमिशन के सीधे अपने ब्राउज़र में दोषरहित PNG छवियों में कनवर्ट करें।