Base64 هو مخطط ترميز ثنائي إلى نصي يمثل البيانات الثنائية باستخدام مجموعة من 64 حرفًا ASCII قابلًا للطباعة. صُمِّم لنقل البيانات الثنائية بأمان عبر الأنظمة التي لا تتعامل إلا مع النصوص — مثل البريد الإلكتروني (MIME) وترويسات HTTP وXML. جاء اسم "Base64" من الـ64 حرفًا المستخدمة في أبجدية الترميز.
يعمل الترميز عن طريق أخذ ثلاثة بايتات من المدخلات (24 بت) وتقسيمها إلى أربع مجموعات من 6 بت. يُعيَّن كل قيمة من 6 بت إلى حرف واحد في أبجدية Base64. إذا لم يكن طول المدخلات من مضاعفات الثلاثة، تُضاف أحرف الحشو (=) للوصول إلى مضاعف من أربعة أحرف في المخرجات. والنتيجة سلسلة نصية أكبر بنحو 33% من البيانات الأصلية، لكنها آمنة للإرسال كنص عادي.
لماذا تستخدم هذه الأداة؟
يتعامل هذا المشفِّر مع نص Unicode بشكل صحيح، ويدعم كلتا المتغيرتين القياسية وURL-safe، ويشفِّر بالكامل في متصفحك — بياناتك لا تغادر جهازك أبدًا.
⚡
ترميز فوري
تظهر النتائج أثناء الكتابة. لا توجد أزرار للنقر، ولا انتظار لاستجابة الخادم.
يتم جميع الترميز محليًا في متصفحك باستخدام واجهة btoa الأصلية وTextEncoder. لا يُرسل شيء إلى أي خادم.
🎛️
دعم Unicode
يتعامل بشكل صحيح مع Unicode الكامل بما في ذلك الرموز التعبيرية وحروف CJK وأي نص UTF-8 باستخدام encodeURIComponent قبل الترميز.
كيفية استخدام محول Base64 هذا عبر الإنترنت
لا حساب، لا تثبيت، لا رفع ملفات — الصق النص وتظهر النتيجة المشفرة فوراً.
1
الصق نصك أو اكتبه
انقر على حقل الإدخال والصق أي نص — سلاسل عادية، أو حمولات JSON، أو مفاتيح API، أو عناوين بريد إلكتروني، أو أي محتوى UTF-8. يتحدث التشفير بشكل مباشر أثناء الكتابة.
2
اختر النوع
اختر Standard (RFC 4648) لـ MIME وHTTP Basic Auth والاستخدام العام. اختر URL-safe لرموز JWT وبارامترات سلسلة الاستعلام وأسماء الملفات وأي سياق يُفسد فيه + أو / تحليل URL.
3
انسخ النتيجة
انقر على نسخ لإرسال سلسلة Base64 إلى الحافظة بنقرة واحدة. النتيجة جاهزة للصق مباشرة في الكود أو ملف الإعداد أو طلب API.
4
استخدمه في تطبيقك
الصق السلسلة المشفرة أينما احتجت — ترويسات Authorization، أو URIs البيانات، أو حقول JSON، أو متغيرات البيئة، أو أسرار Kubernetes. بالنسبة لمخرجات URL-safe، تمت إزالة الحشو مسبقاً.
أبجدية Base64
يستخدم Base64 64 حرفًا: الأحرف الكبيرة A–Z (القيم 0–25)، والأحرف الصغيرة a–z (26–51)، والأرقام 0–9 (52–61)، وحرفان خاصان للقيمتين 62 و63. تستخدم المتغيرة القياسية RFC 4648 الرمزين + و/؛ وتستبدلهما المتغيرة URL-safe بـ- و_ لتجنب التعارضات في عناوين URL وأسماء الملفات.
A–Z
0–25
ABCDEFGHIJKLMNOPQRSTUVWXYZ
a–z
26–51
abcdefghijklmnopqrstuvwxyz
0–9
52–61
0123456789
+, /
62–63
معيار RFC 4648 — تجنب استخدامه في عناوين URL وأسماء الملفات
تستخدم أبجدية Base64 القياسية + و/ وهما حرفان خاصان في عناوين URL ومسارات الملفات. تستبدل المتغيرة URL-safe هذين الرمزين بـ- و_ وعادةً تحذف أحرف الحشو =. استخدم الترميز URL-safe لرموز JWT والبيانات في سلاسل الاستعلام وأسماء الملفات وأي سياق قد يُساء تفسير + أو / فيه.
المدخل
القياسي
URL-safe
Man
TWFu
TWFu
Hello
SGVsbG8=
SGVsbG8
A
QQ==
QQ
1+1=2
MSsxPTI=
MSsxPTI
حالات الاستخدام الشائعة
مرفقات البريد الإلكتروني (MIME)
صُمِّم SMTP لنص ASCII ذي 7 بتات. يُستخدم ترميز Base64 من قِبل معيار MIME لتضمين المرفقات الثنائية (الصور وملفات PDF والملفات القابلة للتنفيذ) بأمان في رسائل البريد الإلكتروني.
معرّفات URI للبيانات
ضمِّن الصور والخطوط والأصول الأخرى مباشرةً في HTML أو CSS باستخدام معرّفات URI للبيانات: data:image/png;base64,... — مما يلغي طلبات HTTP الإضافية للموارد الصغيرة.
حمولات واجهات برمجة التطبيقات
كثيرًا ما تتطلب واجهات برمجة تطبيقات REST ترميز الحقول الثنائية (رفع الملفات والمفاتيح التشفيرية والشهادات) بـBase64 عند تضمينها في JSON، إذ لا يوجد لـJSON نوع ثنائي.
يُشفِّر ترويسة HTTP Authorization: Basic بيانات الاعتماد بـBase64(اسم_المستخدم:كلمة_المرور). هذا ليس تشفيرًا — بل يوفر ترميزًا للنقل فقط في الترويسات.
رموز JWT
تستخدم رموز JSON Web URL-safe Base64 (base64url) لترميز أجزاء الترويسة والحمولة، مما يجعل الرمز آمنًا للاستخدام في عناوين URL وترويسات HTTP دون هروب.
متى لا تستخدم Base64
Base64 هو ترميز نقل، وليس آلية أمان. هذه أكثر حالات الاستخدام الخاطئ شيوعاً والتي تسبب مشكلات حقيقية في الإنتاج:
✕
ليس للأمان أو التشفير
يمكن عكس Base64 بسهولة تامة — لا يلزم مفتاح أو كلمة مرور لفك تشفيره. يمكن لأي شخص يرى سلسلة Base64 فك تشفيرها في ثوانٍ. لا تستخدم Base64 أبداً كبديل للتشفير أو التجزئة أو التحكم في الوصول.
✕
ليس للضغط
يزيد Base64 حجم المخرجات بنسبة ~33%. إنه عكس الضغط. لا تستخدمه لتقليل حجم الحمولة — استخدم gzip أو Brotli أو zstd بدلاً من ذلك.
✕
ليس لتخزين الملفات الثنائية
تخزين الملفات الثنائية الكبيرة بتنسيق Base64 في قواعد البيانات أو واجهات برمجة تطبيقات JSON يهدر مساحة تخزين وذاكرة كبيرة. استخدم تخزين الكائنات (S3 أو R2 أو Cloudflare) وقدم البيانات الثنائية مباشرة.
أمثلة على التعليمات البرمجية
كيفية ترميز سلسلة نصية بـBase64 في اللغات والبيئات الشائعة:
JavaScript (browser)
// Standard Base64
const encoded = btoa(unescape(encodeURIComponent(text)))
// URL-safe Base64 (no padding)
const urlSafe = btoa(unescape(encodeURIComponent(text)))
.replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '')
توجد عدة محولات Base64 عبر الإنترنت. العوامل التمييزية الرئيسية للاستخدام اليومي للمطورين هي الخصوصية والدقة ودعم الأنواع المختلفة.
خصوصية كاملة — لا خادم
يعمل هذا المحول بالكامل في متصفحك باستخدام واجهة برمجة btoa الأصلية وTextEncoder. لا يُرسَل نصك إلى أي خادم — آمن لمفاتيح API والرموز والأسرار.
ترميز Unicode صحيح
كثير من أدوات Base64 عبر الإنترنت تُفسد بصمت الإدخال غير ASCII. تتعامل هذه الأداة بشكل صحيح مع Unicode الكامل — الرموز التعبيرية وCJK والعربية وجميع نصوص UTF-8 — عن طريق الترميز أولاً إلى بايتات UTF-8.
كلا النوعين في مكان واحد
معظم الأدوات تقدم فقط Base64 القياسي. يوفر هذا المحول كلاً من النوع القياسي (+/) والنوع الآمن للURL (-_) مع معالجة تلقائية للحشو — لا حاجة لاستبدال الأحرف يدوياً.
الأسئلة الشائعة
هل Base64 مماثل للتشفير؟
لا. Base64 مخطط ترميز وليس تشفيرًا. يمكن لأي شخص عكسه بسهولة — لا يلزم مفتاح أو كلمة مرور لفكّه. لا تستخدم Base64 أبدًا لحماية البيانات الحساسة. استخدم التشفير الصحيح (AES وRSA) لهذا الغرض.
لماذا تنتهي مخرجات Base64 بـ= أو ==؟
يعمل Base64 في مجموعات من 3 بايتات (24 بتًا)، منتجًا 4 أحرف Base64. إذا لم تكن طول المدخلات من مضاعفات 3، تُضاف أحرف الحشو (=) لجعل طول المخرجات من مضاعفات 4. تعني = الواحدة أن المجموعة الأخيرة كانت تحتوي على بايتين؛ وتعني == أنها كانت تحتوي على بايت واحد.
ما هو Base64 URL-safe؟
يستبدل Base64 URL-safe (المحدَّد في RFC 4648 §5) + بـ- و/ بـ_ حتى يمكن استخدام السلسلة المرمَّزة في عناوين URL وأسماء الملفات وترويسات HTTP دون ترميز النسبة المئوية. كما يحذف عادةً أحرف الحشو =.
بمقدار كم يزيد Base64 حجم الملف؟
يزيد ترميز Base64 الحجم بنحو 33%. كل 3 بايتات مدخلة تصبح 4 أحرف مخرجة. لملف حجمه 1 ميغابايت، ستكون مخرجات Base64 حوالي 1.37 ميغابايت.
هل يمكنني ترميز ملفات ثنائية بهذه الأداة؟
تُرمِّز هذه الأداة سلاسل نصية (تُعامَل لاحقًا كبايتات UTF-8). لترميز ملفات ثنائية اعتباطية (صور وملفات PDF وملفات قابلة للتنفيذ)، استخدم مكتبة لغة برمجة أو أداة سطر أوامر تقرأ البايتات الخام.
ما الفرق بين btoa() وBuffer.from().toString('base64')؟
btoa() دالة مضمَّنة في المتصفح تعمل على سلاسل Latin-1؛ ستُلقي خطأً للأحرف غير ASCII ما لم تُرمِّزها أولًا إلى بايتات UTF-8 (باستخدام encodeURIComponent). يتعامل Buffer.from(النص).toString('base64') في Node.js مع سلاسل UTF-8 مباشرةً وهو النهج المفضَّل من جانب الخادم.
هل يعمل Base64 مع الملفات الثنائية؟
تقوم هذه الأداة بترميز سلاسل النصوص كبايتات UTF-8 إلى Base64. بالنسبة للملفات الثنائية (الصور وملفات PDF والملفات التنفيذية)، استخدم أداة CLI أو مكتبة لغة تقرأ البايتات الخام. في المتصفح، استخدم FileReader.readAsDataURL() التي تُعيد URI بيانات يحتوي على محتوى ثنائي مشفر بـ Base64.
هل يوجد حد لحجم الترميز؟
تعمل هذه الأداة بالكامل في المتصفح دون حد من جانب الخادم. تعتمد الحدود العملية على ذاكرة متصفحك. للمدخلات الكبيرة جداً (أكثر من بضعة ميغابايت)، أداة CLI مثل base64 (Linux/macOS) أو certutil -encode (Windows) أكثر كفاءة.