يُفتح هذا بمجرّد أن تختار ملفاً في الأعلى.جاهزة — اقطع الاتصال بالإنترنت وستظل تعمل.غير متاحة في هذا المتصفح (كل شيء آخر يظل يعمل).تحتاج إلى https:// أو localhost للتخزين المؤقت دون اتصال.التخزين المؤقت غير متاح هنا، لكن لا شيء يُرفع في الحالتين.ملفاتك لم تذهب إلى أي مكان. {total} ملفاً حُمِّلت، كلها ملفات هذه الصفحة نفسها. {platform}اتصل شيءٌ بـ {hosts}، وهو ما لا تفعله هذه الأداة أبداً. عُدَّ ذلك جديراً بالتحقيق. {platform}نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من مضيفٍ {hosts}؛ ولم يُعطَ واحد منها ملفاً ولا بايتاً منه.نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من {hosts} مضيفاً؛ ولم يُعطَ واحد منها ملفاً ولا بايتاً منه.حدث خطأ ما: {detail}. أعد تحميل الصفحة لتبدأ من جديد.جارٍ قراءة {count} ملف…جارٍ قراءة {count} ملف…جرّب مثالاًجارٍ إنشاء مثال…تعذّر على هذا المتصفّح إنشاء المثال. اختر ملفاً بدلاً من ذلك.
يجري الضغط داخل متصفحك أنت، على جهازك أنت، بالمرمِّزات التي يأتي بها المتصفح أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — لا شيء تجلبه ولا شيء ترسله — ولا يقف خلف هذه الصفحة خادم تُرسَل إليه صورة، حتى لو كان فيها ما يرسلها.
✗ بلا رفع
✗ بلا حساب
✗ بلا حدّ للحجم
✓ يعمل دون اتصال
✓ مفتوح المصدر
فحص حي:جارٍ الفحص…
دون اتصال:جارٍ الفحص…
لا داعي لأن تصدّقنا: افتح أدوات المطوّر، وراقب تبويب «الشبكة»، ثم اضغط صورة. لن يحمل أي طلب صورةً ولا مصغَّرة ولا اسم ملف ولا بايتاً واحداً مما اخترته. أو اقطع الاتصال بالإنترنت واضغط صورة رغم ذلك.
كيف يمكن التحقق من وعد الخصوصية
صورك لا سبيل لها إلى الخروج. تُسمّي Content-Security-Policy كل عنوان يجوز لهذه الصفحة الاتصال به، وليس واحد منها لنا. فلا يوجد هنا طرفٌ تُجمَع عنده ملفاتك، ولا في الشيفرة ما يرسلها إليه لو وُجد.
لا شيء هنا يجلب شيئاً. لا يوجد fetch ولا XMLHttpRequest ولا sendBeacon في أي موضع من src/. والضغط هو canvas.toBlob — المرمِّز المثبَّت في متصفحك أصلاً.
الأرقام مقيسة، لا مَروِيّة. الأحجام ورقم الجودة ومقارنة SSIM كلها تُحسَب على هذه الصفحة وتُعرَض عليك. ولا يوجد في هذا المستودع أي حدث تحليلات مخصّص يحمل اسم ملف أو حجماً أو عدداً أو نتيجة.
ما تُحمّله Google، وما لا يُعطى لها. نصوص الإعلانات والقياس تأتي من Google، وزر التبرّع من Buy Me a Coffee. ولا يُعطى أيٌّ منها شيئاً عن صورك. وكل سطر يقرأ ملفاً أو يضغطه أو يقيسه يُخدَم من هذا الأصل نفسه ومُدرَج في المستودع.
يعمل دون اتصال. اقطع الاتصال بالشبكة، وتبقى الأداة كما هي، لأنه لم تكن فيها خطوة شبكية قط. وهذا أبسط برهان على الإطلاق.
تحقّق بنفسك. لا شيء مما سبق عليك تصديقه دون تحقق. تُولَّد هذه الصفحة من القوالب والإعدادات في المستودع بواسطة سكربت بناء يمكنك قراءته وتشغيله بنفسك، والنتيجة موجودة في فرع dist — فقارِن إذن بين ما يُقدَّم فعلا وما ينتجه بناء المصادر:
الملفات الجديرة بالقراءة أولا هي config/site.toml من أجل سياسة أمان المحتوى (Content-Security-Policy)، وsrc/compress.js للبحث الذي يقرّر كم من الجودة يُنفَق، وsrc/measure.js للمقارنة التي يقوم عليها رقم «التطابق البصري».
إذا حذّرك برنامج الحماية في عملك من رفع ملف. إنه يراقب لحظة اختيار ملف في المتصفّح، ولا يمكنه أن يعرف إن كانت الصفحة تنوي إرساله — فيحذّر عند الاختيار. لا شيء يُرسَل من هنا: افتح أدوات المطوّر في متصفّحك، وانتقل إلى Network، ثم اختر ملفاً. لا يوجد أي طلب يحمله، ولا أي طلب أصلاً عدا المعاينة المحلية للصفحة. وهو الفحص نفسه الذي يستطيع أي شخص في قسم تقنية المعلومات لديك إجراؤه في نصف دقيقة.
1 اختر الصور
2 قل كم يجوز أن يكون حجمها
هنا يقلب الضاغطون الآخرون الأمر رأساً على عقب: يعطونك مِزلاج جودة ويتركونك تخمّن أي إعداد سيحطّ تحت الحدّ المفروض عليك. سمِّ الحدّ بدلاً من ذلك، فتبحث الأداة عن أعلى جودة تتّسع له — ثم تنفق ما بقي من الميزانية بدل أن تناولك ملفاً بنصف الحجم الذي طلبته.
يجوز له تصغير الصورة إن اضطر لا يُلجأ إليه إلا متى كان على الجودة وحدها أن تهبط دون الحدّ الذي يبدأ الضغط عنده في الظهور. وتحت ذلك الحدّ تكون بكسلات أقل وجيدة أحسن منظراً من بكسلات أكثر ومُفسَدة. أطفئ هذا للإبقاء على الأبعاد كما هي بالضبط ودفع ثمن الحجم الضيّق من الجودة بدلاً منها.
3 اضغط
بعد الضغط
{amount} بايت{amount} KB{amount} MBصورة واحدة، {size} في المجموع{count} صورة، {size} في المجموعدون الحجم المطلوب أصلاً — هذه ستُترك كما هي تماماً.أخرِج {name} من القائمة{name}: ليست صورة تقدر هذه الأداة على قراءتها.{name}: لم يستطع هذا المتصفح فكّ ترميزها.اكتب حجماً تقصده.كل صورة ستُنزَل إلى ما دون {size}.هذه الصورة فوق {size}، فستُضغط حتى لا تعود كذلك.هذه الصورة دون {size} أصلاً، فستمرّ دون أن تُمسّ.{over} من {total} صورة فوق {size}{over} من {total} صورة فوق {size}والأخرى ستمرّ دون أن تُمسّوالبقية، وعددها {count}، ستمرّ دون أن تُمسّ{over}.{over}، {rest}.{format} {sizing}تبقى الصيغة كما هي، إلا أن يكون الحجم المطلوب ضيقاً إلى حدّ يكلّف فيه إبقاؤها جودةً حقيقية — فيُستعمل عندئذ WebP، ويقول السطر ذلك.كل صورة تبقى على الصيغة التي وصلت بها.كل شيء يُكتب بصيغة JPEG. والشفافية تصير بيضاء، لأن JPEG لا قناة ألفا فيه.كل شيء يُكتب بصيغة WebP: أصغر من JPEG عند الجودة نفسها، ويحفظ الشفافية.كل شيء يُكتب بصيغة PNG. وPNG لا مقبض جودة فيه، فالطريق الوحيد إلى الحجم المطلوب هو تصغير الصورة.إن لم تكفِ الجودة وحدها لبلوغ الحجم المطلوب، صُغِّرت الصورة بدل أن تُسحق.تحتفظ الصورة بأبعادها كاملة، فحجم مطلوب ضيّق لا بد أن يُدفع من الجودة وحدها.WebP — هذا المتصفح لا يدعمهأُوقف قبل أن يكتمل الأول.أُوقف بعد {done} من {total}. ما اكتمل موجود بالأسفل.{at} من {total}: {name} — {step}تُقرأيُفكّ ترميزهايُنظر كم تكلّف عند الجودة الكاملةيُبحث عن أكبر مقاس يتّسعيُمشّط مقبض الجودةيُنزَل تحت أرضية الجودة، لأن التصغير مُطفأتُقايَض الدقة بالجودةيُنفَق ما بقي من الميزانيةتُجرَّب {format} بدلاً منهااستُسلم بعد محاولات أكثر من اللازم.هذا المتصفح لم يقبل الترميز بصيغة {format}.هذا المتصفح لم يستطع فكّ ترميز الصورة.من {before} إلى {after} — {change}، وكل صورة دون الحجم المطلوب.من {before} إلى {after}. {count} صورة لم تبلغ الحجم المطلوب — انظر السطر أدناه.من {before} إلى {after}. {count} صور لم تبلغ الحجم المطلوب — انظر الأسطر أدناه.{before} → {after} · {change}{size} — كانت دون الحجم المطلوب أصلاً، فلم يُمَسّ منها شيء.قيست في مقابل الأصل: {match} (SSIM {ssim}، PSNR {psnr}).هذا أصغر ما أمكن أن تصير إليه هذه الصورة بالإعدادات أعلاه، وهي ما تزال فوق الحجم المطلوب. اسمح بالتصغير، أو اطلب حجماً أكبر.نزِّلقارِنأخفِأصغر بنسبة {percent}%أكبر بنسبة {percent}%بالحجم نفسه تقريباً{percent}% — لا يُفرَّق بينهما{percent}% — لا فرق يُرى{percent}% — قريبة جداً{percent}% — ليّنت قليلاً{percent}% — الضغط ظاهر{db} dBمتطابقتانضغطها كان سيكلّف جودةً لبلوغ حجم كانت تملكه أصلاً، فمرّت بايتاً ببايت، ببياناتها الوصفية وكل شيء.{format}، {size}، {encodes}.{format}، جودة {quality}، {size}، {encodes}.كُتبت بصيغة {format}كُتبت بصيغة {format}، التي تماسكت بها الصورة عند هذا الحجم خيراً مما تماسكت بصيغتها الأصليةصُغِّرت من {from} إلى {to}بالحجم الكامل عند {size}وُجدت في محاولة ترميز واحدةوُجدت في {count} محاولة ترميزالأصلبعد الضغط{label}: {name}{size} · {dimensions}كلتاهما معروضة بالعرض نفسه، وهكذا يُحكم على الفرق فعلاً. وللنظر عن قرب، افتح الملفين بحجمهما الكامل.صورك لم تذهب إلى أي مكان. {total} ملفاً حُمِّلت، كلها ملفات هذه الصفحة نفسها. {platform}اتصل شيءٌ بـ {hosts}، وهو ما لا تفعله هذه الأداة أبداً. عُدَّ ذلك جديراً بالتحقيق. {platform}نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من مضيفٍ {hosts}؛ ولم يُعطَ واحد منها صورةً ولا بايتاً منها.نصوصُ الإعلانات والقياس وزرّ التبرّع الخاصة بالصفحة حُمِّلت من {hosts} مضيفاً؛ ولم يُعطَ واحد منها صورةً ولا بايتاً منها.
هل أنجزت المهمة؟
ما الذي حدث خطأ؟
شكرا — هذا يساعد.
يُرسَل الجواب فقط، وفقط عند الضغط على زر. لا يُرسَل ملفك أبدا، ولا اسمه، ولا أي شيء عنه.
# ضاغط الصور — اضغط إلى حجم تحدّده بنفسك
حدّد الحجم، ويتكفّل هو بالباقي.
> اضغط صورة JPEG أو PNG أو WebP إلى حجم محدّد بالضبط: 100 KB أو 2 MB أو أي حجم آخر. يعمل بالكامل داخل متصفحك، فلا يُرفع شيء، ولا حساب، ويعمل دون اتصال.
هذه الصفحة أداة تفاعلية تعمل بالكامل داخل متصفحك، على العنوان https://abox.tools/ar/ضغط-الصور/ — ولا يُرفَع أي شيء تعطيه إياها. وفيما يلي كل ما تقوله الصفحة عن الأداة بالكلمات؛ لاستخدامها، افتح العنوان.
## صورك لا تُرفع **أبدا**. لا يوجد خادم.
يجري الضغط داخل متصفحك أنت، على جهازك أنت، بالمرمِّزات التي يأتي بها المتصفح أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — لا شيء تجلبه ولا شيء ترسله — ولا يقف خلف هذه الصفحة خادم تُرسَل إليه صورة، حتى لو كان فيها ما يرسلها.
- ✗ بلا رفع
- ✗ بلا حساب
- ✗ بلا حدّ للحجم
- ✓ يعمل دون اتصال
- ✓ مفتوح المصدر
## كيف تضغط صورة إلى حجم بعينه
1. **اختر صورك.** أفلِتها على المُنتقي أو اخترها يدوياً. يقرؤها المتصفح من قرصك مباشرة، ولا يُرسَل شيء إلى أي مكان أثناء ذلك.
2. **اكتب الحجم المطلوب منك.** 100 KB لاستمارة الرفع التي ترفض صورتك مرة بعد مرة، و500 KB لبوابة التقديم، و2 MB لصفحة يجب أن تُحمَّل بسرعة. والأحجام الأربعة الشائعة أزرار جاهزة.
3. **اضغط «اضغط إلى الحجم المطلوب».** تُرمَّز كل صورة عدة مرات بينما تضيّق الأداة على أعلى جودة تتّسع للحجم. وما كان دون الحجم المطلوب أصلاً يُترَك كما هو تماماً.
4. **انظر ماذا كلّف ذلك، ثم نزِّل.** تقول كل نتيجة بأي صيغة كُتِبت، وبأي جودة، وهل تغيّرت الأبعاد، وكم تطابق الأصل حين يُقاس. و«قارِن» يضع الصورتين جنباً إلى جنب.
## النسخة الأطول
[كيف تضغط صورة إلى حجم ملف محدد بالضبط](https://abox.tools/ar/أدلة/ضغط-الصورة-إلى-حجم-محدد/): استمارةُ رفع تريد 500 كيلوبايت وصورتُك 4 ميغابايت. ماذا يكلّف حدُّ الحجم فعلاً، وأيَّ إعداد تحرّك أولاً، ولماذا لا يصغر ملف PNG كما يصغر ملف JPEG.
## أيضا في الصندوق
- [تغيير حجم الصور](https://abox.tools/ar/تغيير-حجم-الصورة/): قل الحجم. ارسم الإطار. اختر الصيغة.
- [HEIC إلى JPG](https://abox.tools/ar/تحويل-heic-إلى-jpg/): الصور التي يلتقطها الآيفون، بصيغة يفتحها كل شيء.
- [صانع الصور الشخصية](https://abox.tools/ar/صورة-شخصية-بيومترية/): اختر البلد. فيطبّق قاعدة ذلك البلد، بالضبط.
- [تكديس الصور](https://abox.tools/ar/تكديس-الصور/): عشرون إطاراً في واحد، بلا عشرين رفعاً وبلا محوِّل RAW.
## أسئلة
### هل تُرفع صورتي إلى أي مكان؟
لا. يفك متصفحك أنت ترميز الملف ويضغطه ويقيسه على جهازك أنت، بمرمِّزات JPEG وPNG وWebP التي يأتي بها المتصفح أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — فهي لا تجلب شيئاً ولا ترسل شيئاً — و`Content-Security-Policy` الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا.
### كيف يبلغ حجماً محدّداً بالضبط؟
بالمحاولة. لا توجد معادلة تحوّل إعداد الجودة إلى عدد بايتات — فذلك متوقّف على الصورة نفسها تماماً — فتُرمّز الأداة الصورة عدة مرات وتبحث عن الجواب. تبدأ من أعلى مدى الجودة وتضيّق بالتنصيف، فتجد أعلى جودة تتّسع للحجم في نحو ثمانية ترميزات. وكل حجم تراه على الصفحة ملف مرمَّز فعلاً، لا تقديرٌ له.
### ماذا تعني «أقل خسارة ممكنة» هنا بالضبط؟
ثلاثة أشياء بعينها. أولاً، الصورة التي هي دون حجمك المطلوب أصلاً تمرّ بايتاً بايتاً بلا إعادة ترميز. ثانياً، تُنفَق الجودة قبل الدقة، ولا تنزل إلا إلى حدٍّ تبدأ عنده آثار الضغط في الظهور — وبعد تلك النقطة تصغّر الأداة الصورة وترفع الجودة من جديد، لأن بكسلات أقل وجيدة أحسن منظراً من بكسلات أكثر ومُفسَدة. ثالثاً، متى وُجدت نتيجة تتّسع للحجم عاد البحث يصعد حتى تُستهلك الميزانية، فلا تحصل على ملف بحجم 300 KB وقد طلبت 500 KB.
### ما رقما SSIM وPSNR على كل نتيجة؟
هما قياس لما كلّفه الضغط، يُؤخذ بفك ترميز النتيجة ومقارنتها بالصورة الأصلية. يقارن SSIM السطوع والتباين والبنية موضعياً، وهو أقرب بكثير إلى ما تعترض عليه العين من عدّ البكسلات المتغيّرة؛ وفوق 0.98 تقريباً يصعب التفريق بين الاثنتين جنباً إلى جنب. أما PSNR فهو الرقم التقليدي بالديسيبل. ويُحسَب كلاهما على جهازك، ويُعرَضان معاً حتى يكون ادعاء قلة الخسارة قابلاً للتحقق لا مجرد دعوى.
### ما الصيغ التي يقرؤها ويكتبها؟
يقرأ كل ما يستطيع متصفحك فك ترميزه، وهو عملياً JPEG وPNG وWebP وGIF وBMP و— على معظم المتصفحات الحالية — AVIF. ويكتب JPEG وPNG وWebP، لأن هذه هي المرمِّزات التي تأتي بها المتصفحات. وعلى وضع «تلقائي» يبقي على الصيغة التي وصل بها ملفك، ولا ينتقل إلى WebP إلا حين يكون الإبقاء عليها مؤدياً إلى تصغير أو إلى هبوط ظاهر في الجودة.
### لماذا لا يستطيع ضغط ملف PNG كثيراً؟
لأن PNG بلا خسارة: ليس فيه مقبض جودة يُدار. والسبيل الوحيد إلى تصغير ملف PNG هو إعطاؤه بكسلات أقل أو ألواناً أقل، فحين تختار PNG تبلغ الأداة الحجم المطلوب بالتصغير وحده. فإن كانت الصورة فوتوغرافية، فسيقترب JPEG أو WebP من حجمك المطلوب أكثر بكثير، وبجودة ترى بنفسك أنها سليمة — وإن كانت شعاراً أو لقطة شاشة فيها شفافية، فإن WebP يبقي على الشفافية التي كان JPEG سيملؤها بالأبيض.
### هل يزيل ضغطُ الصورة بياناتِ EXIF وGPS منها؟
نعم، كأثر جانبي. فالضغط يعني فك ترميز الصورة إلى بكسلات ثم إعادة ترميز تلك البكسلات، ولوحة البكسلات لا تحمل وسوماً، فالموقع وطراز الكاميرا والأوقات وكل ما عداها لا تُكتَب ببساطة في الملف الجديد. وإن أردت البيانات الوصفية زائلة والصورة على حالها، فاستخدم [عارض EXIF ومُزيله](https://abox.tools/ar/إزالة-بيانات-exif/) بدلاً من هذا — فهو يعيد كتابة الحاوية دون إعادة ضغط أي شيء.
### هل هو مجاني، وهل أحتاج إلى حساب؟
هو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية ولا علامة مائية. ولا حدّ لعدد الملفات ولا لأحجامها كذلك، إذ لا خادم يدفع ثمنها — فالعمل يجري على جهازك أنت. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن صورك.
### هل يعمل دون اتصال؟
نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل صورك بعيداً لتُضغَط كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.
## كيف يمكن التحقق من وعد الخصوصية
- **صورك لا سبيل لها إلى الخروج.** تُسمّي Content-Security-Policy كل عنوان يجوز لهذه الصفحة الاتصال به، وليس واحد منها لنا. فلا يوجد هنا طرفٌ تُجمَع عنده ملفاتك، ولا في الشيفرة ما يرسلها إليه لو وُجد.
- **لا شيء هنا يجلب شيئاً.** لا يوجد `fetch` ولا `XMLHttpRequest` ولا `sendBeacon` في أي موضع من `src/`. والضغط هو `canvas.toBlob` — المرمِّز المثبَّت في متصفحك أصلاً.
- **الأرقام مقيسة، لا مَروِيّة.** الأحجام ورقم الجودة ومقارنة SSIM كلها تُحسَب على هذه الصفحة وتُعرَض عليك. ولا يوجد في هذا المستودع أي حدث تحليلات مخصّص يحمل اسم ملف أو حجماً أو عدداً أو نتيجة.
- **ما تُحمّله Google، وما لا يُعطى لها.** نصوص الإعلانات والقياس تأتي من Google، وزر التبرّع من Buy Me a Coffee. ولا يُعطى أيٌّ منها شيئاً عن صورك. وكل سطر يقرأ ملفاً أو يضغطه أو يقيسه يُخدَم من هذا الأصل نفسه ومُدرَج في المستودع.
- **يعمل دون اتصال.** اقطع الاتصال بالشبكة، وتبقى الأداة كما هي، لأنه لم تكن فيها خطوة شبكية قط. وهذا أبسط برهان على الإطلاق.
**تحقّق بنفسك.** لا شيء مما سبق عليك تصديقه دون تحقق. تُولَّد هذه الصفحة من القوالب والإعدادات في المستودع بواسطة سكربت بناء يمكنك قراءته وتشغيله بنفسك، والنتيجة موجودة في فرع `dist` — فقارِن إذن بين ما يُقدَّم فعلا وما ينتجه بناء المصادر: https://github.com/A-Box-of-Tools/website
الملفات الجديرة بالقراءة أولا هي `config/site.toml` من أجل سياسة أمان المحتوى (Content-Security-Policy)، و`src/compress.js` للبحث الذي يقرّر كم من الجودة يُنفَق، و`src/measure.js` للمقارنة التي يقوم عليها رقم «التطابق البصري».
كيف تضغط صورة إلى حجم بعينه
اختر صورك. أفلِتها على المُنتقي أو اخترها يدوياً. يقرؤها المتصفح من قرصك مباشرة، ولا يُرسَل شيء إلى أي مكان أثناء ذلك.
اكتب الحجم المطلوب منك. 100 KB لاستمارة الرفع التي ترفض صورتك مرة بعد مرة، و500 KB لبوابة التقديم، و2 MB لصفحة يجب أن تُحمَّل بسرعة. والأحجام الأربعة الشائعة أزرار جاهزة.
اضغط «اضغط إلى الحجم المطلوب». تُرمَّز كل صورة عدة مرات بينما تضيّق الأداة على أعلى جودة تتّسع للحجم. وما كان دون الحجم المطلوب أصلاً يُترَك كما هو تماماً.
انظر ماذا كلّف ذلك، ثم نزِّل. تقول كل نتيجة بأي صيغة كُتِبت، وبأي جودة، وهل تغيّرت الأبعاد، وكم تطابق الأصل حين يُقاس. و«قارِن» يضع الصورتين جنباً إلى جنب.
النسخة الأطول
كيف تضغط صورة إلى حجم ملف محدد بالضبطاستمارةُ رفع تريد 500 كيلوبايت وصورتُك 4 ميغابايت. ماذا يكلّف حدُّ الحجم فعلاً، وأيَّ إعداد تحرّك أولاً، ولماذا لا يصغر ملف PNG كما يصغر ملف JPEG.
لا. يفك متصفحك أنت ترميز الملف ويضغطه ويقيسه على جهازك أنت، بمرمِّزات JPEG وPNG وWebP التي يأتي بها المتصفح أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — فهي لا تجلب شيئاً ولا ترسل شيئاً — وContent-Security-Policy الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا.
كيف يبلغ حجماً محدّداً بالضبط؟
بالمحاولة. لا توجد معادلة تحوّل إعداد الجودة إلى عدد بايتات — فذلك متوقّف على الصورة نفسها تماماً — فتُرمّز الأداة الصورة عدة مرات وتبحث عن الجواب. تبدأ من أعلى مدى الجودة وتضيّق بالتنصيف، فتجد أعلى جودة تتّسع للحجم في نحو ثمانية ترميزات. وكل حجم تراه على الصفحة ملف مرمَّز فعلاً، لا تقديرٌ له.
ماذا تعني «أقل خسارة ممكنة» هنا بالضبط؟
ثلاثة أشياء بعينها. أولاً، الصورة التي هي دون حجمك المطلوب أصلاً تمرّ بايتاً بايتاً بلا إعادة ترميز. ثانياً، تُنفَق الجودة قبل الدقة، ولا تنزل إلا إلى حدٍّ تبدأ عنده آثار الضغط في الظهور — وبعد تلك النقطة تصغّر الأداة الصورة وترفع الجودة من جديد، لأن بكسلات أقل وجيدة أحسن منظراً من بكسلات أكثر ومُفسَدة. ثالثاً، متى وُجدت نتيجة تتّسع للحجم عاد البحث يصعد حتى تُستهلك الميزانية، فلا تحصل على ملف بحجم 300 KB وقد طلبت 500 KB.
ما رقما SSIM وPSNR على كل نتيجة؟
هما قياس لما كلّفه الضغط، يُؤخذ بفك ترميز النتيجة ومقارنتها بالصورة الأصلية. يقارن SSIM السطوع والتباين والبنية موضعياً، وهو أقرب بكثير إلى ما تعترض عليه العين من عدّ البكسلات المتغيّرة؛ وفوق 0.98 تقريباً يصعب التفريق بين الاثنتين جنباً إلى جنب. أما PSNR فهو الرقم التقليدي بالديسيبل. ويُحسَب كلاهما على جهازك، ويُعرَضان معاً حتى يكون ادعاء قلة الخسارة قابلاً للتحقق لا مجرد دعوى.
ما الصيغ التي يقرؤها ويكتبها؟
يقرأ كل ما يستطيع متصفحك فك ترميزه، وهو عملياً JPEG وPNG وWebP وGIF وBMP و— على معظم المتصفحات الحالية — AVIF. ويكتب JPEG وPNG وWebP، لأن هذه هي المرمِّزات التي تأتي بها المتصفحات. وعلى وضع «تلقائي» يبقي على الصيغة التي وصل بها ملفك، ولا ينتقل إلى WebP إلا حين يكون الإبقاء عليها مؤدياً إلى تصغير أو إلى هبوط ظاهر في الجودة.
لماذا لا يستطيع ضغط ملف PNG كثيراً؟
لأن PNG بلا خسارة: ليس فيه مقبض جودة يُدار. والسبيل الوحيد إلى تصغير ملف PNG هو إعطاؤه بكسلات أقل أو ألواناً أقل، فحين تختار PNG تبلغ الأداة الحجم المطلوب بالتصغير وحده. فإن كانت الصورة فوتوغرافية، فسيقترب JPEG أو WebP من حجمك المطلوب أكثر بكثير، وبجودة ترى بنفسك أنها سليمة — وإن كانت شعاراً أو لقطة شاشة فيها شفافية، فإن WebP يبقي على الشفافية التي كان JPEG سيملؤها بالأبيض.
هل يزيل ضغطُ الصورة بياناتِ EXIF وGPS منها؟
نعم، كأثر جانبي. فالضغط يعني فك ترميز الصورة إلى بكسلات ثم إعادة ترميز تلك البكسلات، ولوحة البكسلات لا تحمل وسوماً، فالموقع وطراز الكاميرا والأوقات وكل ما عداها لا تُكتَب ببساطة في الملف الجديد. وإن أردت البيانات الوصفية زائلة والصورة على حالها، فاستخدم عارض EXIF ومُزيله بدلاً من هذا — فهو يعيد كتابة الحاوية دون إعادة ضغط أي شيء.
هل هو مجاني، وهل أحتاج إلى حساب؟
هو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية ولا علامة مائية. ولا حدّ لعدد الملفات ولا لأحجامها كذلك، إذ لا خادم يدفع ثمنها — فالعمل يجري على جهازك أنت. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن صورك.
هل يعمل دون اتصال؟
نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل صورك بعيداً لتُضغَط كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.