YAML ↔ TOML कनवर्टर 🔒 आपका डेटा कभी ब्राउज़र से बाहर नहीं जाता।

कॉन्फ़िग फ़ाइलों को YAML और TOML फ़ॉर्मेट के बीच बदलें।

Ctrl+Sडाउनलोड

इस टूल के बारे में

YAML और TOML दोनों संरचित कॉन्फ़िगरेशन बताते हैं, बस सिंटैक्स और उपयोग अलग हैं। YAML का दबदबा Kubernetes मैनिफ़ेस्ट, Docker Compose फ़ाइलों और CI पाइपलाइन (GitHub Actions, GitLab CI) में है; TOML, Rust के Cargo.toml और Python के pyproject.toml की पसंदीदा फ़ॉर्मैट है। Compose सर्विस की सेटिंग्स को Cargo प्रोजेक्ट में ले जाना — या उल्टा — अक्सर सब कुछ हाथ से दोबारा टाइप करने जैसा होता है। यह ऑनलाइन YAML से TOML कनवर्टर (और उल्टा, TOML से YAML) दोनों दिशाओं में तुरंत बदलता है, नेस्टेड टेबल, ऐरे और डेटा टाइप बरकरार रखते हुए।

js-yaml और smol-toml से संचालित, दोनों केवल इसी पेज पर लोड होते हैं। आपकी कॉन्फ़िग फ़ाइलें ब्राउज़र से बाहर कभी नहीं जातीं — आंतरिक होस्टनेम, पोर्ट या एनवायरनमेंट नाम वाली फ़ाइलों के लिए भी सुरक्षित।

अक्सर पूछे जाने वाले प्रश्न

YAML किसके लिए इस्तेमाल होता है, और TOML किसके लिए?

YAML, Kubernetes मैनिफ़ेस्ट, Docker Compose फ़ाइलों और CI पाइपलाइन (GitHub Actions, GitLab CI) की डिफ़ॉल्ट पसंद है — यह गहरी नेस्टिंग अच्छी तरह संभालता है। TOML, Rust के Cargo.toml और Python के pyproject.toml का फ़ॉर्मैट है — यह .ini फ़ाइल जैसा दिखता है और सपाट, हाथ से संपादन योग्य कॉन्फ़िग के लिए लोकप्रिय है। कंटेनर-आधारित प्रोजेक्ट की सेटिंग्स को Rust या Python प्रोजेक्ट में ले जाते समय (या उल्टा) अक्सर दोनों के बीच बदलाव करना पड़ता है।

YAML और TOML के बीच बदलने पर क्या मेरी टिप्पणियाँ बची रहती हैं?

नहीं — और यह एक आम भूल है। YAML और TOML दोनों के पार्सर दस्तावेज़ पढ़ते समय टिप्पणियाँ हटा देते हैं; केवल डेटा बचता है। यह टूल आपके इनपुट को मेमोरी में एक ऑब्जेक्ट में बदलता है और शून्य से दोबारा सीरियलाइज़ करता है, इसलिए किसी भी फ़ॉर्मैट की `#` टिप्पणियाँ आउटपुट में खो जाती हैं। यदि कोई टिप्पणी कुछ ज़रूरी बताती है, तो बाद में उसे हाथ से कॉपी कर लें।

क्या array-of-tables सिंटैक्स ([[section]]) सही तरह राउंड-ट्रिप होता है?

हाँ। TOML का `[[section]]` दरअसल एक ऐरे है जिसके तत्व टेबल (ऑब्जेक्ट) होते हैं। TOML → YAML बदलते समय यह सामान्य YAML मैपिंग सीक्वेंस बन जाता है; उस सीक्वेंस को वापस TOML में बदलने पर `[[section]]` ब्लॉक फिर बनते हैं, क्योंकि smol-toml पहचान लेता है कि "हर तत्व सामान्य ऑब्जेक्ट वाला ऐरे" है और अपने आप उसके लिए array-of-tables सिंटैक्स बनाता है।

क्या मेरा YAML या TOML डेटा कहीं अपलोड होता है?

नहीं। यह रूपांतरण पूरी तरह आपके ब्राउज़र में js-yaml और smol-toml JavaScript लाइब्रेरी से चलता है — आप यहाँ जो भी टाइप या पेस्ट करते हैं, वह कभी सर्वर पर नहीं भेजा जाता। इससे यह उन कॉन्फ़िग फ़ाइलों के लिए भी सुरक्षित है जिनमें आंतरिक होस्टनेम, क्रेडेंशियल प्लेसहोल्डर या अन्य एनवायरनमेंट-विशिष्ट जानकारी होती है।

मैं अपनी docker-compose.yml सेटिंग्स को Rust या Python प्रोजेक्ट के लिए TOML कॉन्फ़िग में कैसे बदलूँ?

'YAML → TOML' टैब पर स्विच करें, अपनी docker-compose.yml के प्रासंगिक हिस्से को पेस्ट करें (जैसे किसी एक सर्विस का `environment:` ब्लॉक या आपने जोड़ा कोई कस्टम सेटिंग्स ब्लॉक), और बराबर TOML तुरंत दाईं ओर दिखेगा — Cargo.toml, pyproject.toml, या आपका ऐप जो भी कस्टम `.toml` फ़ाइल पढ़ता है, वहाँ पेस्ट करने के लिए तैयार। ध्यान रखें कि पूरा पेस्ट किया गया दस्तावेज़ शीर्ष स्तर पर एक ऑब्जेक्ट में बदलना चाहिए; अगर आप `services:` से शुरू होने वाली पूरी compose फ़ाइल पेस्ट करते हैं तो ठीक है क्योंकि वह एक मैपिंग है, पर एक सीधी लिस्ट (जैसे अकेला `ports:` ऐरे) त्रुटि दिखाएगी क्योंकि TOML ऐरे को रूट दस्तावेज़ के रूप में नहीं दिखा सकता।

क्या मैं सिर्फ YAML से TOML ही नहीं, बल्कि TOML को वापस YAML में भी बदल सकता हूँ?

हाँ — यह एक द्विदिश कनवर्टर है। TOML पेस्ट करके बराबर YAML पाने के लिए 'TOML → YAML' टैब पर क्लिक करें (या YAML → TOML रन के बाद 'स्वैप' दबाएँ); आउटपुट में आपकी चुनी हुई इंडेंट चौड़ाई लागू होती है। दोनों दिशाएँ एक ही 'पार्स करके फिर से सीरियलाइज़ करें' तरीका अपनाती हैं, इसलिए नेस्टेड टेबल, ऐरे और array-of-tables दोनों दिशाओं में सही तरह बदलते हैं।