Skip to content

تحويل PNG إلى ICO والعكس

حوّل PNG أو JPG أو SVG أو WebP إلى ملف .ico حقيقي متعدد المقاسات: 16 و32 و48 بكسل في ملف واحد مع حفظ قناة ألفا كاملة. اختر التخزين بصيغة PNG أو BMP غير مضغوط وشاهد الحجمين. ويفتح ملفات .ico أيضاً.

بدون تتبّع يعمل في المتصفّح مجاني
يجري التحويل بالكامل في متصفحك. ولا تُرفع صورتك أبداً.

أسقط صورة هنا أو انقر للتصفح

PNG أو JPG أو SVG أو WebP أو GIF أو BMP · حتى 10 ميجابايت

المقاسات المراد تجميعها

المقاسات 16 و32 و48 بكسل هي ما طلبه دليل أيقونات Microsoft لعام 1995، وهي التركيبة الأكثر ظهوراً في أيقونات المواقع الحقيقية. ولا يُعرض 512: فالدليل يخزّن طول الضلع في بايت واحد، فلا تمثيل صالحاً له.

كلاهما مشروع داخل ملف .ico. وقد صار Windows يقرأ PNG منذ Vista وتقرؤه كل المتصفحات الحالية؛ أما BMP غير المضغوط فتستخدمه فعلاً 13 من أصل 14 ملف ICO حقيقي عُثر عليها في 20 موقعاً جرى فحصها، لأن ImageMagick يحوّل إليه افتراضياً.

ما داخل ملف .ico (مثال 16 + 32 + 48 بكسل)
الإزاحة البايتات الحقل القيمة
0 2 idReserved 0
2 2 idType 1
4 2 idCount 3
6 1 bWidth[0] 16 → 16
7 1 bHeight[0] 16 → 16
8 1 bColorCount[0] 0
9 1 bReserved[0] 0
10 2 wPlanes[0] 1
12 2 wBitCount[0] 32
14 4 dwBytesInRes[0] 248
18 4 dwImageOffset[0] 54
22 1 bWidth[1] 32 → 32
23 1 bHeight[1] 32 → 32
24 1 bColorCount[1] 0
25 1 bReserved[1] 0
26 2 wPlanes[1] 1
28 2 wBitCount[1] 32
30 4 dwBytesInRes[1] 720
34 4 dwImageOffset[1] 302
38 1 bWidth[2] 48 → 48
39 1 bHeight[2] 48 → 48
40 1 bColorCount[2] 0
41 1 bReserved[2] 0
42 2 wPlanes[2] 1
44 2 wBitCount[2] 32
46 4 dwBytesInRes[2] 1464
50 4 dwImageOffset[2] 1022
التُقط التفريغ الست عشري وأعداد البايتات ومخرجات الأوامر المقتبسة في هذه الصفحة من ملفات أنتجتها هذه الأداة، وقوبل كل ادعاء عن سلوك فاكّات الترميز بثلاثة تطبيقات مستقلة: مُرمِّز مكتوب من الصفر، وPillow 12.3.0، وفاكّ ترميز ICO الخاص بـChromium. أما ملاحظة أن معظم الأيقونات المنشورة تستخدم صوراً نقطية غير مضغوطة فمصدرها جلب وتحليل ملفات أيقونات عشرين موقعاً معروفاً في سبتمبر 2026. — فريق هندسة Go Tools · Sep 22, 2026

كتبه وراجعه المطوّرون الذين يبنون أدوات التحويل في Go Tools. وبنية الحاوية وأعداد البايتات وأشكال الفشل الموصوفة هنا مصدرها مراجعة مكتوبة للمجال، لا ملخّصات الآخرين عن هذه الصيغة.

إجابات سريعة عن تحويل PNG إلى ICO

ما المقاسات التي يجب أن يحتويها ملف favicon.ico؟

16 و32 و48 بكسل تغطي هذه المقاسات الثلاثة تبويب المتصفح ومبدّل Alt-Tab وسطح المكتب، وهي المجموعة الموصى بها منذ 1995. ولا تُضِف 256 إلا إذا كان على الأيقونة أن تصمد أيضاً في عرض الأيقونات الكبيرة.

هل يمكن لملف .ico واحد أن يحمل عدة مقاسات؟

نعم — فهذا سبب وجودها الصيغة حاوية: ترويسة من ستة بايتات، ومدخل دليل بطول ستة عشر بايتاً لكل صورة، ثم الصور. وكل واحدة منها رسم مستقل، ولهذا تبقى الأيقونة الجيدة حادة عند 16 بكسل.

هل يفقد تحويل PNG إلى ICO الشفافية؟

لا، إن جرى الأمر بشكل صحيح كلتا طريقتَي تخزين الصورة داخل ملف .ico تحملان قناة ألفا كاملة بثمانية بتات. ولا تُفقد الشفافية إلا حين تترك أداة بايتات ألفا فارغة أو تُسقط قناع البت الواحد الذي تقرؤه البرمجيات القديمة بدلاً منها.

كم يبلغ حجم طبقة 256 بكسل داخل ملف .ico؟

264 كيلوبايت دون ضغط، أو بضعة كيلوبايتات بصيغة PNG الطبقة غير المضغوطة بمقاس 256 بكسل تساوي 270,376 بايت بالضبط — 40 بايت ترويسة، و262,144 بايت بكسلات، و8,192 بايت قناع — مهما كانت الصورة. أما تخزين الطبقة نفسها بصيغة PNG فيكلّف عادةً بضعة كيلوبايتات.

ما هو ملف ICO؟

ملف .ico ليس صيغة صورة بقدر ما هو أرشيف صغير من الصور. يبدأ بترويسة من ستة بايتات تذكر عدد الصور بداخله، يليها مدخل في الدليل بطول ستة عشر بايتاً لكل صورة يعطي عرضها وارتفاعها وعدد بايتاتها وموضعها في الملف، ثم تأتي بيانات الصور نفسها. ويمكن تخزين كل صورة بإحدى طريقتين: ملف PNG كامل مُضمَّن كما هو، أو صورة نقطية غير مضغوطة بنمط Windows مُلحق بها من الأسفل قناع شفافية بعمق بت واحد.

هذا التصميم هو سبب قدرة أيقونة الموقع على أن تبدو حادة عند 16 بكسل في تبويب المتصفح وعند 48 بكسل في مدير الملفات — فهي رسوم مختلفة ضُبطت يدوياً عند كل مقاس، لا صورة واحدة يُعاد تحجيمها. وهو أيضاً سبب المفاجآت القليلة في هذه الصيغة. فطول الضلع يُخزَّن في بايت واحد، لذا يُكتب 256 صفراً ولا يمكن كتابة 512 إطلاقاً. كما يسجّل الدليل لكل مدخل مقاساً تسجّله بيانات الصورة نفسها أيضاً، ما يعني أن الاثنين قد يتعارضان — وبرمجيات مختلفة تصدّق أحدهما دون الآخر.

$ file favicon.ico
favicon.ico: MS Windows icon resource - 3 icons, 16x16, 32 bits/pixel, 32x32, 32 bits/pixel

$ python3 -c "from PIL import Image; print(sorted(Image.open('favicon.ico').ico.sizes()))"
[(16, 16), (32, 32), (48, 48)]

ماذا يفعل محوّل ICO هذا

ملف واحد وكل مقاس تحدّده

16 و32 و48 بكسل افتراضياً، وحتى 256. ويُرسم كل مقاس من الأصل على حدة بجودة كاملة بدل تحجيمه من الطبقة الأعلى منه، فلا ترث المقاسات الصغيرة ضبابية مقاس أكبر.

PNG أو BMP غير مضغوط، مع عرض الحجمين

لصيغتَي الحمولة المشروعتين مقايضات شديدة الاختلاف، ومعظم المحوّلات لا تذكر إطلاقاً أيهما تكتب. أما هنا فالأمر مفتاح، ويُعرض حجم الملف الناتج لكل منهما فيُتخذ القرار على رقم لا على تخمين.

شفافية تنجو في كلا المسارين

تُكتب قناة ألفا كاملة، ويُشتق منها قناع البت الواحد الذي تقرؤه البرمجيات القديمة بدلاً منها بدل أن يُترك فارغاً. وترك ذلك القناع فارغاً هو ما يحوّل أيقونة شفافة إلى مربع أسود في الأماكن التي لا تقرأ سوى القناع.

عارض ICO لا مجرد أداة تنزيل

يسرد التبويب العكسي كل صورة داخل ملف .ico بمقاسها الحقيقي وصيغة تخزينها وعمق بتاتها ومصدر شفافيتها — بما في ذلك الصور النقطية القائمة على لوحة ألوان التي ما زالت تستخدمها أيقونات مواقع معروفة. والمتصفح لن يعرض لك سوى واحدة منها.

يخبرك حين يكون الملف متناقضاً

إذا ادّعى الدليل مقاساً لا تطابقه بيانات الصورة، يُشار إلى ذلك. ويُشار كذلك إلى أي PNG مضمَّن سيرميه Firefox — فمُفكِّك ترميز ICO لديه لا يقبل سوى RGB أو RGBA بثمانية بتات، فتختفي عنده طبقة لوحة الألوان أو التدرّج الرمادي تماماً بينما تعرضها بقية المتصفحات كلها. وكلاهما سبب شائع لأن تعمل الأيقونة في برنامج وتظهر فارغة في آخر، ولا يبلّغ عن أيٍّ منهما محوّل آخر.

لا يُرفع شيء

تجري القراءة وتغيير الحجم والتجميع كلها في هذه الصفحة. ولا يصل الملف إلى أي خادم، فلا يبقى شيء لحذفه لاحقاً ولا طابور انتظار.

تحويل PNG إلى ICO في الكود

ImageMagick

magick in.png -define icon:auto-resize=48,32,16 favicon.ico

الجواب المعتاد، وسبب كون كثير من أيقونات المواقع غير مضغوط. تُحوَّل كل طبقة عدا 256 بكسل إلى صورة نقطية قبل التجميع، فتخرج المقاسات الثلاثة في نحو 15 كيلوبايت بدل بضع مئات من البايتات. وتُكتب المقاسات من الأكبر إلى الأصغر.

Python + Pillow

img.save('favicon.ico', sizes=[(16,16),(32,32),(48,48)])

تُضمّن PNG، فتشغل المقاسات الثلاثة نفسها نحو عُشر المساحة. وتقرأ Pillow صيغة ICO جيداً أيضاً: Image.open(f).ico.sizes() تسرد ما بالداخل، وهو أمر مفيد لفحص ملف شخص آخر.

png-to-ico (npm)

npx png-to-ico icon.png > favicon.ico

أداة سطر أوامر أحادية الغرض تأخذ ملف PNG واحداً أو أكثر وتجمّعها حمولات PNG. وهي مريحة داخل سكربت بناء؛ ولا تغيّر المقاس نيابةً عنك، فتزوّدها بكل مقاس ملفاً مستقلاً.

sharp

sharp(input).resize(32).png()

ممتازة لإنتاج ملفات PNG المفردة لكنها لا تكتب حاويات ICO، لذا تُقرن عادةً بإحدى أدوات التجميع أعلاه. وهي مصدر ارتباك شائع حين يكون خط البناء مبنياً أصلاً على sharp.

Go

github.com/Kodeworks/golang-image-ico

تكتب ملف ICO بصورة واحدة انطلاقاً من قيمة image.Image. وهذا يكفي لأيقونة موقع بمقاس واحد؛ أما تجميع عدة مقاسات في حاوية واحدة فيعني كتابة الدليل بنفسك، وهو نحو ثلاثين سطراً.

مصرّفات أيقونات Windows

سكربت موارد .rc وrc.exe

هكذا تُنتج أيقونات التطبيقات عادةً. يُضمّن المصرّف ملف .ico في قسم الموارد داخل الملف التنفيذي؛ والحاوية بداخله بالصيغة نفسها تماماً التي عليها أيقونة موقع ويب.

GIMP

ملف ← تصدير باسم ← .ico

يصدّر كل طبقة من الصورة مقاسَ أيقونة واحداً ويتيح لك اختيار عمق البتات لكل طبقة، بما في ذلك PNG المضغوط. وهو من الأدوات الرسومية القليلة التي تُظهر هذا الخيار بدل أن تحسمه بصمت.

sips على macOS

sips -s format ico in.png --out favicon.ico

يوجد في macOS بالفعل أداة لكتابة ICO: إذ يُدرج sips --formats الصيغة com.microsoft.ico كقابلة للكتابة، وقد أنتج الأمر أعلاه ملفاً سليماً هنا. ما لا يفعله هو حزم عدة مقاسات؛ فالمُخرَج كان طبقة واحدة بمقاس 48×48. أما iconutil الذي تقترحه نتائج البحث عادةً فيُنتج .icns، حاوية Apple الخاصة، التي لا يقرؤها Windows ولا المتصفحات.

أمثلة تحويل PNG إلى ICO بايتاً بايتاً

أول 38 بايتاً من ملف .ico بثلاثة مقاسات

$ xxd -l 38 favicon.ico
00000000: 0000 0100 0300 1010 0000 0100 2000 e903  ............ ...
00000010: 0000 3600 0000 2020 0000 0100 2000 6c05  ..6...  .... .l.
00000020: 0000 1f04 0000                           ......

0000 هو الحقل المحجوز، و0100 يعني النوع 1 (أيقونة لا مؤشّراً)، و0300 يقول إن الصور ثلاث. ثم يأتي أول مدخل في الدليل بطول 16 بايتاً: 10 10 هو 16×16، و00 عدد الألوان، و00 محجوز، و0100 مستوٍ واحد، و2000 هو 32 بت لكل بكسل، وe903 0000 هو 1,001 بايت من الحمولة عند الإزاحة 3600 0000 = 54 — وهي بالضبط 6 + 3 × 16، أي نهاية الدليل. وكل رقم مكتوب بترتيب little-endian عدا المقاسات، فهي بايت واحد لكل منها.

المدخل بمقاس 256 بكسل يخزّن صفراً لا 256

bWidth = 0x00    bHeight = 0x00
256 × 256

في الدليل بايت واحد لكل ضلع، فأكبر رقم يمكن أن يحمله هو 255، و0 مُعرَّف ليعني 256. وهذا أيضاً سبب عدم عرض مقاس 512 بكسل في أي موضع من هذه الصفحة: لا يوجد بايت يعني 512. ومع ذلك يعرضه عدد من المحوّلات على الإنترنت، فتكتب صورة بمقاس 512 بكسل خلف مدخل دليل لا يستطيع وصفها.

المقاسات الثلاثة نفسها بطريقتَي تخزين

16 + 32 + 48 px, PNG payloads
16 + 32 + 48 px, uncompressed BMP payloads
389 bytes
15,086 bytes

الحمولة غير المضغوطة تكلّف 40 + w × h × 4 بايت زائد قناع بعمق بت واحد، فحجمها يعتمد على الأبعاد وحدها ولا يعتمد إطلاقاً على الصورة. ولهذا تستطيع ثلاثة مواقع مختلفة تماماً أن تشحن ثلاث أيقونات مختلفة تماماً في ملفات متطابقة الطول.

بناء الملف نفسه من سطر الأوامر

$ magick logo.png -define icon:auto-resize=48,32,16 favicon.ico
$ file favicon.ico
favicon.ico: MS Windows icon resource - 3 icons, 48x48, 32 bits/pixel, 32x32, 32 bits/pixel

يحوّل ImageMagick كل طبقة عدا مقاس 256 بكسل إلى صورة نقطية غير مضغوطة قبل تجميعها، ولهذا يكون ناتجه نحو 15 كيلوبايت بدل بضع مئات من البايتات. وتفعل Pillow العكس فتُضمّن PNG: Image.open('logo.png').save('favicon.ico', sizes=[(16,16),(32,32),(48,48)]).

تفكيك ملف .ico من جديد

$ magick favicon.ico favicon-%d.png
favicon-0.png   48×48
favicon-1.png   32×32
favicon-2.png   16×16

لا يستطيع المتصفح أن يفعل هذا نيابةً عنك. أعطِ وسم <img> ملف .ico متعدد المقاسات فتحصل على صورة واحدة فقط — أكبرها — مهما كان ترتيب المقاسات بداخله. ومعرفة ما في الملف فعلاً تعني تحليل الحاوية يدوياً، وهو ما يفعله تبويب «ICO ← PNG».

كيف تحوّل PNG إلى ICO

  1. 1

    أسقط صورتك

    تُقبل صيغ PNG وJPG وSVG وWebP وGIF وBMP حتى 10 ميجابايت. ولا يغادر شيء المتصفح: يُقرأ الملف عبر File API ويُرسم كل بكسل على canvas محلي.

  2. 2

    اختر المقاسات

    تبدأ المقاسات 16 و32 و48 بكسل محدَّدة. أضف 64 أو 128 أو 256 إذا كان على الأيقونة أن تصمد في عرض الأيقونات الكبيرة أو على سطح مكتب عالي الكثافة. وإذا كان مصدرك أصغر من أكبر مقاس حدّدته، تقول الصفحة ذلك بدل أن تُكبّره بصمت.

  3. 3

    اختر صيغة التخزين

    PNG هو الافتراضي لأنه أصغر بمرتبة كاملة ولأن كل متصفح حالي وكل إصدار من Windows منذ Vista يقرؤه. بدّل إلى BMP غير المضغوط إذا أردت الشكل الذي توجد عليه فعلاً معظم الأيقونات المنشورة. ويُعرض حجما الملفين جنباً إلى جنب.

  4. 4

    نزّل الملف واربطه بصفحتك

    احفظ ملف .ico، واستخدم زر نسخ وسوم link للحصول على الترميز. وما زال المسار /favicon.ico في الجذر يعمل احتياطياً، لكن المسار الذي أُمرت المتصفحات بتجربته أولاً هو عنصر link الصريح.

لماذا تفسد ملفات ICO

طبقة 256 بكسل مكتوبة 255

يجب أن يكون بايت الدليل لصورة بمقاس 256 بكسل صفراً. وكتابة 255 تبدو خطأً بمقدار واحد لا ضرر منه، لكنها تنتج ملفاً ترفض بعض المتصفحات رسمه بصمت.

✗ خطأ
bWidth = 0xFF   bHeight = 0xFF   ; "255"، والمقصود 256
✓ صحيح
bWidth = 0x00   bHeight = 0x00   ; 0 مُعرَّف ليعني 256

الدليل والصورة يختلفان في المقاس

حين يقول مدخل الدليل 16×16 فوق حمولة هي في الحقيقة 32×32، تنقسم فاكّات الترميز: بعضها يصدّق الدليل فلا يرسم شيئاً، وبعضها يصدّق الحمولة فيعرضها سليمة. فيعمل الملف عندئذٍ على جهاز ويكون غير مرئي على آخر.

✗ خطأ
مدخل: 16×16     حمولة IHDR: 32×32
✓ صحيح
مدخل: 32×32     حمولة IHDR: 32×32

حقل ارتفاع الصورة النقطية غير مضاعَف

داخل الطبقة غير المضغوطة يغطي الارتفاع البيانات اللونية والقناع معاً. وكتابة الارتفاع المجرد تنتج ملفاً يظهر فارغاً في بعض فاكّات الترميز والنصف السفلي من الصورة في غيرها، دون أي خطأ في الحالتين.

✗ خطأ
biHeight = 32        ; لصورة بمقاس 32 بكسل
✓ صحيح
biHeight = 64        ; 2 × 32، البيانات اللونية زائد القناع

طبقة غير مضغوطة بقناة ألفا فارغة

تملأ بعض الأدوات القناع وتترك كل بايت ألفا صفراً. فيقرأ أحد فاكّات الترميز ذلك صورةً شفافة تماماً فتختفي الأيقونة، ويرجع آخر إلى القناع فيعرضها سليمة. وكتابة الاثنين معاً وبشكل متّسق تُغني عن هذا الجدل كله.

✗ خطأ
بايتات ألفا: كلها 0x00   القناع: كله 0x00
✓ صحيح
بايتات ألفا: قيم حقيقية   القناع: مضبوط حيث ألفا < 128

ملف SVG يسحب ملفاً من الإنترنت

تُحجب المراجع الخارجية داخل ملف SVG عند تحويله إلى صورة نقطية، ولا يبلّغ عن ذلك شيء — فلا يُطلق خطأ ويبقى canvas قابلاً للقراءة. ويُخبَز عندئذٍ عنصر الصورة المكسورة النائب داخل الأيقونة. ضمّن الرسم داخل الملف قبل التحويل.

✗ خطأ
<image href="https://cdn.example.com/logo.png"/>
✓ صحيح
<image href="data:image/png;base64,iVBORw0KGgo…"/>

متى تحتاج إلى محوّل PNG إلى ICO

شحن أيقونة لموقع جديد
أسقط الشعار، وأبقِ المقاسات الثلاثة الافتراضية، ثم نزّل favicon.ico وضعه في جذر الموقع. وتمنحك وسوم link المنسوخة الترميز الحديث للأيقونة نفسها إلى جانب ملف SVG وأيقونة Apple touch.
إصلاح أيقونة تبدو جيدة كبيرةً وضبابية صغيرةً
غالباً لا يحتوي الملف إلا على طبقة كبيرة واحدة، وكل ما عداها هو المتصفح وهو يصغّرها. وتجميع طبقة حقيقية بمقاس 16 بكسل، مرسومة من المصدر لا من نسخة 256 بكسل، هو ما يصلح الأمر.
إعطاء تطبيق سطح المكتب أيقونته
تقبل ملفات Windows التنفيذية وبرامج التثبيت والاختصارات صيغة .ico، وتلتقط أجزاء مختلفة من الواجهة مقاسات مختلفة من الملف نفسه. وتجميع 16 و32 و48 و256 يغطي الأيقونات الصغيرة في القوائم ومبدّل Alt-Tab وعروض الأيقونات الكبيرة.
معرفة سبب ظهور أيقونة في مكان دون آخر
افتح الملف في تبويب «ICO ← PNG». فالمقاس الذي يصفه الدليل خطأً، أو طبقة بلا قناة ألفا أصلاً، أو مدخل مقطوع — كلها تظهر في القائمة، وتظل كل طبقة سليمة قابلة للتصدير حتى لو كانت جارتها معطوبة.
استخراج ملفات PNG من ملف .ico قديم
الأيقونات الموروثة عن مشروع قديم كثيراً ما تكون النسخة الوحيدة الباقية من شعار. ويصدّر التبويب العكسي كل طبقة ملف PNG مستقلاً، بما في ذلك الطبقات المخزَّنة كصور نقطية بلوحة ألوان والتي ترفضها معظم المحوّلات.

ما الذي يوجد فعلاً داخل ملف .ico

ستة بايتات، ثم ستة عشر لكل صورة
الترويسة هي 00 00 محجوزة، و01 00 للأيقونة (و02 00 يُعلِّم ملف مؤشّر)، ثم عدّاد من بايتين. وكل مدخل في الدليل هو العرض والارتفاع وحجم لوحة الألوان وبايت محجوز — بايت واحد لكل منها — يليها حقلا المستويات وعمق البتات بطول بايتين، وحقلان بطول أربعة بايتات يعطيان طول الحمولة وإزاحتها. وكل ما هو متعدد البايتات مكتوب بترتيب little-endian.
الصفر يعني 256، و512 لا يمكن التعبير عنه
لأن العرض والارتفاع بايت واحد لكل منهما، يجب ترميز 256 صفراً، وما هو أكبر لا ترميز له إطلاقاً. وكتابة 255 بدل 0 لطبقة بمقاس 256 بكسل ليست تقريباً قريباً — بل تنتج ملفاً ترفض المتصفحات رسمه. والمحوّلات التي تعرض خيار 512 بكسل تكتب مداخل لا تستطيع وصف محتواها.
الطبقة غير المضغوطة تكلّف تماماً 40 + w × h × 4 بايت، زائد قناع
يضيف القناع ceil(w ÷ 32) × 4 بايت لكل صف. فطبقة 16 بكسل تساوي إذن 1,128 بايت، و48 بكسل 9,640، و256 بكسل 270,376 — بصرف النظر عما تعرضه الصورة. وهذه الكلفة الثابتة هي سبب قدرة ثلاثة مواقع لا رابط بينها على شحن أيقونات متطابقة الطول بايتاً ببايت، وسبب عدم عرض طبقة 256 بكسل هنا إلا حين تكون الحمولة PNG.
ترويسة الصورة النقطية تخزّن ضعف الارتفاع
داخل الطبقة غير المضغوطة يصف حقل الارتفاع الصورة النقطية الملونة وقناع الشفافية مكدّسين معاً، فيُكتب ضعف الارتفاع الحقيقي حتى حين لا يحمل القناع أي معلومة. والخطأ في هذا من أهدأ أشكال الفشل في الصيغة: بعض فاكّات الترميز تنتج صورة فارغة، وبعضها ينتج النصف السفلي من الصورة، ولا يبلّغ أيٌّ منها عن خطأ.
حقول المستويات وعمق البتات وعدد الألوان استرشادية في أحسن الأحوال
المواصفة دقيقة بشأنها والملفات الحقيقية تتجاهلها. فموقع توثيق Microsoft نفسه يقدّم أيقونة موقع يدّعي دليلها صفر مستويات وصفر بت لكل بكسل فوق حمولة بأربعة بتات لكل بكسل، وهي تُعرض في كل مكان. وتستنتج فاكّات الترميز الصيغة الحقيقية من الحمولة — توقيع PNG، أو ترويسة الصورة النقطية — لا من الثقة بالدليل.
لم يكن لصيغة ICO يوماً معيار RFC
سُجّل نوع الوسائط image/vnd.microsoft.icon لدى IANA في سبتمبر 2003، والمرجع الذي يستشهد به مقالة من Microsoft عام 1995 عنوانها «Icons in Win32». أما RFC 2361، الذي يُقتبس على نطاق واسع بوصفه مواصفة ICO، فعنوانه في الحقيقة «WAVE and AVI Codec Registries» ولا يذكر الصور إطلاقاً.

إتقان ملف favicon.ico

للويب: جمّع 16 و32 و48 وتوقّف
هذه الثلاثية هي المجموعة الموصى بها منذ 1995، وما زالت التركيبة الأكثر ظهوراً في أيقونات المواقع الحقيقية. والمقاسات الإضافية ليست مجانية — فكل واحد منها طبقة أخرى قد ينزّلها المتصفح قبل أن يعرف أيها يريد.
ارسم طبقة 16 بكسل ولا تكتفِ بتصغير الكبيرة
الشعار الذي ينجح عند 256 بكسل يفقد عادةً خطوطه الرفيعة قبل أن يصل إلى 16. وإذا كان المقاس الصغير مهماً، فبسّط الرسم من أجله — أشكال أقل وخطوط أثقل — وجمّع تلك النسخة المبسّطة طبقةً مستقلة.
استخدم عنصر link وأبقِ /favicon.ico احتياطياً
لا تقول مواصفة HTML للمتصفحات سوى أنها قد تجلب /favicon.ico، وذلك فقط حين لا يوجد عنصر link لأيقونة. فالمسار الموثوق هو عنصر link صريح؛ أما الملف في الجذر فيظل مفيداً لقارئات الخلاصات وزواحف الفهرسة وكل ما لا يحلّل ترميز صفحتك.
أضف مقاساً أكبر من 48 بكسل إذا كانت نتائج البحث مهمة
يطلب دليل أيقونات المواقع لدى Google صورة مربعة لا تقل عن 8 بكسل، ويوصي بتجاوز 48 بكسل لتصمد عبر الواجهات المختلفة. وهو يقبل PNG بالقدر نفسه الذي يقبل به ICO، فلا حاجة لأن يعيش المقاس الكبير داخل ملف .ico أصلاً.
افحص الملف ولا تكتفِ بالنظر إليه
الأيقونة التي تُعرض في متصفحك قد تكون خاطئة رغم ذلك: مدخل دليل غير مطابق، أو قناة ألفا مفقودة، أو طبقة غير قابلة للقراءة — لن يمنع أيٌّ منها ظهور الصورة الوحيدة التي اختارها متصفحك. وفتح الملف في التبويب العكسي يُظهرها كلها.

أسئلة شائعة عن تحويل PNG إلى ICO

كيف أحوّل ملف PNG إلى ملف ICO؟
أسقط ملف PNG في هذه الصفحة، وأبقِ المقاسات 16 و32 و48 بكسل محدَّدة، ثم نزّل النتيجة. ويجري كل شيء في المتصفح، فلا تُرفع الصورة أبداً. أما المكافئ المعتاد في سطر الأوامر فهو magick logo.png -define icon:auto-resize=48,32,16 favicon.ico.
لماذا تبدو أيقونتي ضبابية في المقاسات الصغيرة؟
في الغالب الأعم لأن الملف يحتوي صورة واحدة كبيرة وكل ما هو صغير هو المتصفح وهو يصغّرها لحظياً. ولا يوجد تحويل دون فقدان الجودة بمجرد أن تتقلّص شبكة البكسل: فالخطوط الرفيعة والتفاصيل الدقيقة تختفي دون 24 بكسل تقريباً مهما كانت جودة إعادة التحجيم، ومن ثَمّ فالجودة تحددها المقاسات المحزومة داخل الملف لا المحوّل نفسه. جمّع طبقة حقيقية بمقاس 16 بكسل، وإذا كان الشعار مليئاً بالتفاصيل فبسّط الرسم لتلك الطبقة بدل تصغيره.
هل تكون الصور بالداخل PNG أم BMP غير مضغوط؟
PNG ما لم يكن لديك سبب لخلاف ذلك: فهو أصغر بمرتبة كاملة، وكل متصفح حالي وكل إصدار من Windows منذ Vista يقرؤه. ومع ذلك تبقى الصور النقطية غير المضغوطة الخيار الأشيع في الواقع، أساساً لأن ImageMagick يحوّل إليها افتراضياً، وهي الرهان الأكثر أماناً مع البرمجيات القديمة جداً. وتعرض الصفحة حجمَي الملفين حتى تقرر على رقم.
لماذا لا يوجد خيار 512 بكسل؟
يخزّن الدليل طول كل ضلع في بايت واحد، فأكبر قيمة يمكنه التعبير عنها هي 255، و0 محجوز ليعني 256. ولا سبيل إلى كتابة 512. والمحوّلات التي تعرضه تنتج مدخل دليل لا يصف الصورة التي خلفه، وهي طريقة مضمونة للحصول على أيقونة ترفض بعض البرمجيات عرضها.
هل تبقى صورة PNG ذات خلفية شفافة شفافةً بعد تحويلها إلى ICO؟
نعم. تُكتب قناة ألفا كاملة، ويُشتق قناع البت الواحد الذي تقرؤه البرمجيات القديمة بدلاً منها من القناة نفسها بدل أن يُترك فارغاً — وترك هذا القناع فارغاً هو بالضبط ما يحوّل الخلفية الشفافة إلى مربع أسود في بعض الأدوات. ويُعدّ البكسل شبه الشفاف شفافاً في القناع حين تهبط قيمة ألفا فيه دون النصف، وهو الخيار الوحيد المتاح لأن القناع بت واحد لكل بكسل.
هل يمكنني تحويل ملف SVG إلى ICO؟
نعم، والمصدر المتجهي هو أفضل مُدخل ممكن لأن كل مقاس يُرسم من الهندسة بدل إعادة تحجيمه من صورة نقطية. مع تحفّظ واحد: كل ما يسحبه ملف SVG عبر الشبكة — صورة مرتبطة، أو خط بعيد، أو ورقة أنماط مستوردة — يُحجب أثناء التحويل دون إطلاق أي خطأ. وتفحص الصفحة هذه المراجع وتنبّهك إليها.
هل ما زلت أحتاج إلى ملف favicon.ico في جذر الموقع؟
من المفيد وجوده، لكنه لم يعد المسار الرئيسي. تقول مواصفة HTML إن المتصفحات قد تطلب /favicon.ico، وذلك فقط حين لا يكون في الصفحة عنصر link لأيقونة. فعنصر link هو ما أُمرت المتصفحات باستخدامه أولاً؛ أما الملف في الجذر فيغطي قارئات الخلاصات وزواحف الفهرسة وكل ما لا يحلّل ترميز HTML لديك.
هل يحتاج Google إلى ملف ICO لنتائج البحث؟
لا. يقبل توثيق أيقونات المواقع لدى Google صيغ BMP وGIF وICO وPNG وJPEG وPPM وTIFF، ويشترط صورة مربعة لا تقل عن 8 بكسل، ويوصي بتجاوز 48 بكسل لتبدو صحيحة عبر الواجهات المختلفة. وملف PNG كبير واحد يفي بذلك؛ أما ملف .ico فلكل ما عداه.
لماذا يعرض متصفحي مقاساً واحداً فقط حين أفتح ملف .ico؟
لأن هذا كل ما يستطيع عنصر الصورة أن يعطيك إياه. أعطِ المتصفح ملف .ico متعدد المقاسات فيختار صورة واحدة — أكبرها عملياً — ويبقى الباقي بعيد المنال. وسرد كل طبقة يعني تحليل الحاوية مباشرةً، وهو ما يفعله تبويب «ICO ← PNG» في هذه الصفحة.
ماذا يعني اختلاف الدليل والصورة في المقاس؟
يعني أن الملف متناقض داخلياً، وتتعامل فاكّات الترميز معه بطريقتين متعاكستين: بعضها يصدّق الدليل فينتهي إلى عدم رسم شيء، وبعضها يصدّق بيانات الصورة فيعرضها سليمة. وهذا سبب كلاسيكي لأن تعمل أيقونة على جهاز وتكون غير مرئية على آخر، ولذلك تشير إليه هذه الصفحة حين تفتح ملفاً.
هل تفتح هذه الأداة ملفات ICO التي ترفضها محوّلات أخرى؟
في الغالب نعم. فالطبقات المخزَّنة كصور نقطية بلوحة ألوان — أربعة أو ثمانية بتات لكل بكسل — ما زالت تستخدمها عدة أيقونات مواقع معروفة، وكثير من المحوّلات يرفضها صراحةً. كما تُعالَج الطبقات المعطوبة واحدةً واحدة، فلا يمنع مقاس واحد غير قابل للقراءة تصدير البقية. وتُعلِّم القائمة كذلك أي طبقة PNG مضمَّنة سيتخلّص منها Firefox: فمُفكِّك ترميز ICO لديه لا يقبل سوى RGB أو RGBA بثمانية بتات، فتختفي عنده صورة PNG ذات لوحة ألوان أو تدرّج رمادي. وقد نشر موقع Mozilla نفسه أيقونة بهذه المشكلة بالضبط — فطبقة الـ64 بكسل فيها صورة PNG بلوحة ألوان يُسقطها Firefox بنفسه، ولا تُبقي الأيقونة ظاهرة إلا بقية الطبقات.
هل تُرفع صورتي إلى أي مكان؟
لا. يُقرأ الملف عبر واجهة File API في المتصفح، ويُرسم على canvas في هذه الصفحة، ويُجمَّع في الحاوية بلغة JavaScript تعمل محلياً. ولا يحمل أي طلب الصورة إلى أي مكان، ويمكنك التأكد من ذلك في لوحة الشبكة ضمن أدوات المطوّر في متصفحك — أو بأن تحمّل الصفحة ثم تقطع الشبكة وتُجري التحويل دون اتصال رغم ذلك.

أدوات ذات صلة

عرض جميع الأدوات →

محوّل الأنظمة العددية — ثنائي وست عشري وعشري وثماني

أدوات التحويل

حوّل بين الأنظمة الثنائية والست عشرية والعشرية والثمانية وأي أساس من 2 إلى 36 فوراً — أداة مجانية أونلاين تعمل في متصفّحك. جرّبها الآن.

حاسبة المتمم الثنائي وترميز الأعداد ذات الإشارة

أدوات التحويل

اكتب عدداً صحيحاً ذا إشارة لتحصل دفعة واحدة على الإشارة والمقدار والمتمم الأحادي والمتمم الثنائي والثنائي المزاح، بعرض 4 إلى 64 بت. أو الصق نمط بتات أو بايتاً ست عشرياً لترى قراءاته الخمس جنباً إلى جنب. محلي ومجاني وبلا تسجيل.

حاسبة chmod — صلاحيات ملفات لينكس

أدوات التحويل

حوّل صلاحيات ملفات لينكس بين النظام الثماني (755، 644) ورموز rwx. احصل على أوامر chmod جاهزة للتشغيل، واكشف الإعدادات الخطرة مثل 777 — مجاناً وداخل متصفحك مباشرة.

محوّل ألوان HEX/RGB/OKLCH

أدوات التحويل

حوّل ألوان HEX إلى RGB و HSL و OKLCH و OKLAB و CMYK داخل متصفحك — انسخ أي صيغة بنقرة واحدة. مجاني، بلا تسجيل، ألوانك لا تغادر الصفحة أبداً.

محوّل HEX إلى CMYK

أدوات التحويل

حوّل ألوان HEX إلى CMYK في المتصفح. تقريب ساذج قائم على sRGB لمعاينات الطباعة. مجاني، بلا تسجيل، ألوانك تبقى محلياً.

محوّل HEX إلى HSL

أدوات التحويل

حوّل أي لون HEX إلى HSL في المتصفح — يدعم 3 و6 و8 أرقام مع alpha. مجاني، فوري، بلا تسجيل، ألوانك لا تغادر الصفحة أبداً.