Base64 إلى صورة (مجاني، سريع وخاص)

قم بلصق كود الـ Base64 الخاص بك وشاهد الصورة المحولة وقم بتحميلها مجدداً بسهولة مطلقة.

الخصوصية أولاً

  • الملفات لا تغادر متصفحك أبداً
  • لا رفع إلى الخادم
  • تتم المعالجة محلياً على جهازك

أين تصادف سلاسل Base64 في عملك اليومي

إذا كنت مطور واجهات أمامية، فغالباً قابلت Base64 في سياقات مختلفة دون أن تنتبه:

استجابات واجهات البرمجة (APIs): كثير من الواجهات تُرجع الصور مُشفرة بـ Base64 داخل JSON بدلاً من روابط URL. هذا شائع في واجهات معالجة الصور، وأنظمة التعرف على النصوص (OCR)، وأدوات الذكاء الاصطناعي التوليدية.

حقول في قواعد البيانات: بعض أنظمة إدارة المحتوى تُخزن الصور المصغرة (thumbnails) كنصوص Base64 في حقول TEXT لتجنب إدارة ملفات منفصلة. عند تصدير البيانات أو نقلها، تجد نفسك أمام سلاسل طويلة من الأحرف.

قوالب البريد الإلكتروني: لضمان ظهور الصور في جميع عوائد البريد، يُضمّن المصممون الصور كـ Base64 مباشرة في جسم الرسالة HTML.

ملفات التكوين والإعداد: بعض الأدوات مثل Docker و Kubernetes تقبل شهادات SSL ومفاتيح التشفير كنصوص Base64. وهنا يختلط الأمر — ليس كل شيء مشفر بـ Base64 هو صورة.

لماذا يفشل فك التشفير اليدوي

المحاولة الأكثر تكراراً هي استخدام JavaScript مباشرة في وحدة التحكم (Console):

atob('iVBORw0KGgoAAAANSUhEUg...')

هذه الطريقة تُرجع سلسلة نصية ثنائية (binary string) — لكنها لا تُنتج ملف صورة. تحتاج خطوة إضافية لإنشاء Blob ثم Object URL ثم ربطها بعنصر أو .

المشكلة الأكبر: دالة atob() الأصلية في JavaScript لا تتعامل بشكل صحيح مع البايتات الثنائية خارج نطاق ASCII الأساسي (0-127). الصور تحتوي على بايتات كاملة (0-255)، مما يعني أن بعض البايتات ستفقد أثناء التحويل. النتيجة: صورة مشوهة أو ملف تالف.

الحل الصحيح يتطلب استخدام Uint8Array و atob() معاً، أو اللجوء إلى مكتبة متخصصة. أو ببساطة — استخدام أداة جاهزة تتعامل مع كل هذا تعقيداً خلف الكواليس.

مشكلة البادئة: عندما لا يتعرف المُحلل على نوع الصورة

سلاسل Base64 للصور تأتي بتنسيقين مختلفين:

مع بادئة Data URI:
data:image/png;base64,iVBORw0KGgo...

بدون بادئة:
iVBORw0KGgo...

الفرق حاسم. السلسلة التي تحتوي على بادئة Data URI تخبر المُحلل بنوع الصورة (PNG، JPEG، GIF، WebP) وآلية التشفير (base64). بدون هذه البادئة، يتعين على الأداة تحليل البايتات الأولى من البيانات المفكوكة للتعرف على نوع الملف — وهي مهمة شبيهة بما يفعله أمر file في نظام Linux.

الجزء الأول من أي ملف صورة يحتوي على "توقيع سحري" (magic bytes): ملفات PNG تبدأ بـ 89 50 4E 47، وملفات JPEG تبدأ بـ FF D8 FF. أداة فك التشفير الجيدة تقرأ هذه التوقيعات تلقائياً.

صيغ الصور المختلفة وما يعنيه ذلك لعملك

ليس كل سلسلة Base64 تُنتج نفس النوع من الصور، واختيار الصيغة له تبعات عملية:

PNG: الصيغة الأكثر شيوعاً في البيانات المشفرة Base64، خصوصاً للصور التي تحتاج شفافية (transparency). السلسلة المشفرة لصورة PNG تكون أطول بنسبة ~33% من حجم الملف الأصلي بسبب طبيعة التشفير. صورة PNG بحجم 100 كيلوبايت ستصبح سلسلة Base64 بحجم ~133 كيلوبايت من النص.

JPEG: شائع في الصور الفوتوغرافية. لا يدعم الشفافية. السلسلة المشفرة تكون أقصر نسبياً مقارنة بـ PNG لنفس المحتوى البصري لأن JPEG يستخدم ضغطاً فعالاً للصور ذات الألوان المتعددة.

WebP: بدأ يظهر بشكل متزايد في واجهات APIs الحديثة. يجمع بين ضغط JPEG والشفافية الخاصة بـ PNG. عند فك تشفيره، قد تحتاج أداة لا تدعم WebP — تأكد أن الأداة المستخدمة تتعرف على هذه الصيغة.

GIF: نادر في سياق Base64 بسبب حجمه الكبير، لكنه موجود في بعض الأنظمة القديمة. السلسلة المشفرة لصورة GIF متحركة قد تصل إلى عدة ميغابايتات.

التعامل مع الأخطاء الشائعة أثناء فك التشفير

عندما يفشل التحويل، السبب غالباً واحد من هذه الحالات:

سلسلة مقطوعة: إذا نسخت السلسلة من واجهة برمجية تعرضها في حقل قابل للتمرير، فغالباً لن تنسخها كاملة. بعض الأدوات تقطع النص الطويل تلقائياً بعد عدد معين من الأحرف. الحل: استخدم خيار "نسخ" المخصص للواجهة، أو تحقق من طول السلسلة المتوقع.

أحرف غير صالحة: Base64 يستخدم فقط 64 حرفاً (A-Z، a-z، 0-9، +، /) وحرف التعبئة =. أي حرف خارج هذا النطاق (مسافات، أسطر جديدة، محارف Unicode) يُسبب خطأ. كثير من الأنظمة تُضيف أسطراً جديدة تلقائياً كل 76 حرفاً لأسباب تاريخية — الأداة الجيدة تتجاهلها.

طول غير صحيح: طول سلسلة Base64 الصالحة يجب أن يكون من مضاعفات 4 (مع حشو = في النهاية إذا لزم الأمر). إذا كان الطول غير مناسب، فالأرجح أن السلسلة ناقصة.

محتوى مُعمّى (encoded twice): بعض الأنظمة تقوم بترميز Base64 مرتين — مرة للمحتوى الأصلي ومرة أخرى لنقله بأمان. في هذه الحالة، تحتاج لفك التشفير مرتين. يمكنك التعرف على هذا من بادئة data:image/png;base64,data:image/png;base64,.

تحويل مُتسلسل: من Base64 إلى صورة ثم إلى CSS أو أداة أخرى

في سير عمل تطوير الواجهات، غالباً لا تتوقف عند فك التشفير. بعد استعادة الصورة من Base64، قد تحتاج:

تحويلها إلى CSS Box Shadow: إذا كنت تبني تأثيرات بصرية تعتمد على صورة معينة، يمكنك تحويل الصورة المستعادة إلى خاصية CSS box-shadow باستخدام أداة تحويل الصورة إلى CSS Box Shadow.

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

تحسينها للويب: بعد فك التشفير، قم بضغط الصورة وإزالة البيانات الوصفية (metadata) غير الضرورية لتقليل حجمها قبل إعادة نشرها.

هذا النمط — فك تشفير ثم معالجة ثم إعادة تشفير — هو سير العمل الأكثر شيوعاً في مشاريع الويب التي تعتمد على واجهات برمجية تُرجع الصور كنصوص.

كيفية استخدام هذه الأداة

  1. حدد السلسلة النصية المشفرة من مصدرها — سواء كانت في استجابة JSON أو ملف أو حتى رسالة بريد إلكتروني. تأكد من نسخها كاملة بدون أي محارف ناقصة في البداية أو النهاية. إذا كانت السلسلة تبدأ بـ data:image/png;base64, فهذا طبيعي ويمكنك لصقها كما هي.
  2. افتح أداة تحويل Base64 إلى صورة على Pixes.app والصق السلسلة في حقل الإدخال. الأداة ستتعرف تلقائياً على نوع الصورة (PNG، JPEG، WebP، GIF) من البيانات المشفرة.
  3. بعد الضغط على "تحويل"، ستظهر الصورة المستعادة فوراً مع معلومات إضافية مثل الأبعاد ونوع الملف وحجمه. اضغط "تحميل" لحفظها على جهازك بالصيغة الأصلية.

أدوات ذات صلة

الأسئلة الشائعة (FAQ)

هل آمن لصق سلسلة Base64 في أداة أونلاين؟
أداة Pixes.app تُنفذ فك التشفير بالكامل داخل متصفحك — البيانات لا تُرسل إلى أي خادم خارجي. السلسلة تبقى على جهازك طوال عملية التحويل. هذا مهم خصوصاً إذا كانت السلسلة تحتوي على معلومات حساسة مثل صور المستندات أو الشهادات.
لماذا حجم الصورة المستعادة أكبر من المتوقع؟
سلسلة Base64 نفسها أكبر بنسبة ~33% من الملف الثنائي الأصلي بسبب آلية التشفير. لكن الصورة المستعادة ستكون بنفس حجم الملف الأصلي. إذا بدا الحجم كبيراً، فهذا يعني أن الصورة الأصلية كانت كبيرة الحجم فعلاً — وليس بسبب عملية فك التشفير.
هل يمكن تحويل Base64 إلى صورة متحركة GIF؟
نعم، إذا كانت السلسلة الأصلية تحتوي على صورة GIF متحركة، فإن فك التشفير سيستعيدها كاملة مع إطاراتها المتحركة. تأكد من تحميل الملف بصيغة GIF وليس PNG أو JPEG.
ما الفرق بين data:image/png;base64 و data:image/jpeg;base64؟
البادئة تحدد نوع الصورة الأصلية. data:image/png;base64 يعني أن البيانات المشفرة تُمثل صورة PNG (تدعم الشفافية)، بينما data:image/jpeg;base64 يعني صورة JPEG (بدون شفافية، لكن بضغط أفضل للصور الفوتوغرافية). الأداة تتعرف على النوع تلقائياً من البادئة أو من التوقيع السحري للملف.