محوّل .env إلى JSON
الصق ملف .env واحصل على JSON فورًا. كلمات مرور قاعدة بياناتك ومفاتيح API لا تغادر متصفحك أبدًا — خاص 100٪، بلا رفع، محلّل dotenv مجاني.
الخيارات · مسافتان · سلاسل نصية
ما هو ملف .env؟
ملف .env (ملف dotenv) قائمة نصية بسيطة من أزواج KEY=VALUE تُستخدَم لإبقاء التهيئة والأسرار خارج الكود المصدري. وهو المعيار الفعلي لمتغيّرات البيئة في Node.js وVite وNext.js وPython وRuby وDocker Compose وكل إطار عمل حديث تقريبًا — تحمّل مكتبة dotenv ونُسخها الملف وتحقن كل زوج في بيئة العملية. ولأن الملف يحتوي عادةً على كلمات مرور قواعد البيانات ومفاتيح API وأسرار عملاء OAuth ورموز الوصول، فهو دائمًا تقريبًا مُستبعَد من git ويُعامَل كحساس.
تحويل ملف .env إلى JSON مهمة متكرّرة: تحتاج لتغذية التهيئة في أداة تقرأ JSON، أو التحقق منها مقابل JSON Schema، أو استيرادها في مدير أسرار، أو توليد كائنات تهيئة مكتوبة الأنواع، أو ببساطة معاينة ملف .env طويل بنظرة واحدة كبيانات منظّمة. يحوّل هذا المحوّل القائمة المسطّحة من الأزواج إلى كائن JSON واحد، خاصية واحدة لكل مفتاح.
بُنيت هذه الأداة حول بضعة قرارات مدروسة:
**1. سلاسل نصية افتراضيًا، أنواع عند الطلب.** لا تحوّل dotenv الأنواع أبدًا — فأثناء التشغيل كل قيمة process.env سلسلة نصية. يحترم الناتج الافتراضي ذلك تمامًا، فيطابق الـ JSON ما يراه تطبيقك فعليًا. وعندما تريد JSON مكتوب الأنواع، يرقّي مفتاح استنتاج الأنواع الاختياري الأرقام والقيم المنطقية وقيم null غير المقتبسة، بينما تبقى القيم المقتبسة سلاسل نصية لأن الاقتباس إشارة صريحة.
**2. تحليل dotenv أمين.** التعليقات والأسطر الفارغة وبادئة export والاقتباس المفرد مقابل المزدوج وتسلسلات الهروب والقيم المزدوجة الاقتباس متعددة الأسطر والتعليقات الداخلية على القيم غير المقتبسة — كلها تُعالَج بالطريقة التي تعالجها بها مكتبة dotenv — بلا مفاجآت عند مقارنة الـ JSON بما يحمّله تطبيقك.
**3. أمان المفاتيح المكرّرة.** عندما يُعرَّف مفتاح مرتين تفوز القيمة اللاحقة، ويخبرك تحذير بأي المفاتيح تكرّر كي لا يفلت سر مظلَّل عرضًا دون ملاحظة.
**4. خصوصية في المتصفح 100٪.** لا تغادر بيانات .env لديك المتصفح أبدًا. لا رفع ولا ذهاب وإياب إلى خادم ولا تسجيل — يمكنك التحقق من صفر طلبات شبكة في تبويب الشبكة بأدوات المطوّر. هذه الطريقة الوحيدة المسؤولة لتحويل ملف .env حقيقي عبر الإنترنت، لأن الملف في جوهره قائمة بيانات اعتماد.
بعد التحويل، يمكنك تنسيق الناتج أو التحقق منه بأناقة عبر منسّق JSON، أو تهريبه لتضمينه في سلسلة أخرى عبر تهريب JSON، أو الذهاب في الاتجاه الآخر مع محوّل JSON إلى .env المرافق. وإذا كانت تهيئتك في YAML بدلًا من ذلك، جرّب YAML إلى JSON.
// Parse a .env file to a JSON object in Node.js using dotenv
import { parse } from 'dotenv';
const envText = `# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DEBUG=true`;
// dotenv.parse returns a plain object of string values
const parsed = parse(envText);
// Every value is a string, just like process.env
const json = JSON.stringify(parsed, null, 2);
console.log(json);
// {
// "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
// "DEBUG": "true"
// } الميزات الرئيسية
تحليل dotenv أمين
يعالج التعليقات وبادئة export والاقتباسات المفردة والمزدوجة وتسلسلات الهروب (\n \t \r \\ \") والقيم المزدوجة الاقتباس متعددة الأسطر والتعليقات الداخلية — بالضبط كما تفعل مكتبة dotenv.
سلاسل نصية افتراضيًا، أنواع عند الطلب
القيم سلاسل نصية في JSON افتراضيًا لتطابق سلوك dotenv أثناء التشغيل. فعّل استنتاج الأنواع لترقية الأرقام والقيم المنطقية وقيم null غير المقتبسة؛ وتبقى القيم المقتبسة سلاسل نصية دائمًا.
تحذيرات المفاتيح المكرّرة
إذا عُرِّف مفتاح مرتين تفوز القيمة الأخيرة (سلوك dotenv) ويسرد تحذير كل مفتاح مكرّر، كي لا يفلت سر مستبدَل بصمت دون ملاحظة.
تحويل حيّ
يتحدّث ناتج JSON فورًا أثناء الكتابة أو اللصق. تنتقل المدخلات الكبيرة (أكثر من 200KB) تلقائيًا إلى الوضع اليدوي بزر تحويل للحفاظ على استجابة المتصفح.
مسافة بادئة 2 أو 4
بدّل بين مسافة بادئة بمقدار مسافتين و4 مسافات في ناتج JSON ليطابق نمط قاعدة كودك أو أدواتك اللاحقة.
خصوصية في المتصفح 100٪
يجري كل التحليل محليًا في متصفحك. بيانات .env لديك — كلمات مرور قواعد البيانات ومفاتيح API والرموز — لا تُرفع ولا تُسجَّل ولا تُخزَّن على أي خادم أبدًا.
أمثلة
ملف .env لـ Node / Vite
# Database DATABASE_URL=postgres://user:pass@localhost:5432/mydb DATABASE_POOL_SIZE=10 # Auth JWT_SECRET="super secret value" SESSION_TIMEOUT=3600 # Feature flags ENABLE_SIGNUP=true VITE_API_BASE=https://api.example.com
{
"DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
"DATABASE_POOL_SIZE": "10",
"JWT_SECRET": "super secret value",
"SESSION_TIMEOUT": "3600",
"ENABLE_SIGNUP": "true",
"VITE_API_BASE": "https://api.example.com"
} ملف .env نموذجي لـ Node.js / Vite. افتراضيًا تصبح كل قيمة سلسلة نصية في JSON (معيار dotenv). تُتجاهَل أسطر التعليقات والأسطر الفارغة. فعّل خيار استنتاج الأنواع إذا أردت تحويل 10 إلى رقم وtrue إلى قيمة منطقية.
بيئة Docker Compose
POSTGRES_DB=mydb POSTGRES_USER=admin POSTGRES_PASSWORD=s3cr3t! PGDATA=/var/lib/postgresql/data TZ=UTC NGINX_HOST=example.com NGINX_PORT=80
{
"POSTGRES_DB": "mydb",
"POSTGRES_USER": "admin",
"POSTGRES_PASSWORD": "s3cr3t!",
"PGDATA": "/var/lib/postgresql/data",
"TZ": "UTC",
"NGINX_HOST": "example.com",
"NGINX_PORT": "80"
} حوّل ملف env_file الذي تقرأه حزمة Docker Compose إلى JSON لتحميله في سكربت أو مدقّق إعدادات أو مدير أسرار. لا يُرفع أي شيء — آمن لبيانات الاعتماد الحقيقية.
قالب أسرار CI ببادئة export
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_REGION=us-east-1 export DEPLOY_ENV=production
{
"AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
"AWS_SECRET_ACCESS_KEY": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"AWS_REGION": "us-east-1",
"DEPLOY_ENV": "production"
} غالبًا ما تبدأ ملفات .env بنمط الصدفة كل سطر ببادئة export ليمكن استدعاؤها بـ source. يزيل المحلّل بادئة export تلقائيًا ويمنحك مفاتيح JSON نظيفة.
ملف .env معقّد: اقتباسات وأكواد هروب وقيم متعددة الأسطر وتعليقات داخلية
APP_NAME=My App # unquoted value, inline comment stripped GREETING="Hello,\nWorld" # double quotes: \n becomes a real newline LITERAL='no \n escapes here' # single quotes: kept literally PRIVATE_KEY="-----BEGIN KEY----- line two line three -----END KEY-----" EMPTY=
{
"APP_NAME": "My App",
"GREETING": "Hello,\nWorld",
"LITERAL": "no \\n escapes here",
"PRIVATE_KEY": "-----BEGIN KEY-----\nline two\nline three\n-----END KEY-----",
"EMPTY": ""
} يعرض كل حالات dotenv الحديّة دفعة واحدة: تُزال التعليقات الداخلية على القيم غير المقتبسة، والقيم المقتبسة بعلامتي اقتباس مزدوجتين تعالج أكواد الهروب \n و\t و\r و\\ و\"، والقيم المقتبسة بعلامة اقتباس مفردة تبقى حرفية، ويمكن لقيمة مقتبسة بعلامتين مزدوجتين أن تمتد عبر أسطر متعددة حتى علامة الإغلاق (مفيد لمفاتيح PEM).
كيفية الاستخدام
- 1
الصق ملف .env
أدخل أو الصق محتوى .env في حقل الإدخال أعلاه. يمكنك أيضًا النقر على 'تحميل مثال' لتجربة ملف .env لـ Node/Vite، أو ملف بيئة Docker Compose، أو قالب أسرار CI.
- 2
شاهد ناتج JSON الحيّ
يظهر JSON فورًا في لوحة الناتج. فعّل 'استنتاج الأنواع' إن أردت أرقامًا وقيمًا منطقية بدل السلاسل النصية، واختر مسافة بادئة بمقدار 2 أو 4.
- 3
انسخ أو نزّل
انقر نسخ لأخذ الـ JSON إلى حافظتك، أو تنزيل لحفظه كملف .json — جاهز لمحمّل إعدادات أو مدير أسرار أو أي أداة تقرأ JSON.
مزالق .env الشائعة
علامة = مفقودة في سطر
يجب أن يكون كل سطر غير تعليقي وغير فارغ زوج KEY=VALUE. لا يمكن تحليل سطر بلا علامة = وتبلّغ الأداة عن خطأ مع رقم السطر. يجب كتابة مفتاح مجرّد بلا قيمة بصيغة KEY= (قيمة فارغة).
DATABASE_URL DEBUG true
DATABASE_URL= DEBUG=true
مسافات حول علامة =
تقسّم dotenv عند أول علامة = بلا مسافات حولها. كتابة KEY = value تجعل المفتاح KEY (بمسافة زائدة) والقيمة value (بمسافة بادئة). أزل المسافات، أو اقتبس القيمة إن كان عليها أن تحتوي مسافة بادئة.
API_KEY = abc123
API_KEY=abc123
قيمة غير مقتبسة يلتهمها تعليق داخلي
على قيمة غير مقتبسة، مسافة متبوعة بـ # تبدأ تعليقًا داخليًا ويُسقَط كل ما بعده. إذا كانت قيمتك تحتوي # بشكل مشروع، فاقتبسها بعلامتين مزدوجتين لتُحفَظ الـ #.
COLOR=#ff0000
COLOR="#ff0000"
توقّع أكواد هروب داخل اقتباس مفرد
القيم المقتبسة بعلامة مفردة حرفية — \n تبقى شرطة مائلة عكسية وn، ولا تصبح سطرًا جديدًا. استخدم الاقتباس المزدوج عندما تريد معالجة تسلسلات الهروب مثل \n أو \t أو \".
GREETING='Hello\nWorld'
GREETING="Hello\nWorld"
علامة اقتباس مزدوجة غير مغلقة في قيمة متعددة الأسطر
يمكن لقيمة مقتبسة بعلامتين مزدوجتين أن تمتد عبر أسطر متعددة، لكن يجب إغلاقها بعلامة اقتباس مزدوجة مطابقة. إذا غابت علامة الإغلاق، يستمر المحلّل في استهلاك الأسطر حتى نهاية الملف. تأكد من إنهاء الأسرار متعددة الأسطر مثل مفاتيح PEM بعلامة إغلاق.
KEY="-----BEGIN----- line two
KEY="-----BEGIN----- line two -----END-----"
مفاتيح مكرّرة تُستبدَل بصمت
إذا ظهر المفتاح نفسه مرتين، تفوز القيمة الأخيرة وتُفقَد السابقة. تحذّرك الأداة، لكن الإصلاح الأنظف إزالة التكرار لتكون القيمة المقصودة لا لبس فيها.
PORT=3000 PORT=8080
PORT=8080
حالات الاستخدام الشائعة
- تغذية التهيئة في أدوات قائمة على JSON
- حوّل ملف .env إلى JSON لتحميل تهيئة البيئة في الأدوات والسكربتات وحزم SDK التي تقرأ JSON بدل متغيّرات البيئة — مدقّقات الإعدادات وفاحصات المخطّطات ومولّدات الكود.
- استيراد الأسرار إلى مدير
- تقبل كثير من مديري الأسرار (AWS Secrets Manager وVault وDoppler) صيغة JSON للاستيراد الجماعي. حوّل ملف .env إلى كائن JSON أولًا، ثم ادفع المجموعة كلها في عملية واحدة بدل متغيّر واحد في كل مرة.
- معاينة ملف .env طويل بنظرة واحدة
- حوّل ملف .env ممتدًا إلى JSON منظّم ومُزاح لتمسح المفاتيح، وترصد التكرارات عبر التحذير، وتراجع التهيئة بصيغة مقروءة قبل تثبيت التغييرات.
- توليد كائنات تهيئة مكتوبة الأنواع
- فعّل استنتاج الأنواع للحصول على أرقام وقيم منطقية وnull في الـ JSON، ثم غذّه في طبقة تهيئة مكتوبة الأنواع أو خطوة JSON-to-TypeScript لاشتقاق واجهة لمتغيّرات بيئتك.
- التحقق مقابل JSON Schema
- حوّل .env إلى JSON ومرّره عبر مدقّق JSON Schema لفرض المفاتيح المطلوبة وصيغ القيم والقيم المسموحة في CI — مع التقاط البيئات المهيّأة خطأً قبل النشر.
- ترحيل تهيئة env_file لـ Docker Compose
- حوّل ملف env_file الذي تقرأه حزمة Compose إلى JSON لاستخدامه في أداة تنسيق أخرى أو خادم تهيئة أو توثيق — دون كشف بيانات اعتماد حقيقية لأي خدمة خارجية.
تفاصيل تقنية
- تحليل سطرًا بسطر متوافق مع dotenv
- يُحلَّل الإدخال سطرًا بسطر. تُتجاهَل الأسطر الفارغة وأسطر التعليقات (أول محرف غير فراغي #)، وتُزال بادئة export الاختيارية، ويُقسَّم كل سطر متبقٍ عند أول علامة = إلى مفتاح وقيمة. تُشذَّب المفاتيح من المسافات المحيطة. وتتبع القيم قواعد dotenv: الاقتباس المزدوج يعالج أكواد الهروب \n \t \r \\ \" ويسمح بالامتداد متعدد الأسطر، والاقتباس المفرد حرفي، والقيم غير المقتبسة تزيل المسافات الزائدة والتعليقات الداخلية.
- استنتاج أنواع اختياري
- افتراضيًا تُخرَج كل القيم سلاسل نصية في JSON، مطابِقةً سلوك dotenv أثناء التشغيل حيث تكون قيم process.env دائمًا سلاسل نصية. مع تفعيل استنتاج الأنواع تُرقّى القيم غير المقتبسة: تصبح السلاسل الرقمية أرقامًا في JSON، وتصبح true/false قيمًا منطقية، وتصبح القيم الفارغة أو null قيمة null في JSON. ولا تُستنتَج أنواع القيم المقتبسة أبدًا — فالاقتباس يميّزها كسلاسل نصية صريحة. وتُحَل المفاتيح المكرّرة بفوز الأخير مع تحذير.
- في المتصفح — بلا رفع، بلا خادم
- تجري كل المعالجة بالكامل في محرّك JavaScript بمتصفحك؛ ولا تُرسَل أي بيانات .env عبر الشبكة في أي لحظة. لا توجد اعتماديات خارجية لأن المحلّل مكتوب داخليًا — فمكتبة dotenv الخاصة بـ Node تعتمد على نظام الملفات وليست آمنة للمتصفح. تنتقل المدخلات الأكبر من 200KB من الوضع الحيّ إلى الوضع اليدوي (نقرة تحويل صريحة) للحفاظ على استجابة المتصفح.
أفضل الممارسات
- أبقِ الناتج النصي الافتراضي ليطابق dotenv
- تحمّل dotenv كل قيمة كسلسلة نصية، فيعكس الناتج النصي الافتراضي بالضبط ما يراه تطبيقك أثناء التشغيل. فعّل استنتاج الأنواع فقط عندما يتوقّع المستهلك اللاحق فعلًا JSON مكتوب الأنواع — وإلا خاطرت بعدم تطابق يجعل '0' أو 'false' يتصرّفان في JSON خلافًا لتطبيقك العامل.
- اقتبس القيم المحتوية على # أو مسافات
- على القيم غير المقتبسة، مسافة متبوعة بـ # تبدأ تعليقًا داخليًا، وتُشذَّب المسافات الزائدة. إذا كانت قيمة تحتوي # بشكل مشروع (ألوان سداسية، روابط بشظايا) أو مسافات ذات معنى، فاقتبسها بعلامتين مزدوجتين لتُحفَظ حرفيًا في الـ JSON.
- احسم المفاتيح المكرّرة عند المصدر
- تُبقي الأداة على القيمة الأخيرة وتحذّرك عند تكرار مفتاح، لكن التكرار في ملف .env خطأ غالبًا. أزل السطر الزائد كي لا يكون هناك لبس حول السر الفعّال.
- لا تلصق أسرار الإنتاج أبدًا في محوّلات تعمل على الخادم
- لأن ملف .env هو فعليًا قائمة بيانات اعتماد، حوّله فقط في أداة تعمل بالكامل داخل المتصفح. هذا المحوّل كذلك — تحقق من صفر طلبات شبكة في أدوات المطوّر — فهو آمن للأسرار الحقيقية، بخلاف المحوّلات التي تعمل على الخادم أو عبر API.
- تحقق من الـ JSON قبل استخدامه لاحقًا
- بعد التحويل، مرّر الـ JSON عبر منسّق JSON لتأكيد البنية قبل تغذيته في مدقّق مخطّط أو استيراد مدير أسرار أو محمّل تهيئة، كي تظهر أي مفاجأة بنيوية مبكرًا.
الأسئلة الشائعة
كيف أحوّل ملف .env إلى JSON عبر الإنترنت؟
هل تُحوّل القيم إلى أرقام وقيم منطقية، أم تبقى سلاسل نصية؟
ماذا يحدث إذا ظهر المفتاح نفسه مرتين في ملف .env؟
كيف تُعالَج الاقتباسات وأكواد الهروب والقيم متعددة الأسطر؟
هل هذا المحلّل متسق مع مكتبة dotenv؟
هل يمكنه التعامل مع التهيئة المتداخلة أو المجمّعة؟
هل تُرسَل بيانات .env إلى خادم؟
أدوات ذات صلة
عرض جميع الأدوات →محوّل Base64 — ترميز وفك ترميز أونلاين
الترميز والتنسيق
رمّز وفك ترميز Base64 مجاناً أونلاين — محوّل فوري مع دعم UTF-8 والرموز التعبيرية. خصوصية 100% — يعمل في متصفّحك. جرّبه الآن.
محوّل Base64 إلى صورة أونلاين
الترميز والتنسيق
فك ترميز سلسلة Base64 أو عنوان URI للبيانات إلى صورة داخل متصفّحك. عاين واقرأ الأبعاد ونوع MIME ثم نزّل كـ PNG أو JPG أو GIF أو SVG. بلا رفع.
محوّل CSV إلى JSON
الترميز والتنسيق
حوّل CSV إلى JSON في متصفحك. RFC 4180، استنتاج الأنواع، صف العنوان، أمان الأعداد الكبيرة. خصوصية 100%.
محوّل HTML إلى Markdown
الترميز والتنسيق
حوّل HTML إلى Markdown نظيف داخل متصفّحك — جداول GFM وقوائم مهام وروابط. اختر عناوين ATX/Setext وروابط مضمّنة أو مرجعية. مثالي لترحيل محتوى الويب أو تغذية نماذج LLM. خصوصية 100% بلا رفع.
محوّل الصور إلى Base64 أونلاين
الترميز والتنسيق
حوّل الصور إلى عناوين URI للبيانات بصيغة Base64 داخل متصفّحك — PNG وJPG وGIF وWebP وSVG وICO. انسخ مخرجات HTML وCSS وMarkdown وJSON. خصوصية 100% بلا رفع.
JSON Diff مقارنة
الترميز والتنسيق
قارن ملفي JSON فوراً في متصفحك. عرض جنباً إلى جنب مع تمييز الفروق، وإخراج JSON Patch (RFC 6902)، وتجاهل الحقول المزعجة كالطوابع الزمنية والمعرّفات. خصوصية تامة، بدون رفع ملفات.