Skip to content

Instantly share code, notes, and snippets.

What would you like to do?

Here's the canonical TOML example from the TOML README, and a YAML version of the same. Which looks nicer?

title = "TOML Example"

name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00-08:00

server = ""
ports = [ 8001, 8001, 8002 ]
connection_max = 5000
enabled = true


  ip = ""
  dc = "eqdc10"

  ip = ""
  dc = "eqdc10"

data = [ ["gamma", "delta"], [1, 2] ]

hosts = [
title: YAML Example

  name: Tom Preston-Werner
  dob: 1979-05-27T07:32:00-08:00

  ports: [ 8001, 8001, 8002 ]
  connection_max: 5000
  enabled: true


    dc: eqdc10

    dc: eqdc10

  data: [ [gamma, delta], [1, 2] ]

    - alpha
    - omega

This comment has been minimized.

Copy link

@berney berney commented Dec 5, 2017

Good example of TOML vs YAML. YAML looks better to my eyes rather than a mix between INI and YAML. I like the the same syntax for keys regardless of level in the tree, looks cleaner to me.


This comment has been minimized.

Copy link

@udhos udhos commented Feb 16, 2018

YAML won this one.


This comment has been minimized.

Copy link

@russmack russmack commented Feb 26, 2018

A matter of taste, I guess. For me, the YAML is too uniform, a sea of text with colons. I like TOML's quoted strings which immediately identify as strings, and the square brackets providing emphasis, more easily identified and located tables. As the "O" describes, I find the elements conveniently obvious.


This comment has been minimized.

Copy link

@blizzardy blizzardy commented Mar 12, 2018

TOML better ! tabs or spaces is allowed, I like tabs


This comment has been minimized.

Copy link

@tripleee tripleee commented May 16, 2018

Anything which looks like INI makes me cringe. The real test would be something with a multi-line string, can you put newlines inside quotes and do you need a lot of backslashes?


This comment has been minimized.

Copy link

@frankbe frankbe commented Apr 27, 2019

I really like the INI format. It's more expressive than simple property files and sufficient for most use cases. YAML is sometimes good, but somehow awkward in the details. TOML is for me an unintuitive mix between YAML and INI, although I guess it's very expressive. When INI is not enough, I'd probably prefer JSON or XML.


This comment has been minimized.

Copy link

@ExternalReality ExternalReality commented Aug 13, 2019

Removing levels of nesting in favor of square brackets is a win for clarity.


This comment has been minimized.

Copy link

@tyliggity tyliggity commented Apr 20, 2021

How would YAML distinguish between a number and a string? TOML seems to do this easily but would a YAML parser automatically give you numbers since all strings and numbers look the same (no double quotes)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment