ToolDeck

TOML Formatter

TOML कॉन्फ़िगरेशन फ़ाइलों को फ़ॉर्मैट और सत्यापित करें

उदाहरण देखें

TOML इनपुट

फ़ॉर्मैटेड TOML

स्थानीय रूप से चलता है · सीक्रेट पेस्ट करना सुरक्षित है
फ़ॉर्मैटेड TOML यहाँ दिखेगा…
यह भी आज़माएं:TOML to JSON

अंतिम अपडेट: अप्रैल 2026

TOML फ़ॉर्मेटिंग क्या है?

TOML (Tom's Obvious Minimal Language) एक कॉन्फ़िगरेशन फ़ाइल प्रारूप है जिसे Tom Preston-Werner ने 2013 में बनाया था। यह सीधे एक hash table से मैप होता है और सभी मानों के लिए स्पष्ट टाइपिंग का उपयोग करता है। एक TOML फ़ॉर्मेटर कच्चे या असंगत शैली वाले TOML को लेकर उसे एकसमान रिक्त स्थान, उचित इंडेंटेशन और मानक कुंजी क्रम के साथ पुनः क्रमबद्ध करता है। परिणाम एक ऐसी फ़ाइल होती है जो आपके पूरे प्रोजेक्ट में समान परंपराओं का पालन करती है, जिससे कॉन्फ़िगरेशन परिवर्तनों को diff में समीक्षा करना आसान हो जाता है।

TOML v1.0.0 विनिर्देश, जो जनवरी 2021 में अंतिम रूप दिया गया, व्याकरण को इतनी कठोरता से परिभाषित करता है कि कोई भी compliant parser एक ही इनपुट से समान डेटा संरचना उत्पन्न करता है। फ़ॉर्मेटिंग TOML फ़ाइल की अर्थपूर्ण सामग्री को नहीं बदलती। यह केवल रिक्त स्थान, कुंजी समूहन और उद्धरण शैली को समायोजित करती है। इसका अर्थ है कि आप TOML फ़ाइलों को अपने अनुप्रयोग के व्यवहार को बाधित करने की चिंता किए बिना स्वतंत्र रूप से फ़ॉर्मेट कर सकते हैं।

JSON के विपरीत, TOML टिप्पणियों, मूल दिनांक-समय प्रकारों और कई स्ट्रिंग प्रारूपों (बेसिक, लिटरल और बहु-पंक्ति) का समर्थन करता है। एक अच्छा फ़ॉर्मेटर टिप्पणियों को सुरक्षित रखता है और इनलाइन तालिकाओं तथा मानक तालिका शीर्षकों के बीच अंतर का सम्मान करता है। यह तालिकाओं के सरणियों को भी सही ढंग से संभालता है, अनुभाग समूहन को बनाए रखता है ताकि फ़ाइल मनुष्यों और उसे उपभोग करने वाले पार्सरों दोनों के लिए पठनीय रहे।

Before · toml
After · toml
title="My App"
version="1.0.0"
debug=false
[database]
host="localhost"
port=5432
name="mydb"
[database.pool]
max_connections=25
timeout=30
[[servers]]
name="web"
host="web.example.com"
[[servers]]
name="api"
host="api.example.com"
title = "My App"
version = "1.0.0"
debug = false

[database]
host = "localhost"
port = 5432
name = "mydb"

[database.pool]
max_connections = 25
timeout = 30

[[servers]]
name = "web"
host = "web.example.com"

[[servers]]
name = "api"
host = "api.example.com"

TOML Formatter क्यों उपयोग करें?

कॉन्फ़िगरेशन फ़ाइलों में शैली विचलन समय के साथ जमा होता जाता है जब विभिन्न टीम सदस्य उन्हें संपादित करते हैं। टैब और स्पेस आपस में मिल जाते हैं, कुछ कुंजियाँ अनावश्यक रूप से उद्धृत हो जाती हैं, और तालिका अनुभाग अपना दृश्य समूहन खो देते हैं। एक TOML फ़ॉर्मेटर इन सबको एक ही चरण में सामान्य कर देता है।

तत्काल फ़ॉर्मेटिंग
अस्वरूपित TOML चिपकाएं और तुरंत स्वच्छ, एकसमान आउटपुट प्राप्त करें। कोई CLI इंस्टॉल नहीं, कोई प्रोजेक्ट सेटअप नहीं, कोई बिल्ड चरण प्रतीक्षा नहीं।
🔒
गोपनीयता-प्रथम संसाधन
सभी पार्सिंग और फ़ॉर्मेटिंग आपके ब्राउज़र में होती है। आपका कॉन्फ़िगरेशन डेटा, जिसमें कोई भी प्रमाणपत्र या आंतरिक होस्टनाम शामिल हैं, कभी भी आपकी मशीन से बाहर नहीं जाता।
सत्यापन सहित
फ़ॉर्मेटर पुनः क्रमबद्ध करने से पहले आपके TOML को पार्स करता है। यदि इनपुट में सिंटैक्स त्रुटियाँ हैं, तो आपको समस्याग्रस्त पंक्ति के साथ एक स्पष्ट त्रुटि संदेश मिलता है, जिससे फ़ॉर्मेटिंग सत्यापन के रूप में भी काम करती है।
📋
कोई खाता आवश्यक नहीं
पृष्ठ खोलें और फ़ॉर्मेटिंग शुरू करें। कोई पंजीकरण नहीं, कोई दर सीमा नहीं, और कोई उपयोग ट्रैकिंग नहीं। यह उपकरण प्रत्येक विज़िट पर एक समान कार्य करता है।

TOML Formatter के उपयोग के मामले

फ्रंटएंड विकास
Cloudflare Workers प्रोजेक्ट के लिए Wrangler.toml फ़ाइलें या Deno-आधारित फ्रंटएंड के लिए deno.toml कॉन्फ़िगरेशन फ़ॉर्मेट करें। स्वच्छ फ़ॉर्मेटिंग pull request में परिनियोजन कॉन्फ़िगरेशन की समीक्षा करते समय सहायक होती है।
बैकएंड इंजीनियरिंग
अनेक Rust microservices में Cargo.toml फ़ाइलों को standardize करें। एकसमान फ़ॉर्मेटिंग से repositories में dependency versions और feature flags स्कैन करना आसान हो जाता है।
DevOps और CI/CD
commit करने से पहले .goreleaser.toml, netlify.toml, या Starship prompt कॉन्फ़िगरेशन जैसी फ़ाइलें फ़ॉर्मेट करें। शैली संगतता लागू करने के लिए CI पाइपलाइन में फ़ॉर्मेटिंग जाँच जोड़ें।
QA और परीक्षण
परीक्षण फ़िक्सचर को शीघ्र फ़ॉर्मेट करें ताकि वे पठनीय और diff-योग्य हों। जब कोई परीक्षण कॉन्फ़िगरेशन अंतर के कारण विफल होता है, तो फ़ॉर्मेटेड फ़ाइलें वास्तविक और अपेक्षित तुलना स्पष्ट कर देती हैं।
डेटा इंजीनियरिंग
Telegraf या InfluxDB कॉन्फ़िगरेशन फ़ॉर्मेट करें जो डेटा संग्रह पाइपलाइन परिभाषित करते हैं। ये फ़ाइलें अक्सर सैकड़ों पंक्तियों तक बढ़ जाती हैं, और एकसमान फ़ॉर्मेटिंग उन्हें रखरखाव योग्य बनाए रखती है।
TOML सिंटैक्स सीखना
दस्तावेज़ीकरण या ट्यूटोरियल से उदाहरण चिपकाएं और देखें कि फ़ॉर्मेटर उन्हें कैसे सामान्य करता है। यह यह सीखने का एक तेज़ तरीका है कि कौन सी ब्रैकेट शैलियाँ, उद्धरण नियम और तालिका समूहन मानक हैं।

TOML सिंटैक्स संदर्भ

TOML में संरचनाओं का एक छोटा समुच्चय है। नीचे दी गई तालिका TOML v1.0.0 विनिर्देश में परिभाषित प्रत्येक संरचनात्मक तत्व को सूचीबद्ध करती है। एक फ़ॉर्मेटर इन सभी पर एकसमान रिक्त स्थान और समूहन लागू करता है।

सिंटैक्सनामटिप्पणियाँ
key = "value"Basic key-value pairKeys are bare or quoted; values are typed
[table]Standard tableCreates a named section (hash table)
[a.b.c]Dotted tableShorthand for nested tables
[[array]]Array of tablesEach [[name]] block appends to an array
key = """...\n"""Multi-line basic stringAllows newlines, escapes processed
key = '''...\n'''Multi-line literal stringAllows newlines, no escape processing
# commentCommentExtends to end of line; not in JSON output
{inline = true}Inline tableSingle-line table, no newlines allowed

TOML बनाम JSON बनाम YAML

TOML, JSON और YAML परस्पर समस्याओं को हल करते हैं लेकिन अलग-अलग समझौते करते हैं।

विशेषताTOMLJSONYAML
टिप्पणियाँ# लाइन टिप्पणियाँसमर्थित नहीं# लाइन टिप्पणियाँ
टाइप किए गए मानString, int, float, bool, datetimeString, number, bool, nullअनुमानित (त्रुटि-प्रवण)
नेस्टिंग[table] शीर्षकघुंघराले कोष्ठकइंडेंटेशन-आधारित
विनिर्देश कठोरताकठोर (एक पार्स परिणाम)कठोर (RFC 8259)शिथिल (अनेक वैध पार्स)
दिनांक/समय समर्थन4 मूल प्रकारकोई नहीं (स्ट्रिंग उपयोग करें)निहित (अस्थिर)
अनुगामी अल्पविरामअनुमत नहींअनुमत नहींलागू नहीं (कोई अल्पविराम नहीं)

कोड उदाहरण

नीचे दिए गए उदाहरण विभिन्न भाषाओं और उपकरणों में TOML को प्रोग्रामेटिक रूप से फ़ॉर्मेट करते हैं। प्रत्येक एक फ़ाइल पढ़ता है, उसे पार्स करता है और फ़ॉर्मेटेड संस्करण लिखता है।

JavaScript (Node.js)
import { parse, stringify } from '@iarna/toml'
import fs from 'fs'

const raw = fs.readFileSync('config.toml', 'utf-8')
const doc = parse(raw)
const formatted = stringify(doc)
// stringify() outputs canonical TOML with consistent spacing
fs.writeFileSync('config.toml', formatted)

// Quick one-liner with npx:
// npx taplo fmt config.toml
Python
import tomllib   # Python 3.11+ (read-only)
import tomli_w   # pip install tomli-w (write)

# Parse and re-serialize to format
with open("config.toml", "rb") as f:
    data = tomllib.load(f)

formatted = tomli_w.dumps(data)
# tomli_w produces sorted keys, consistent quoting, and
# proper whitespace around = signs
print(formatted)

# CLI alternative: taplo fmt config.toml
Go
package main

import (
    "fmt"
    "os"
    "github.com/BurntSushi/toml"
    "bytes"
)

func main() {
    var data map[string]interface{}
    _, err := toml.DecodeFile("config.toml", &data)
    if err != nil {
        fmt.Fprintln(os.Stderr, err) // parse error with line number
        os.Exit(1)
    }
    var buf bytes.Buffer
    enc := toml.NewEncoder(&buf)
    enc.Indent = "  "
    enc.Encode(data) // re-serialized with consistent formatting
    fmt.Print(buf.String())
}
CLI (taplo)
# Install taplo — the standard TOML toolkit
cargo install taplo-cli
# or: npm install -g @taplo/cli

# Format a single file in place
taplo fmt config.toml

# Format all .toml files in a project
taplo fmt

# Check formatting without modifying (CI-friendly)
taplo fmt --check

# Validate TOML syntax without formatting
taplo lint config.toml

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

TOML फ़ॉर्मेटर क्या करता है?
एक TOML फ़ॉर्मेटर फ़ाइल को एक डेटा संरचना में पार्स करता है, फिर उसे एकसमान रिक्त स्थान, कुंजी क्रम और उद्धरण के साथ पुनः क्रमबद्ध करता है। अर्थपूर्ण सामग्री वही रहती है। केवल दृश्य प्रस्तुति बदलती है: समान चिह्नों के आसपास रिक्त स्थान, तालिका अनुभागों के बीच रिक्त पंक्तियाँ, और नेस्टेड मानों का इंडेंटेशन।
क्या TOML फ़ॉर्मेटिंग उत्पादन कॉन्फ़िगरेशन फ़ाइलों के लिए सुरक्षित है?
हाँ। फ़ॉर्मेटिंग केवल रिक्त स्थान और सौंदर्य संबंधी विवरण बदलती है। फ़ॉर्मेटिंग से पहले और बाद में पार्स की गई डेटा संरचना समान होती है। यदि फ़ॉर्मेटर अमान्य इनपुट पाता है, तो वह दूषित आउटपुट उत्पन्न करने के बजाय एक त्रुटि की सूचना देता है। आप दोनों संस्करणों को पार्स करके और परिणामी ऑब्जेक्ट की तुलना करके इसे सत्यापित कर सकते हैं।
TOML JSON से किस प्रकार भिन्न है?
TOML टिप्पणियों, मूल दिनांक-समय प्रकारों, बहु-पंक्ति स्ट्रिंग और नेस्टेड डेटा व्यवस्थित करने के लिए तालिका शीर्षकों का समर्थन करता है। JSON में इनमें से कोई भी नहीं है। यह प्रारूप उन कॉन्फ़िगरेशन फ़ाइलों के लिए बनाया गया है जिन्हें मनुष्य पढ़ते और संपादित करते हैं। JSON programs के बीच data exchange के लिए बनाया गया है। JSON में टिप्पणियाँ नहीं हो सकतीं, जिससे कॉन्फ़िगरेशन निर्णयों को इनलाइन दस्तावेज़ीकृत करना कठिन हो जाता है।
क्या मैं कमांड लाइन से TOML फ़ॉर्मेट कर सकता हूँ?
हाँ। Taplo सबसे popular TOML formatter CLI है। इसे cargo install taplo-cli या npm install -g @taplo/cli से इंस्टॉल करें, फिर अपने प्रोजेक्ट में सभी .toml फ़ाइलें फ़ॉर्मेट करने के लिए taplo fmt चलाएं। यह कस्टम नियमों के लिए taplo.toml या .taplo.toml फ़ाइल के माध्यम से कॉन्फ़िगरेशन का समर्थन करता है।
क्या फ़ॉर्मेटिंग TOML फ़ाइलों में टिप्पणियाँ सुरक्षित रखती है?
यह ब्राउज़र-आधारित फ़ॉर्मेटर इनपुट को एक डेटा संरचना में पार्स करता है और उसे पुनः क्रमबद्ध करता है, जिससे टिप्पणियाँ हट जाती हैं। यदि आपको टिप्पणियाँ सुरक्षित रखनी हैं, तो Taplo (CLI) या toml-edit (Rust लाइब्रेरी) जैसे CST-सचेत उपकरण उपयोग करें, जो पार्स किए गए डेटा के बजाय कंक्रीट सिंटैक्स ट्री पर कार्य करते हैं।
TOML फ़ॉर्मेटिंग और TOML सत्यापन में क्या अंतर है?
सत्यापन जाँचता है कि फ़ाइल विनिर्देश के अनुरूप है या नहीं और यदि नहीं तो त्रुटियाँ रिपोर्ट करती है। फ़ॉर्मेटिंग एक कदम आगे जाती है: वह इनपुट को सत्यापित करती है, फिर उसे सामान्य शैली के साथ पुनर्लेखित करती है। प्रत्येक फ़ॉर्मेटिंग क्रिया में सत्यापन पहले चरण के रूप में शामिल है, इसलिए जो फ़ाइल सफलतापूर्वक फ़ॉर्मेट होती है वह वैध होने की गारंटी है।
कौन से प्रोजेक्ट अपने कॉन्फ़िगरेशन प्रारूप के रूप में TOML उपयोग करते हैं?
Rust का Cargo (Cargo.toml), Python का packaging ecosystem (pyproject.toml), Hugo static sites, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf और Starship prompt सभी TOML उपयोग करते हैं। यह प्रारूप 2015 में Rust द्वारा पैकेज मेनिफेस्ट के मानक के रूप में अपनाए जाने के बाद लोकप्रिय हुआ।