شيفرة هذه الصفحة لم تبدأ العمل.

فتح index.html مباشرة من مجلد يمنع المتصفح من تحميل وحدات JavaScript، فلا يحدث شيء عند اختيار ما يدخل فيه. قدّم المجلد عبر HTTP بدلا من ذلك:

powershell -ExecutionPolicy Bypass -File serve.ps1

ثم افتح http://localhost:8080/.

QR وباركود — اصنع رمز QR أو باركود، دون اتصال

اكتبه، فيصير رمزاً. ولا يُرسَل شيء لصنع واحد.

اللغة: العربية
عرض الشيفرة المصدرية
رموزك والنصّ الذي فيها لا تُرفع أبدا. لا يوجد خادم.

رمز QR حسابٌ على سلسلة نصّية: فلا ملف يُرسَل ولا خدمة تُسأل. وكل خطوة — اختيارُ النمط، واختيارُ الإصدار، وتصحيحُ الأخطاء بـ Reed-Solomon، والقناع، وأشرطةُ الباركود ورقمُ التحقّق تحتها — تجري في نحو ألف سطر من JavaScript في هذه الصفحة تستطيع قراءتها. وليست لهذه الأداة وظيفة شبكية من أي نوع، وذلك يهمّ هنا أكثر منه في معظم الصفحات: فالشيء المرمَّز كثيراً ما يكون كلمة مرور Wi-Fi.

فحص حي: جارٍ الفحص…

دون اتصال: جارٍ الفحص…

لا داعي لأن تصدّقنا: افتح أدوات المطوّر، وراقب تبويب «الشبكة»، ثم اكتب كلمة مرور في استمارة Wi-Fi. لن يحمل أي طلب محرفاً واحداً منها. أو اقطع الاتصال بالإنترنت واصنع الرمز رغم ذلك.

1 اختر نوع الرمز

رمزُ QR يحمل أي شيء وهو ما تبحث عنه كاميرا الهاتف. أما الباركود فيحمل رقماً، وأيُّه تحتاج يُقرَّر لك عادةً — يقرّره المتجر أو المستودع أو شركة الشحن التي تطلبه.

2 قل ما الذي يدخل فيه

السلسلة التي سيحملها هذا الرمز بالضبط
 

3 اختر كيف يبدو

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

اطبع المحارف تحته ما يقرؤه الإنسان حين يعجز الماسح. وعلى رمز التجزئة تجلس الأرقام في الهوامش كذلك، وذلك مقصود: فهي تحدّد الفراغ الأبيض الذي لا ينبغي لأحد أن يقلّمه.

أضِف محرف تحقّق Code 39 لا يحمل واحداً عادةً. وبعض الأنظمة تصرّ عليه؛ فأضِفه إن كان نظامك يصرّ لا غير، لأن القارئ الذي لا يتوقّعه سيقرؤه محرفاً زائداً في الآخر.

بلا خلفية البتة شفافة، لوضعه على شيء له لون أصلاً. وملفا SVG وPNG كلاهما يحفظها؛ وما ينتهي خلفه يجب أن يكون فاتحاً، وإلا لم يجد الماسح تبايناً.

رمز QR
اللون والمقاس

4 خذه

ملف SVG هو الذي يُحتفَظ به. فهو الرمز تعليماتٍ لا بكسلات، فيُطبَع بأي مقاس دون أن ينعم — وذلك يهمّ هنا أكثر منه في معظم الصور، لأن الحافّة المغبَّشة هي بالضبط ما لا يستطيع الماسح تمييزه.

عرض بصيغة Markdown

كيف تصنع رمز QR دون رفع أي شيء

  1. اختر نوع الرمز. رمزُ QR يحمل أي شيء وهو ما تبحث عنه كاميرا الهاتف، فهو الجواب ما لم يقل لك أحد غير ذلك. أما الباركود فيحمل رقماً، وأيُّه تحتاج يقرّره من سيمسحه — فالمتجر يريد EAN-13 أو UPC-A، وصندوقُ الشحن ITF-14، وكلُّ ما هو داخلي Code 128 عادةً.
  2. قل ما الذي يدخل فيه. الرابط هو الحالة الشائعة، والحقول التي فوقه تبني الهيئات الأخرى التي تعرفها الهواتف: شبكةُ Wi-Fi تعرض الانضمام إلى نفسها، وبطاقةُ جهة اتصال تعرض أن تُحفَظ، وبريدٌ، ورسالةٌ نصّية، ورقمُ هاتف، وموضعٌ على خريطة. وأياً اخترت، تُعرَض السلسلة المنتهية على الصفحة — فذلك كل ما يحمله رمز QR قط.
  3. اختر كم من التلف يحتمله. المستويات الأربعة تضع تصحيح أخطاء أكثر أو أقلّ، وتصحيحٌ أكثر يعني رمزاً أكبر وأكثف. فـ L يكفي لشاشة، وM لورق عادي، وH لشيء سيُتداوَل أو يُطبَع صغيراً أو يُلصَق على نافذة في الشمس. والرمز الذي على قائمة طعام تُمسَح كل يوم يستحق Q أو H.
  4. اضبط المقاس والهامش والألوان. الهامش جزء من الرمز: فأربع وحدات من الفراغ الهادئ حوله هي ما تطلبه المواصفة، وتقليمُها هو السبب الأشيع بمفرده في ألا يُمسَح رمز مطبوع. وداكنٌ على فاتح، بتباين حقيقي — فالماسح يقرأ الفرق بين الاثنين، فالرماديُّ الشاحب على الأبيض لا يصلح، والفاتحُ على الداكن يفشل صراحةً على كثير من القارئات.
  5. افحصه بالهاتف الذي عندك. قبل أن تطبع ألفاً منه، امسح الذي على شاشتك. فذلك يستغرق عشر ثوانٍ ويلتقط صنف الأخطاء كله الذي لا تلتقطه المعاينة: كلمةُ مرور Wi-Fi فيها محرف كان يحتاج إلى هروب، ورابطٌ نقصه https://، وباركودٌ رقمه ناقص رقماً.
  6. خذ ملف SVG. هو الرمز تعليماتٍ لا بكسلات، فيُطبَع بأي مقاس دون أن ينعم، والحافّةُ الناعمة هي بالضبط ما لا يستطيع الماسح تمييزه. وخذ ملف PNG كذلك إن كان ما تلصق فيه لا يقبل SVG؛ وهو مرسوم بعدد صحيح من البكسلات لكل وحدة، فلا حوافّ مغبَّشة فيه هو الآخر.

النسخة الأطول

كيف تصنع رمز QR يظل يُقرأ على هاتف شخص آخر أيَّ مستوى تصحيح أخطاء تختار، ولماذا يكون الهامشُ الأبيض حول رمز QR جزءاً من الرمز، وبأي مقاس تطبعه، وماذا يكلّفك لاحقاً الرمزُ «الديناميكي» في مولّد مجاني.

أسئلة

هل يُرسَل شيء مما أكتبه إلى أي مكان؟

لا. رمز QR حسابٌ على سلسلة، وذلك الحساب يجري في متصفحك أنت على جهازك أنت. وليست لهذه الأداة وظيفة شبكية من أي نوع — فهي لا تجلب شيئاً ولا ترسل شيئاً أبداً — وContent-Security-Policy الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا. وذلك أثمن هنا منه في معظم الصفحات، لأن أكثر ما يضعه الناس في رمز QR كلمةُ مرور شبكتهم.

هل تنتهي صلاحية هذه الرموز، أو تكفّ عن العمل لاحقاً؟

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

هل هو مجاني، وهل أستطيع استعماله تجارياً؟

هو مجاني، ولا حساب ولا علامة مائية ولا حدّ لعدد ما تصنعه، وتستطيع وضع الناتج على منتج أو ملصق أو واجهة متجر. و«QR Code» علامة تجارية مسجَّلة لشركة Denso Wave، وقد صرّحوا بأنهم لن يمارسوها في مواجهة من يستعمل الرموز — والمواصفة منشورة بوصفها ISO/IEC 18004 وتنفيذها حرّ، وهو ما تفعله هذه الصفحة. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه.

أي مستوى تصحيح أخطاء ينبغي أن أختار؟

M ما لم يكن لديك سبب. فـ L يصنع أصغر رمز ولا بأس به على شاشة؛ وM ينجو من التداول العادي؛ وQ وH لرمز سيُطبَع صغيراً أو يُغلَّف أو يُلصَق على نافذة أو يغطّيه شعار جزئياً. وكل درجة صعوداً تضع بيانات فحص أكثر، وهي تحتاج إلى رمز أكبر عند القدر نفسه من النصّ — فالانتقال من L إلى H يضاعف عدد الوحدات تقريباً للسلسلة نفسها.

كم يستطيع رمز QR أن يحمل؟

عند أكبر مقاس، 177 وحدة مربّعة، حتى 7,089 رقماً، أو 4,296 حرفاً كبيراً ورقماً، أو 2,953 بايتاً من أي شيء آخر — وذلك عند أضعف تصحيح أخطاء؛ وعند أقواه نحو ثلث ذلك. وعملياً ليس الحدُّ الصيغةَ بل الماسح: فبعد بضع مئات من المحارف تصير الوحدات من الصغر بحيث لا تستطيع كاميرا هاتف عادية تمييزها على بُعد ذراع. والرمزُ الطويل علامةٌ عادةً على أن رابطاً قصيراً هو ما ينتمي إليه بدلاً من ذلك.

لماذا يكبر رمزي حين أكتب الرابط بأحرف صغيرة؟

لأن لرمز QR نمطاً للأحرف الكبيرة والأرقام يرصّ محرفين في أحد عشر بتّاً، ولا نمط كهذا للأحرف الصغيرة، وهي تكلّف ثمانية بتّات لكل واحد. فعنوانٌ مكتوب HTTPS://EXAMPLE.COM/PAGE قد يكون أصغر بالثلث من العنوان نفسه بأحرف صغيرة. والمخطَّط والمضيف لا يفرّقان بين الحالتين، فرفعُ صوتهما لا يغيّر شيئاً إلا الحجم؛ أما المسار بعد المضيف فيفرّق، فاتركه وشأنه.

هل يستطيع قراءة رمز QR كما يصنع واحداً؟

ليس هذه الصفحة، لكن التي في الجوار تفعل: القارئ يأخذ صورة أو لقطة شاشة أو كاميرتك ويعيد السلسلة. وهو عملٌ أكبر بكثير من رسم واحد — فإيجادُ الرمز في صورة، وتصحيحُ الميل الذي التُقطت به، وإصلاحُ التلف، ثلاثُ مشكلات ليست عند هذه الصفحة — ولهذا كان أداةً قائمة بذاتها لا زراً هنا. وهو يعمل بالشروط نفسها التي يعمل بها كل شيء آخر: لا يُرفع شيء، ولا يُحفَظ إطارُ كاميرا.

ما فائدة الهامش، وهل أستطيع تصغيره؟

الفراغ الأبيض حول رمز QR جزء من الرمز. فالقارئ يستعمله ليجد أين ينتهي الرمز، والمواصفة تطلب أربع وحدات على كل جانب؛ والباركود يريد نحو عشر. وتستطيع ضبطه على صفر هنا فتبدو الصورة أنظف، وحينئذ سيعجز كثير من الماسحات عن رؤيته أصلاً — ولا سيّما في مقابل خلفية مزدحمة. فإن كانت المساحة هي المشكلة، فصغِّر الرمز بدل أن تقلّم هامشه.

أي باركود أحتاج؟

أيَّه يطلبه من سيمسحه. فـ EAN-13 هو باركود التجزئة خارج أمريكا الشمالية وUPC-A هو باركود أمريكا الشمالية — وكلاهما يحتاج إلى رقم تصدره لك GS1، لأن الرقم يعرّف شركتك لا المنتج وحده. وEAN-8 هو النسخة القصيرة للعبوات الصغيرة. وITF-14 يوضَع على صندوق الشحن. وCode 128 وCode 39 يحملان نصّاً كما يحملان أرقاماً ولا يحتاجان إلى تسجيل البتة، وذلك يجعلهما الجواب الصحيح لكل ما هو داخلي: الأصول والرفوف وأوراق العمل.

ما رقم التحقّق، ولماذا أضافته الأداة؟

هو آخر رقم في باركود التجزئة، محسوبٌ من التي قبله، كي يستطيع الماسح تمييز القراءة الخاطئة من الصحيحة. فـ EAN-13 يريد اثني عشر رقماً ويحسب الثالث عشر؛ وUPC-A يريد أحد عشر ويحسب الثاني عشر. اكتب الرقم القصير فتضيفه هذه الصفحة. واكتب الرقم الكامل فتفحص الذي أعطيته — وترفض، بدل أن تصحّحه في صمت، لأن رقماً خاطئاً يُصلَح بهدوء ملصقٌ يُمسَح على أنه منتج شخص آخر.

هل أستطيع وضع شعار في وسط رمز QR؟

ليس هنا، لكن سبب نجاح ذلك في غيره جدير بالمعرفة: تصحيحُ الأخطاء هو ما يجعله ممكناً. فعند المستوى H يمكن إتلاف نحو 30% من الوحدات ويظل الرمز يُقرأ، فالشعارُ الذي يغطي أقلّ من ذلك في الوسط — حيث لا يجلس نقشُ تحديد — تلفٌ قابل للإصلاح. مرِّر الرمز في محرِّر صورك عند المستوى H، وأبقِ الشعار دون خُمس المساحة تقريباً، وافحصه بهاتف حقيقي بدل أن تثق به.

لماذا ملف SVG أفضل من PNG؟

لأن الرمز حوافّ، ولملف PNG عددٌ ثابت من البكسلات يصنعها منه. فكبِّر واحداً فتنعم كل حافّة؛ والحافّةُ الناعمة هي بالضبط ما يعسر على الماسح، والطابعةُ عند 1200 نقطة في البوصة إذا أُعطيت ملف PNG بـ 512 بكسلاً فإنما يُطلَب منها اختراع الفرق. أما ملف SVG فهو المربّعات تعليماتٍ، فيُطبَع حادّاً على بطاقة عمل أو على لوحة إعلانات. وملفُّ PNG هنا مرسوم بعدد صحيح من البكسلات لكل وحدة، وهو أحسن ما يستطيعه PNG.

هل يعمل دون اتصال؟

نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل نصّك بعيداً ليُرسَم له رمز كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.