ToolDeck

TOML Biçimlendirici

TOML yapılandırma dosyalarını biçimlendir ve doğrula

Örnek dene

TOML Girdisi

Biçimlendirilmiş TOML

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
Biçimlendirilmiş TOML burada görünecek…
Bunu da deneyin:TOML'den JSON'a

Son güncelleme: Nisan 2026

TOML Biçimlendirme Nedir?

TOML (Tom's Obvious Minimal Language), Tom Preston-Werner tarafından 2013 yılında oluşturulan bir yapılandırma dosyası formatıdır. Doğrudan bir karma tablosuna eşlenir ve tüm değerler için açık tür belirtimi kullanır. Bir TOML biçimlendirici, ham ya da tutarsız biçimlendirilmiş TOML'u alarak düzgün aralık, uygun girinti ve standart anahtar sıralamasıyla yeniden serileştirir. Sonuç, tüm projede aynı kuralları izleyen bir dosyadır; bu da yapılandırma değişikliklerini diff'lerde incelemeyi kolaylaştırır.

Ocak 2021'de kesinleştirilen TOML v1.0.0 spesifikasyonu, dilbilgisini o kadar kesin biçimde tanımlar ki herhangi bir uyumlu ayrıştırıcı aynı girdiden özdeş bir veri yapısı üretir. Biçimlendirme, bir TOML dosyasının anlamsal içeriğini değiştirmez. Yalnızca boşlukları, anahtar gruplandırmasını ve tırnak stilini düzenler. Bu sayede uygulamanızın davranışını bozmadan TOML dosyalarını özgürce biçimlendirebilirsiniz.

JSON'ın aksine TOML; yorumları, yerel tarih-saat türlerini ve birden fazla dize biçimini (temel, değişmez ve çok satırlı) destekler. İyi bir biçimlendirici yorumları korur ve satır içi tablolar ile standart tablo başlıkları arasındaki ayrıma saygı gösterir. Tablo dizilerini de doğru şekilde işler; bölüm gruplandırmasını bozulmaz bırakarak dosyanın hem insanlar hem de ayrıştırıcılar için okunabilir kalmasını sağlar.

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 Biçimlendirici Neden Kullanmalısınız?

Yapılandırma dosyaları, farklı ekip üyeleri tarafından zaman içinde düzenlendikçe stil tutarsızlıkları birikir. Sekme ve boşluklar karışır, bazı anahtarlar gereksiz yere tırnak içine alınır, tablo bölümleri görsel gruplandırmasını yitirir. Bir TOML biçimlendirici tüm bunları tek bir işlemde düzeltir.

Anında Biçimlendirme
Biçimlendirilmemiş TOML'u yapıştırın ve hemen temiz, tutarlı biçimlendirilmiş çıktı alın. CLI kurulumu yok, proje kurulumu yok, derleme adımı beklemeye gerek yok.
🔒
Gizlilik Öncelikli İşleme
Tüm ayrıştırma ve biçimlendirme tarayıcınızda çalışır. Kimlik bilgileri veya iç ana bilgisayar adları da dahil olmak üzere yapılandırma verileriniz hiçbir zaman cihazınızı terk etmez.
Dahili Doğrulama
Biçimlendirici, yeniden serileştirmeden önce TOML'unuzu ayrıştırır. Girdide sözdizimi hataları varsa sorunlu satırla birlikte açık bir hata mesajı alırsınız; bu sayede biçimlendirme aynı zamanda doğrulama işlevi de görür.
📋
Hesap Gerektirmez
Sayfayı açın ve biçimlendirmeye başlayın. Kayıt yok, hız sınırı yok, kullanım takibi yok. Araç her ziyarette aynı şekilde çalışır.

TOML Biçimlendirici Kullanım Senaryoları

Frontend Geliştirme
Cloudflare Workers projeleri için wrangler.toml dosyalarını veya Deno tabanlı frontend'ler için deno.toml yapılandırmasını biçimlendirin. Temiz biçimlendirme, dağıtım yapılandırmalarını pull request'lerde incelerken büyük kolaylık sağlar.
Backend Mühendisliği
Birden fazla Rust mikro hizmeti genelinde Cargo.toml dosyalarını standartlaştırın. Tutarlı biçimlendirme, bağımlılık sürümlerini ve özellik bayraklarını depolar arasında taramayı kolaylaştırır.
DevOps ve CI/CD
.goreleaser.toml, netlify.toml veya Starship prompt yapılandırmaları gibi dosyaları işleme almadan önce biçimlendirin. Stil tutarlılığını zorunlu kılmak için CI pipeline'larına biçimlendirme kontrolü ekleyin.
QA ve Test
Test sabitlerini okunabilir ve karşılaştırılabilir hale getirmek için hızlıca biçimlendirin. Bir test yapılandırma farklılığı nedeniyle başarısız olduğunda, biçimlendirilmiş dosyalar gerçek ile beklenen arasındaki farkı açıkça ortaya koyar.
Veri Mühendisliği
Veri toplama pipeline'larını tanımlayan Telegraf veya InfluxDB yapılandırmalarını biçimlendirin. Bu dosyalar çoğu zaman yüzlerce satıra ulaşır; tutarlı biçimlendirme onları sürdürülebilir kılar.
TOML Sözdizimi Öğrenmek
Belgelerdeki veya eğitimlerdeki örnekleri yapıştırın ve bir biçimlendiricicinin bunları nasıl standartlaştırdığını görün. Hangi parantez stillerinin, tırnak kurallarının ve tablo gruplamalarının standart olduğunu öğrenmenin hızlı bir yoludur.

TOML Sözdizimi Başvurusu

TOML'un küçük bir yapı kümesi vardır. Aşağıdaki tablo, TOML v1.0.0 spesifikasyonunda tanımlanan her yapısal öğeyi listeler. Biçimlendirici bunların tamamına tutarlı boşluk ve gruplandırma uygular.

SözdizimiAdNotlar
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 ve YAML Karşılaştırması

TOML, JSON ve YAML örtüşen sorunları çözer ancak farklı ödünleşimler yapar.

ÖzellikTOMLJSONYAML
Yorumlar# satır yorumlarıDesteklenmiyor# satır yorumları
Türlendirilmiş değerlerString, int, float, bool, datetimeString, number, bool, nullÇıkarımlı (hataya açık)
İç içe yapı[tablo] başlıklarıSüslü parantezlerGirinti tabanlı
Spesifikasyon katılığıKatı (tek ayrıştırma sonucu)Katı (RFC 8259)Esnek (birden fazla geçerli ayrıştırma)
Tarih/saat desteği4 yerel türYok (string kullanın)Örtülü (güvenilmez)
Sondaki virgüllerİzin verilmiyorİzin verilmiyorGeçersiz (virgül yok)

Kod Örnekleri

Aşağıdaki örnekler farklı dil ve araçlarda TOML'u programatik olarak biçimlendirir. Her biri bir dosyayı okur, ayrıştırır ve biçimlendirilmiş sürümünü yazar.

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

Sıkça Sorulan Sorular

TOML biçimlendirici ne yapar?
Bir TOML biçimlendirici, dosyayı bir veri yapısına ayrıştırır ve ardından tutarlı boşluk, anahtar sıralaması ve tırnak kullanımıyla yeniden serileştirir. Anlamsal içerik aynı kalır. Yalnızca görsel sunum değişir: eşittir işaretleri etrafındaki boşluklar, tablo bölümleri arasındaki boş satırlar ve iç içe değerlerin girintisi.
TOML biçimlendirme üretim yapılandırma dosyaları için güvenli midir?
Evet. Biçimlendirme yalnızca boşlukları ve görsel ayrıntıları değiştirir. Biçimlendirme öncesi ve sonrası ayrıştırılmış veri yapısı aynıdır. Biçimlendirici geçersiz girdiyle karşılaştığında bozuk çıktı üretmek yerine hata bildirir. Bunu her iki sürümü de ayrıştırarak ve sonuç nesnelerini karşılaştırarak doğrulayabilirsiniz.
TOML, JSON'dan nasıl farklıdır?
TOML; yorumları, yerel tarih-saat türlerini, çok satırlı dizeleri ve iç içe verileri düzenlemek için tablo başlıklarını destekler. JSON bunların hiçbirine sahip değildir. Format, insanların okuyup düzenlediği yapılandırma dosyaları için tasarlanmıştır. JSON ise programlar arasındaki veri alışverişi için tasarlanmıştır. JSON'da yorum kullanılamaz; bu da yapılandırma kararlarını satır içinde belgelemeyi zorlaştırır.
TOML'u komut satırından biçimlendirebilir miyim?
Evet. Taplo, en yaygın kullanılan TOML biçimlendirici CLI'dır. cargo install taplo-cli veya npm install -g @taplo/cli ile kurabilir, ardından taplo fmt komutunu çalıştırarak projenizdeki tüm .toml dosyalarını biçimlendirebilirsiniz. Özel kurallar için taplo.toml veya .taplo.toml dosyası aracılığıyla yapılandırmayı destekler.
Biçimlendirme, TOML dosyalarındaki yorumları korur mu?
Bu tarayıcı tabanlı biçimlendirici, girdiyi bir veri yapısına ayrıştırır ve yeniden serileştirir; bu süreçte yorumlar silinir. Yorumları korumak istiyorsanız, ayrıştırılmış veri yerine somut sözdizimi ağacı (CST) üzerinde çalışan Taplo (CLI) veya toml-edit (Rust kütüphanesi) gibi CST'ye duyarlı bir araç kullanın.
TOML biçimlendirme ile TOML doğrulama arasındaki fark nedir?
Doğrulama, dosyanın spesifikasyona uygun olup olmadığını kontrol eder ve uygun değilse hata bildirir. Biçimlendirme bir adım öteye gider: girdiyi doğrular ve ardından standartlaştırılmış stille yeniden yazar. Her biçimlendirme işlemi ilk adım olarak doğrulamayı içerir; dolayısıyla başarıyla biçimlendirilen bir dosyanın geçerli olduğu garanti edilir.
Hangi projeler yapılandırma formatı olarak TOML kullanır?
Rust'ın Cargo'su (Cargo.toml), Python paketleme ekosistemi (pyproject.toml), Hugo statik siteleri, Deno (deno.toml), Cloudflare Workers (wrangler.toml), InfluxDB, Telegraf ve Starship prompt hepsi TOML kullanır. Format, Rust'ın 2015'te paket bildirimleri için standart olarak benimsemesinin ardından yaygınlaştı.