आँकड़ों और विज्ञापन के लिए कुकीज़
हम आँकड़ों और विज्ञापन के लिए कुकीज़ इस्तेमाल करते हैं, दोनों Google को जाती हैं। मना करने से आपको दिखने वाली किसी चीज़ में कोई फ़र्क़ नहीं पड़ता।निजता पेज पढ़ें
यहाँ आप TOML को YAML में बदलते हैं, मुफ़्त और बिना खाते के: फ़ाइल ऊपर छोड़िए और कुछ ही सेकंड में नतीजा डाउनलोड के लिए तैयार मिलेगा। कन्वर्ज़न आपके अपने ब्राउज़र के भीतर होता है, इसलिए फ़ाइल कभी अपलोड नहीं होती। यह Windows, macOS और Linux पर वैसे ही चलता है जैसे iPhone और Android पर, और कनेक्शन काट देने पर भी चलता रहता है।
एक बार में 100 फ़ाइलें। फ़ॉर्मेट अलग-अलग हों तो भी चलेगा।
ये एक के बाद एक बदलती हैं और साथ में एक ZIP बनकर उतरती हैं।
TOML से YAML
किसी प्रोजेक्ट की बुनियादी बातें अब ज़्यादातर TOML फ़ाइल में रहती हैं — पैकेज का नाम, समर्थित संस्करण, फ़ीचर फ़्लैग। इन तथ्यों को खपाने वाली चीज़ें उतनी ही एकरूपता से YAML होती हैं: GitHub Actions वर्कफ़्लो, Helm values फ़ाइल, docker-compose ब्लॉक।
तो काम आम तौर पर माइग्रेशन नहीं, प्रतिलेखन है — वैल्यू को सही YAML सिंटैक्स में लाना, फिर ज़रूरी हिस्से किसी अपनी संरचना वाली फ़ाइल में ले जाना। नतीजे को वर्कफ़्लो होना ज़रूरी नहीं; बिना दोबारा टाइप किए उठाने लायक ईमानदार रेंडरिंग होना ज़रूरी है।
TOML के पास असली date और datetime टाइप हैं, बिना कोट के लिखे: launch = 2026-03-01T08:00:00Z। YAML में भी वे बिना कोट के पहुँचते हैं — launch: 2026-03-01T08:00:00.000Z — जो YAML timestamp के लिए तय जगह है।
इसका फ़ायदा पूरी तरह लोडर पर निर्भर है। इसी लाइब्रेरी से नतीजा वापस पढ़ने पर, जो YAML 1.2 का पालन करती है, हर वैल्यू स्ट्रिंग बनकर लौटती है — 1.2 में कोई timestamp resolver नहीं। PyYAML जैसे YAML 1.1 लोडर से पढ़ने पर वे datetime बनती हैं, पर कुछ मामलों में ग़लत तरीक़े से।
दोनों लक्ष्य तारीख़ के लिए एक जैसे अक्षर लिखते हैं, इसलिए बहस इस पर है कि टाइप कहाँ रहता है। YAML में वैल्यू बिना कोट की और काफ़ी हद तक ख़ुद-बयाँ है। XML में वही तारीख़ एलिमेंट टेक्स्ट है, और उसका मतलब किसी और के रखे स्कीमा से आता है।
यह दोनों तरफ़ काम करता है। स्कीमा एक जाँच तंत्र है, और अगर पाने वाले सिस्टम के पास स्कीमा है, ग़लत टाइप की तारीख़ दरवाज़े पर ही पकड़ी जाती है। YAML चुनिए जब लक्ष्य ख़ुद अपने लोडर से वैल्यू वापस पढ़ेगा।
[package] हेडर एक शीर्ष-स्तर की-वैल्यू बनकर उसके नीचे दो-स्पेस इंडेंट होता है। [tool.black] हेडर tool: के भीतर black: बनकर सेटिंग रखता है, क्योंकि डॉट वाला टेबल हेडर वाक़ई नेस्टिंग है, बस डॉट वाला नाम नहीं।
क्रम वही है जो पार्सर ने देखा — TOML में यह मतलब है कि फ़ाइल की ऊपरी ढीली वैल्यू पहले आती हैं, फिर हर टेबल उसी क्रम में जिसमें वह लिखी गई थी।
यह असली बदलाव है और नज़र से चूक जाता है क्योंकि आउटपुट काफ़ी मिलता-जुलता दिखता है। TOML में enabled = true एक बूलियन है क्योंकि सिंटैक्स यही कहता है। YAML में बिना कोट का scalar वह है जो पार्सर तय करे।
writer वहीं कोट लगाता है जहाँ मायने रखे: version = "1.0" कोट रहता है ताकि यह नंबर 1 न बन जाए। NO, yes, on और off को कोट नहीं करता क्योंकि YAML 1.2 में ये सादी स्ट्रिंग हैं — पर YAML 1.1 पढ़ने वाले PyYAML में ये बूलियन बन जाते हैं।
दोहराया गया [[bin]] या [[tool.poetry.packages]] ब्लॉक TOML का record-list रूप है, और यह उसी शेप में बदलता है जो लोग हाथ से YAML में लिखते हैं: हर एंट्री के लिए एक डैश, उसके नीचे इंडेंट की गई की।
यह ब्लॉक फ़ॉर्म ही ज़्यादातर YAML औज़ार दिखाते हैं, इसलिए एंट्री आम तौर पर बिना दोबारा फ़ॉर्मैट किए किसी वर्कफ़्लो में चिपक जाती हैं।
ट्रिपल-कोट वाली TOML स्ट्रिंग जिसमें कोई स्क्रिप्ट या विवरण हो, अपनी लाइन-संरचना रखती है। writer इसे block scalar की तरह लिखता है — की, फिर एक पाइप, फिर असली लाइनें इंडेंट होकर।
लंबी सिंगल-लाइन वैल्यू लगभग अस्सी कॉलम पर फ़ोल्ड की जाती है, और YAML उन फ़ोल्ड को स्पेस की तरह वापस पढ़ता है, इसलिए वैल्यू बदलती नहीं।
TOML और YAML दोनों # कमेंट देते हैं, और मैनिफ़ेस्ट अक्सर उनसे भरा होता है — कोई डिपेंडेंसी किसी पैच पर क्यों टिकी है। इनमें से कुछ भी नहीं बचता।
जिस फ़ाइल को उठाकर पेस्ट करना है उसके लिए यह मामूली है। जिसे रखना है उसके लिए यही वजह है कि TOML को सच्चाई का स्रोत रहने देना बेहतर है और YAML को जनरेट होने देना।
आउटपुट भाषा का एक सादा हिस्सा इस्तेमाल करता है। कोई anchor और alias नहीं — दोहराई गई सब-टेबल पूरी तरह दो बार दिखती है, संदर्भ के साथ एक बार नहीं, क्योंकि पार्स की गई वैल्यू अलग-अलग ऑब्जेक्ट हैं। कहीं null नहीं, क्योंकि TOML में बदलने के लिए null है ही नहीं।
अगर लक्ष्य को इनमें से कुछ चाहिए, वह हाथ से जोड़ा जाता है। यह YAML की सीमा नहीं — मैनिफ़ेस्ट ने कभी वह बात कही ही नहीं थी।
सबसे सस्ती जाँच एक राउंड ट्रिप है। आउटपुट को उसी चीज़ से लोड कीजिए जो आख़िर में उसे लोड करेगी, और कुछ वैल्यू मिलाइए — संस्करण, कोई तारीख़, कोई नंबर जैसी दिखने वाली स्ट्रिंग।
yq eval . out.yaml दोबारा फ़ॉर्मैट करता है और सिंटैक्स त्रुटि होने पर बताता है। ऐसा एक बार करना उस पाइपलाइन को डिबग करने से तेज़ है जो version: 1 के साथ चली जबकि आपका मतलब "1.0" था।
इसी ब्राउज़र टैब में, सादी JavaScript से। कुछ अपलोड नहीं होता, कोई इंजन नहीं उतारा जाता, न कोई खाता है न रोज़ की सीमा।
मैनिफ़ेस्ट इतने छोटे होते हैं कि 100 MB की फ़्री सीमा सैद्धांतिक है, पर ये हमेशा सार्वजनिक नहीं होते — किसी निजी रिपॉज़िटरी की डिपेंडेंसी सूची में आंतरिक पैकेज और रजिस्ट्री के नाम होते हैं। यहाँ बदलने से इनमें से कुछ भी उजागर नहीं होता।
| TOML | YAML | |
|---|---|---|
| पूरा नाम | Tom's Obvious Minimal Language | YAML Ain't Markup Language |
| फ़ाइल एक्सटेंशन | .toml | .yaml, .yml |
| मीडिया टाइप | application/toml | application/yaml |
| पहली बार प्रकाशित | 2013 | 2001 |
| विनिर्देश | TOML 1.0 | YAML 1.2 |
| लाइसेंस | खुला मानक | खुला मानक |
| आज की स्थिति | मौजूदा | मौजूदा |
| ब्राउज़र में खुलता है | कोई ब्राउज़र नहीं | कोई ब्राउज़र नहीं |
| इसकी जगह विचारणीय | JSON, INI | JSON |
कुछ नहीं खोता। TOML और YAML — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।
टिप्पणियाँ साथ जाती हैं। TOML और YAML — दोनों में टिप्पणी की वाक्य-रचना है, इसलिए बाद में फ़ाइल सँभालने वाले के लिए छोड़े गए नोट चुपचाप ग़ायब नहीं होते।
Visual Studio Code TOML और YAML — दोनों पढ़ लेता है, इसलिए आप नतीजे को असली फ़ाइल के बग़ल में रखकर देख सकते हैं, बिना दूसरा प्रोग्राम खोले।
TOML 2013 में आया। यह TOML 1.0 में तय किया गया है, और अगर फ़ाइल को उस औज़ार से ज़्यादा जीना है जिसने उसे लिखा, तो यह बात क़ीमती है।
YAML 2001 से चला आ रहा है, और YAML 1.2 में तय किया गया है। Visual Studio Code और yq इस फ़ॉर्मेट को पढ़ लेते है।
नहीं। यह कन्वर्ज़न पूरी तरह आपके ब्राउज़र में होता है, इसलिए फ़ाइल आपके डिवाइस से बाहर नहीं जाती। आप ख़ुद जाँच सकते हैं: डेवलपर टूल्स का नेटवर्क टैब खोलिए और कुछ बदल कर देखिए। आपको पेज ख़ुद दिखेगा और आँकड़ों तथा विज्ञापन के वे अनुरोध दिखेंगे जिनसे इस सेवा का ख़र्च निकलता है — और एक भी ऐसा अनुरोध नहीं जो आपकी फ़ाइल साथ ले जा रहा हो।
हाँ। न खाता, न वॉटरमार्क, और न कोई रोज़ का कोटा जो ख़त्म हो: यह आपकी अपनी मशीन पर चलता है, इसलिए आप जितनी बार चाहें लौट सकते हैं। ब्राउज़र 100 MB तक की फ़ाइलें सँभालता है, एक बार में 100।
नहीं। YAML वही सामग्री बिना कुछ फेंके सँभालता है: नतीजा गुणवत्ता में असली फ़ाइल जैसा ही होता है।
कुछ नहीं खोता। TOML और YAML — दोनों अपनी सामग्री बिना नुक़सान सँभालते हैं: यह कन्वर्ज़न पैकिंग बदलता है, गुणवत्ता नहीं, और आप इसे दोहरा सकते हैं बिना इस डर के कि नुक़सान जमा होता जाएगा।