YAML Formatter
جديدValidate, beautify, and convert YAML online. Real-time syntax highlighting, error detection with line numbers, and one-click JSON export.
Input
Formatted output
← paste YAML to see formatted output Runs entirely in your browser. Nothing is uploaded.
تنسيق YAML والتحقق منه فوراً في متصفحك
يقوم منسق YAML بالتحقق من صحة كودك وتجميله في الوقت الفعلي أثناء الكتابة أو اللصق — دون الحاجة إلى الضغط على أي زر. يُنظِّم المسافات البادئة، ويُبرز أخطاء الصياغة مع أرقام الأسطر والتفسيرات، ويوفر تحويلاً بنقرة واحدة إلى JSON. يتمتع المحرر بتمييز كامل للصياغة باستخدام خصائص CSS المخصصة التي تتكيف مع تفضيل المستخدم للوضع الداكن أو الفاتح. يعمل كل شيء على جانب العميل باستخدام محلل YAML بلغة JavaScript — ملفات الإعداد الخاصة بك لا تغادر جهازك أبداً.
يُستخدم YAML (اختصار YAML Ain't Markup Language) في تقريباً كل مشروع برمجي حديث: سير عمل GitHub Actions، وملفات بيان Kubernetes، وملفات Docker Compose، وكتيبات Ansible، ومخططات Helm، وإعدادات CI/CD، وملفات إعداد التطبيقات. صُمِّم ليكون مقروءاً للإنسان، لكن حساسيته للمسافات البادئة وأحرفه الخاصة تجعل كتابة YAML غير صحيح أمراً سهلاً بشكل مفاجئ، إذ لا يفشل إلا في وقت التشغيل — حين يكون الأوان قد فات. يلتقط المنسق الحي هذه الأخطاء في ثوانٍ.
أخطاء YAML الشائعة وكيف يكتشفها المحقق
أكثر أخطاء YAML شيوعاً هو استخدام علامات الجدولة (Tab) بدلاً من المسافات. يحظر YAML أحرف الجدولة في المسافات البادئة — تبدو مطابقة للمسافات في معظم محررات النصوص لكنها تسبب فشل التحليل فوراً. يكتشف المحقق ذلك ويخبرك بالضبط أي سطر يحتوي على علامة الجدولة. ثاني أكثر الأخطاء شيوعاً هو وجود نقطتين دون علامات اقتباس في القيم: `title: Hello: World` غامض — يرى المحلل مفتاحاً متداخلاً. ضع القيمة بين علامات اقتباس: `title: "Hello: World"`. والثالث هو عدم اتساق المسافات البادئة: إذا كان مقطع ما مسافته البادئة مسافتان في مكان وثلاث في آخر، قد يسيء المحلل قراءة مستوى التداخل.
أخطاء شائعة أخرى: المفاتيح المكررة في نفس التعيين (مسموح به تقنياً في YAML 1.1 لكنه غير قانوني في 1.2، ومرفوض من معظم المحللين)؛ غياب المسافات بعد النقطتين (`مفتاح:قيمة` غير صحيح، يجب `مفتاح: قيمة`)؛ استخدام المراسي والأسماء المستعارة بشكل غير صحيح؛ ومفاجآت التحويل الضمني للنوع (تصبح السلسلة النصية `yes` قيمة منطقية `true` في محللي YAML 1.1). يُبلَّغ عن كل هذه الأخطاء بلغة واضحة، وليس مجرد طرح خام لرسالة خطأ المحلل.
تحويل YAML إلى JSON — متى ولماذا
JSON وYAML تنسيقا بيانات متكافئان دلالياً (مع بعض الاستثناءات). YAML هو مجموعة شاملة من JSON — فJSON الصحيح يُعدّ أيضاً YAML صحيحاً. يُفيد تحويل YAML إلى JSON عند العمل مع أدوات أو واجهات برمجية تقبل JSON فقط، أو عند الرغبة في استخدام `jq` للاستعلام من ملف إعداد YAML (يعمل jq على JSON). يحلل زر "نسخ بصيغة JSON" ملف YAML الخاص بك ويحوله إلى JSON منسق بمسافة بادئة مقدارها مسافتان.
ملاحظة مهمة: لا تُحفظ تعليقات YAML (الأسطر التي تبدأ بـ `#`) في مخرجات JSON لأن JSON لا يملك صياغة للتعليقات. تُحلّ المراسي والأسماء المستعارة في YAML — يُظهر JSON القيم النهائية المباشرة. يُحوَّل YAML متعدد المستندات (مستندات متعددة مفصولة بـ `---`) إلى مصفوفة JSON تحتوي على كل مستند كعنصر. إن احتجت إلى العملية العكسية (JSON إلى YAML)، الصق JSON في هذا المنسق — إذ أن JSON يُعدّ YAML صحيحاً، فسيُحلَّل ويُعاد تنسيقه بشكل نظيف.
منسق YAML مقارنةً بـ yamllint وYAML Lint وYAML Checker
yamllint هو أداة سطر الأوامر المعيارية لفحص YAML — شاملة وقابلة للضبط وتُستخدم في مسارات CI. لكنها تتطلب Python وpip وطرفية برمجية، مما يجعلها غير ملائمة للفحوصات السريعة على جهاز أحد أعضاء الفريق أو في بيئة المتصفح. YAML Lint (yamllint.com) هو أكثر البدائل عبر الإنترنت شيوعاً لكنه يعرض الأخطاء فقط — لا تنسيق، لا تمييز صياغة، لا تحويل إلى JSON. YAML Checker (yamlchecker.com) يُنسِّق ويتحقق لكن واجهته عبارة عن حقل نص عادي بلا تمييز ولا مخرجات JSON. Transform.tools يُجري التحويل من YAML إلى JSON لكن دون تحقق في الوقت الفعلي.
يجمع هذا المنسق كل هذه القدرات في مكان واحد: تحقق حي مع شرح الأخطاء، مخرجات منسقة مع تمييز الصياغة، تحويل JSON بنقرة واحدة، ودعم متعدد المستندات — يعمل كلياً في متصفحك بلا خادم خلفي. إنه أسرع طريق من "هل هذا YAML صحيح؟" إلى "إليك النسخة المنسقة الخالية من الأخطاء" للمطورين الذين يفضلون عدم تثبيت أدوات أو التسجيل في خدمات.
استخدامات عملية — Kubernetes وGitHub Actions وDocker Compose
لمستخدمي Kubernetes: الصق بيانك قبل تطبيقه بـ `kubectl apply` لاكتشاف أخطاء الصياغة مبكراً. خطأ واحد في المسافة البادئة في مواصفة Pod أو تعريف Service سيُفشل `kubectl` برسالة خطأ غامضة؛ اكتشافه هنا أولاً يوفر الوقت. لمستخدمي GitHub Actions: الصق ملف `.github/workflows/*.yml` للتحقق قبل الإيداع. تفشل سير العمل المشوهة بصمت (لا تُنفَّذ الإجراءات ببساطة) وتصحيحها في واجهة GitHub بطيء. لمستخدمي Docker Compose: تحقق من `docker-compose.yml` قبل تشغيل `docker compose up` — مهم بشكل خاص للملفات متعددة الخدمات حيث قد يصعب اكتشاف خطأ في تعريف خدمة متداخلة.
لمستخدمي Ansible: الصق كتيبات التشغيل أو ملفات الجرد أو ملفات المتغيرات للتحقق من بنية YAML قبل تشغيل `ansible-playbook`. لمؤلفي مخططات Helm: تحقق من `values.yaml` أو قوالب المخطط. لكل من يكتب إعداد CI/CD بصيغة YAML (GitLab CI وCircleCI وBitbucket Pipelines وTravis CI): الصق الإعداد وتحقق منه قبل الرفع. في جميع هذه الحالات، تكلفة ملف YAML غير صحيح هي بناء أو نشر فاشل — اكتشافه هنا أولاً يكون دائماً أسرع.
Frequently asked questions
كيف أنسّق YAML عبر الإنترنت؟
الصق YAML الخاص بك في المحرر على اليسار، وسيُنسَّق تلقائياً ويُتحقق منه في الوقت الفعلي على اليمين. يُطبِّع المنسق المسافات البادئة على مسافتين، ويُزيل المسافات الزائدة في نهاية الأسطر، ويعرض YAML مع تمييز الصياغة. إن وُجدت أخطاء في الصياغة، تُبرز مباشرةً مع شرح لما هو خاطئ والسطر الذي يحتوي على المشكلة. لا حاجة لضغط أي زر — يحدث التنسيق أثناء الكتابة أو اللصق.
كيف أتحقق من YAML للكشف عن أخطاء الصياغة؟
الصق YAML الخاص بك وسيحلله المحقق فوراً باستخدام محلل YAML على جانب العميل. إن كان YAML غير صحيح، ستظهر لافتة خطأ حمراء تحتوي على رسالة الخطأ المحددة ورقم السطر — نفس نوع الخطأ الذي ستُطلقه مسارة CI/CD (مثل GitHub Actions أو Kubernetes). تشمل أخطاء YAML الشائعة: المسافات البادئة الخاطئة (علامات جدولة بدلاً من مسافات — YAML يتطلب مسافات)، وغياب النقطتين بعد المفاتيح، والمفاتيح المكررة، أو الأحرف الخاصة غير المقتبسة كالنقطتين في القيم.
هل يمكنني تحويل YAML إلى JSON؟
نعم — يوجد زر "نسخ بصيغة JSON" يحلل YAML الخاص بك ويُخرج JSON المكافئ منسقاً وجاهزاً للاستخدام. هذا مفيد عندما يكون لديك ملف إعداد YAML (مثل سير عمل GitHub Actions أو بيان Kubernetes) وتحتاج إلى نفس البيانات بصيغة JSON لواجهة برمجية أو نص برمجي أو أداة تقبل JSON فقط. التحويل بلا فقدان للبيانات لـ YAML القياسي — لا تُحفظ التعليقات في JSON لأنه لا يملك صياغة تعليقات.
لماذا يحتاج YAML إلى منسق؟
YAML حساس للمسافات البادئة: مسافة زائدة واحدة أو علامة جدولة حيث كانت مسافة متوقعة ستوقف عملية التحليل. هذا يجعل تحرير YAML يدوياً عرضة للأخطاء، خاصةً في الإعدادات المتداخلة بعمق كبيانات Kubernetes وملفات Docker Compose وسير عمل GitHub Actions وكتيبات Ansible. يُطبِّق المنسق مسافات بادئة متسقة، وينظِّم المسافات الزائدة، ويكتشف أخطاء الصياغة قبل وصولها إلى مسار CI/CD أو النشر.
هل يبقى YAML الخاص بي خاصاً؟
نعم — كل شيء يعمل في متصفحك. لا يُرسل كود YAML الخاص بك إلى أي خادم، ولا يُخزَّن، ولا يُسجَّل. هذا مهم بشكل خاص لملفات YAML التي قد تحتوي على أسرار الإعداد ومفاتيح API وبيانات اعتماد قواعد البيانات. على عكس أدوات YAML عبر الإنترنت التي ترسل محتواك إلى خادم خلفي للمعالجة، يحلل هذا المنسق وينسق بالكامل في متصفحك باستخدام JavaScript.
هل يعمل على iPhone وAndroid؟
نعم. المحرر متجاوب ويعمل في Safari على iPhone وChrome على Android. يعمل لصق YAML من الحافظة على الأجهزة المحمولة، وتُعرض المخرجات المنسقة ورسائل الخطأ بوضوح على الشاشات الصغيرة. نظراً لأن كل شيء يعمل على جانب العميل، يكون التنسيق فورياً دون رحلة إلى الخادم.
هل أحتاج إلى التسجيل أو الدفع؟
لا. منسق YAML مجاني تماماً بلا حساب مطلوب وبلا حدود للاستخدام. يمكنك تنسيق YAML والتحقق منه وتحويله بقدر ما تريد. وسيبقى مجانياً دائماً.
Related tools
عرض كل الأدواتمدقّق الفروقات
قارن نصّين وأبرِز كل اختلاف بينهما، جنبًا إلى جنب أو ضمن السطر.
ترميز / فك ترميز URL
رمّز النص بترميز النسبة المئوية أو فُكّه، وحلِّل سلاسل الاستعلام، كل ذلك داخل متصفحك.
ترميز / فك ترميز كيانات HTML
رمّز كيانات HTML وفُكّ ترميزها، مع خيار الترميز الرقمي.
منشئ تعبيرات Cron
اشرح جدول Cron بلغة بسيطة وعاين أوقات تشغيله القادمة.
مصغّر HTML
اضغط شيفرة HTML بإزالة التعليقات وطيّ المسافات البيضاء.
مصغّر CSS
قلّص حجم CSS بإزالة التعليقات والمسافات البيضاء غير الضرورية.