پرش به محتوای اصلی

قالب‌های فایل

PNG چیست؟ فشرده‌سازی بدون اتلاف و شفافیت

PNG فرمت تصویر بدون اتلافی است که همهٔ پیکسل‌ها را دقیقاً حفظ می‌کند و از شفافیت کامل پشتیبانی می‌کند. می‌گوییم چگونه از دل اختلاف بر سر حق ثبت اختراع GIF زاده شد، فشرده‌سازی‌اش چگونه کار می‌کند و کی انتخاب درستی است.

نویسنده: Hemen Dönüştür Editör Ekibiتاریخ انتشار: 8 دقیقه مطالعه

تصویر جلد راهنمای فرمت PNG

PNG (Portable Network Graphics) فرمتی تصویری است که تصاویر را بدون از دست دادن هیچ جزئیاتی ذخیره می‌کند و از شفافیت کامل پشتیبانی می‌کند. این فرمت به استاندارد اسکرین‌شات‌ها، لوگوها، آیکون‌ها و گرافیک‌های رابط کاربری تبدیل شده است. این مقاله توضیح می‌دهد PNG چرا ساخته شد، فشرده‌سازی‌اش چگونه کار می‌کند، چرا گاهی فایل‌های بسیار بزرگی تولید می‌کند و نکته‌هایی کاربردی برای تبدیل تصاویر PNG ارائه می‌دهد.

تولد PNG: GIF و حق ثبت اختراع LZW

در اوایل دههٔ 1990 بیشتر گرافیک‌های وب GIF بودند و GIF از الگوریتم فشرده‌سازی LZW استفاده می‌کرد که حق ثبت اختراعش در اختیار Unisys بود. بر اساس تاریخچه‌ای که گرگ رولوفس (Greg Roelofs) از این فرمت نوشته، توافق‌نامهٔ مجوز میان CompuServe و Unisys در 28 دسامبر 1994 بی‌سروصدا اعلام شد و احتمال دریافت حق امتیاز از نرم‌افزارهایی را که فایل GIF می‌نوشتند پیش کشید. پس از واکنش‌ها در Usenet، توماس بوتل (Thomas Boutell) در 4 ژانویهٔ 1995 نخستین پیش‌نویس یک فرمت بدون حق ثبت اختراع را که آن زمان «PBF» نام داشت منتشر کرد. نام «PNG» در 6 ژانویه پیشنهاد شد و در پیش‌نویس پنجم در 23 ژانویهٔ 1995 پذیرفته شد. مشخصه با پیش‌نویس نهم در 7 مارس 1995 نهایی شد.

W3C در 1 اکتبر 1996 PNG را به‌عنوان Recommendation منتشر کرد و طبق Library of Congress، همان متن در ژانویهٔ 1997 با عنوان RFC 2083 توسط IETF منتشر شد. ویرایش دوم شامل اصلاحیه‌ها در 10 نوامبر 2003 آمد و به استاندارد بین‌المللی ISO/IEC 15948 تبدیل شد. ویرایش سوم PNG در W3C که در 24 ژوئن 2025 منتشر شد، PNG متحرک (APNG)، chunk cICP برای اعلام HDR و chunk eXIf برای داده‌های EXIF را وارد مشخصهٔ رسمی کرد.

فشرده‌سازی PNG چگونه کار می‌کند

PNG بدون اتلاف است: پیکسل‌هایی که هنگام باز کردن فایل به دست می‌آورید، بیت به بیت همان پیکسل‌هایی است که ذخیره شده‌اند. فایل در دو مرحله کوچک می‌شود.

1. فیلترهای ردیف

پیش از فشرده‌سازی، هر ردیف پیکسل از یک فیلتر عبور می‌کند. فیلتر به‌جای مقدار خود پیکسل، تفاوت آن با همسایه‌هایش را ذخیره می‌کند و در نواحی یکدست یا نرم این تفاوت‌ها نزدیک به صفرند، بنابراین بسیار بهتر فشرده می‌شوند. مشخصه پنج نوع فیلتر تعریف می‌کند: None، Sub (پیکسل سمت چپ)، Up (پیکسل بالا)، Average (میانگین چپ و بالا) و Paeth (پیش‌بینی از روی پیکسل‌های چپ، بالا و بالا-چپ). رمزگذار می‌تواند برای هر ردیف فیلتر متفاوتی انتخاب کند.

2. DEFLATE

داده‌های فیلترشده با DEFLATE، همان الگوریتمی که در فایل‌های ZIP به کار می‌رود، فشرده می‌شوند و در قالب zlib درون chunkهای IDAT ذخیره می‌شوند. این تنها روش فشرده‌سازی‌ای است که مشخصه تعریف می‌کند و از پنجرهٔ لغزانی با حداکثر 32 KB استفاده می‌کند. برنامه‌های مختلف از یک تصویر PNGهایی با حجم متفاوت تولید می‌کنند، چون برای انتخاب فیلتر و تنظیمات DEFLATE تلاش کمتر یا بیشتری صرف می‌کنند؛ خود تصویر یکسان است.

ساختار chunk

فایل PNG با یک امضای 8 بایتی شروع می‌شود و پس از آن chunkها می‌آیند: IHDR برای سرآیند، IDAT برای دادهٔ تصویر و IEND برای بستن فایل. chunkهای اختیاری می‌توانند پروفایل رنگ (iCCP)، گاما (gAMA)، متن (tEXt، iTXt) و شفافیت ساده (tRNS) را نگه دارند.

انواع رنگ، عمق بیت و شفافیت

PNG از تصاویر خاکستری، پالتی (اندیس‌دار) و رنگ حقیقی (truecolor) پشتیبانی می‌کند. طبق Library of Congress، عمق نمونه‌ها از 1 تا 16 بیت است؛ تصاویر RGB معمول 8 بیت برای هر کانال (24 بیتی) و در صورت نیاز 16 بیت برای هر کانال (48 بیتی) به کار می‌برند. یک کانال آلفای اختیاری برای هر پیکسل مقدار شفافیت جداگانه‌ای ذخیره می‌کند. این بسیار انعطاف‌پذیرتر از شفافیت سادهٔ روشن/خاموش GIF است: سایه‌ها، لبه‌های نرم و لایه‌های نیمه‌شفاف درست دیده می‌شوند.

درهم‌بافی Adam7 (interlacing) که اختیاری است، اجازه می‌دهد تصویر هنگام بارگذاری ابتدا زبر و سپس واضح دیده شود، اما معمولاً فایل را بزرگ‌تر می‌کند.

PNG پالتی و کاهش رنگ

در PNG پالتی (اندیس‌دار)، هر پیکسل به‌جای خود رنگ، اندیسی به یک پالت حداکثر 256 خانه‌ای ذخیره می‌کند. لوگوها، آیکون‌ها و تصویرسازی‌های تخت با رنگ‌های کم از این راه در فایل‌های بسیار کوچکی جا می‌شوند. PNGهای پالتی همچنین می‌توانند از طریق chunk tRNS به خانه‌های پالت مقدار شفافیت جداگانه بدهند؛ بنابراین برخلاف GIF، رنگ‌های پالتی نیمه‌شفاف هم ممکن است.

اما کاهش یک عکس یا شیب رنگ به PNG پالتی باعث نوار نوار شدن رنگ‌ها (banding) و الگوهای پراکنش (dithering) می‌شود. بنابراین کاهش رنگ مرحله‌ای پیش‌پردازشی است که باید بر اساس نوع تصویر انتخاب شود؛ خود فرمت PNG بدون اتلاف باقی می‌ماند.

PNG چقدر رایج است؟

داده‌های W3Techs در اکتبر 2026 نشان می‌دهد PNG در 74.9% از وب‌سایت‌هایی که پایش می‌کند به کار می‌رود؛ یعنی پرکاربردترین فرمت تصویر در وب‌سایت‌هاست. طبق Web Almanac 2024 از HTTP Archive، 28.4% از تصاویر صفحه‌های موبایل PNG هستند و فقط JPEG (32.4%) از آن بیشتر است. همین گزارش میانهٔ PNG را 3.8 بیت به ازای هر پیکسل اعلام می‌کند، در برابر 2.0 برای JPEG و 1.3 برای WebP. گستردگی PNG در وب‌سایت‌ها بیشتر از لوگوها و آیکون‌هایی می‌آید که به شفافیت نیاز دارند؛ ارائهٔ عکس‌های بزرگ به صورت PNG صفحه‌ها را بی‌دلیل سنگین می‌کند.

کی از PNG استفاده کنیم و کی سراغ گزینهٔ دیگری برویم

محتواپیشنهاد
اسکرین‌شات، رابط کاربری، گرافیک دارای متنPNG (یا WebP بدون اتلاف)
لوگو و آیکون با پس‌زمینهٔ شفافPNG؛ اگر منبع برداری دارید SVG
عکسJPG، WebP یا AVIF؛ PNG بی‌دلیل حجیم است
نسخه‌های کاری که ویرایششان ادامه داردPNG؛ با ذخیرهٔ دوباره اتلافی انباشته نمی‌شود
تصاویر شبه‌عکس شفاف برای وبWebP یا AVIF؛ شفافیت را نگه می‌دارند و فایل را کوچک می‌کنند

صفحهٔ WebP گوگل می‌گوید تصاویر WebP بدون اتلاف 26% کوچک‌تر از PNG هستند. این WebP را به جایگزین خوبی برای گرافیک‌هایی تبدیل می‌کند که در مرورگر نمایش داده می‌شوند، هرچند سازگاری PNG همچنان گسترده‌تر است و عملاً هر برنامه‌ای می‌تواند آن را باز کند.

مشکلات رایج

چرا PNG من این‌قدر حجیم است؟

رایج‌ترین دلیل، عکسی است که به صورت PNG ذخیره شده. نویز و جزئیات ریز عکس‌ها بدون اتلاف خوب فشرده نمی‌شوند، بنابراین همان تصویر به صورت JPG یا WebP می‌تواند چند برابر کوچک‌تر باشد. در اسکرین‌شات‌ها حجم فایل مستقیماً با وضوح بالا می‌رود.

تبدیل JPG به PNG کیفیت را بهتر نکرد

PNG پیکسل‌ها را همان‌طور که در لحظهٔ ذخیره هستند حفظ می‌کند. اتلاف‌ها و آثار بلوکی فشرده‌سازی JPG پیش از تبدیل بخشی از تصویر شده‌اند و PNG آن‌ها را هم دقیقاً نگه می‌دارد.

شفافیت پس از تبدیل به JPG از بین رفت

JPG کانال آلفا ندارد. هنگام تبدیل، پیکسل‌های شفاف با رنگی یکدست پر می‌شوند؛ اگر رنگی انتخاب نکنید، رنگ پیش‌فرض برنامه (معمولاً سفید یا سیاه) به کار می‌رود.

رنگ‌ها متفاوت دیده می‌شوند

PNG می‌تواند پروفایل رنگ و اطلاعات گاما داشته باشد. برنامه‌هایی که این‌ها را متفاوت تفسیر می‌کنند ممکن است رنگ‌ها را کمی متفاوت نشان دهند. استفاده از sRGB برای تصاویری که برای وب هستند امن‌ترین راه است.

نکته‌هایی برای تبدیل PNG

  • PNGهای شبه‌عکس را کوچک کنید. هنگام تبدیل PNG به JPG کیفیت پیش‌فرض 90 است؛ نواحی شفاف به‌طور پیش‌فرض با سفید پر می‌شوند و می‌توانید رنگ پس‌زمینهٔ دیگری انتخاب کنید.
  • برای حفظ شفافیت، PNG را به WebP یا PNG را به AVIF تبدیل کنید؛ هر دو فرمت کانال آلفا را ذخیره می‌کنند. اگر همهٔ پیکسل‌ها باید در WebP دقیقاً یکسان بمانند، گزینهٔ «WebP بدون اتلاف» را علامت بزنید؛ ممکن است فایل بزرگ‌تر شود.
  • کوچک کردن PNG در حالی که PNG بماند جای زیادی ندارد: تا وقتی تصویر یکسان می‌ماند، بهبود فقط از امتحان فیلترها و فشرده‌سازی بهتر می‌آید. ابزار فشرده‌سازی تصویر ما PNGهای ثابت را به‌طور پیش‌فرض به WebP تبدیل می‌کند؛ اگر می‌خواهید PNG بماند، گزینهٔ بهینه‌سازی اضافی PNG می‌کوشد بی‌آنکه حتی یک پیکسل تغییر کند فایل را کوچک‌تر کند.
  • آیکون لازم دارید؟ مبدل PNG به ICO یک آیکون مربعی را در اندازه‌های 16، 32 و 48 پیکسل (و اگر تصویر به اندازهٔ کافی بزرگ باشد، اندازه‌های بزرگ‌تر) در یک فایل بسته‌بندی می‌کند.
  • این تبدیل‌ها در مرورگر شما انجام می‌شوند، بنابراین فایل‌هایتان هرگز از دستگاه شما خارج نمی‌شوند. داده‌های EXIF و مکان در خروجی نوشته نمی‌شوند.

پرسش‌های متداول

PNG با اتلاف است یا بدون اتلاف؟

PNG بدون اتلاف است. هر چند بار هم که فایل را باز و ذخیره کنید، پیکسل‌ها تغییر نمی‌کنند. چیزی که برخی ابزارها «PNG با اتلاف» می‌نامند، کاهش تعداد رنگ‌ها پیش از ذخیره برای ساختن PNG پالتی است؛ اتلاف در همان مرحلهٔ پیش‌پردازش رخ می‌دهد، نه در فرمت.

آیا PNG از پویانمایی پشتیبانی می‌کند؟

PNG پایه نه. افزونهٔ APNG پویانمایی را اضافه می‌کند و با ویرایش سوم PNG در W3C بخشی از مشخصه شد. طبق MDN همهٔ مرورگرهای فعلی APNG را نمایش می‌دهند، اما بسیاری از ویرایشگرهای تصویر فقط نخستین فریم آن را باز می‌کنند.

PNG-8 و PNG-24 یعنی چه؟

این نام‌ها در مشخصه نیستند و اختصارهایی‌اند که نرم‌افزارها به کار می‌برند. PNG-8 معمولاً یعنی PNG پالتی با حداکثر 256 رنگ، PNG-24 یعنی PNG رنگ حقیقی با 24 بیت برای هر پیکسل و PNG-32 یعنی PNG از نوع RGBA با کانال آلفا.

PNG استفاده کنم یا WebP؟

اگر تصویر در یک صفحهٔ وب نمایش داده می‌شود، WebP معمولاً فایل کوچک‌تری می‌دهد و شفافیت را هم نگه می‌دارد. اگر قرار است تصویر را در برنامه‌های دیگر ویرایش کنید، برای کسی بفرستید یا بایگانی کنید، PNG سازگاری گسترده‌تری دارد.

آیا PNG برای چاپ مناسب است؟

از نظر کیفیت بله، چون بدون اتلاف است، اما PNG از مدل رنگ CMYK پشتیبانی نمی‌کند. فرایندهای چاپ حرفه‌ای معمولاً TIFF یا PDF را ترجیح می‌دهند.

منابع

مبدل‌های مرتبط

همه مقاله‌ها