Initializing, please wait a moment

JSON vs YAML vs TOML, Explicado

Ultima revisao 2026-04-27. Abra o parser JSON ou JSON to CSV para trabalho JSON no navegador.

Resposta em 30 segundos. JSON e para maquinas - sintaxe rigorosa, facil de analisar, feio de ler. YAML e para humanos - espaco em branco e significativo, suporta ancoras e referencias, propenso a erros de analise subtis. TOML e um meio termo - limpo para configuracao rasa, desajeitado para aninhamento profundo. Escolha por quem edita o ficheiro e quao complexos sao os dados.

Os tres formatos lado a lado

A mesma configuracao, tres formas:

JSON                        YAML                  TOML
{                           server:               [server]
  "server": {                 host: "localhost"   host = "localhost"
    "host": "localhost",      port: 8080          port = 8080
    "port": 8080
  }
}                                                 

JSON - rigoroso e inequivoco

O objetivo de design do JSON era um formato que qualquer linguagem pudesse analisar identicamente. A gramatica e pequena (seis tipos de dados, regras de espaco em branco bem definidas). Cada parser produz a mesma arvore. Essa uniformidade e o motivo pelo qual JSON domina APIs, ficheiros de configuracao para ferramentas que trazem um parser JSON, e serializacao maquina a maquina.

Onde JSON e desajeitado: comentarios nao sao permitidos, virgulas finais sao erros de sintaxe, e configuracao profundamente aninhada fica ilegivel para humanos. A correcao e JSON5 (JSON com comentarios e virgulas finais) para configuracao editada por humanos, enquanto mantem JSON puro para transporte.

YAML - legivel, por vezes demasiado esperto

YAML le-se como notas de esquema. A indentacao cria estrutura; listas usam tracos; valores nao precisam de aspas. Os campos sao curtos e o ficheiro e denso. E por isso que YAML domina Kubernetes, GitHub Actions, Docker Compose e configuracoes de CI - todos lugares onde humanos editam o ficheiro diariamente.

Onde YAML magoa: o espaco em branco e significativo e os tabs quebram o parser. A string "yes" analisa como o booleano true. O codigo de pais Noruega "NO" analisa como false. Numeros com zeros a esquerda analisam como octal. Strings multi-linha tem quatro sintaxes diferentes. O formato e legivel por humanos mas nao seguro para humanos; bugs de analise subtis sao comuns em producao. A correcao e lintar cada ficheiro YAML em CI e citar qualquer string que pareca poder ser mal interpretada.

TOML - simples, raso

TOML mira no nicho de ficheiros de configuracao onde YAML e demasiado solto e JSON e demasiado verboso. Seccoes em parenteses retos, pares chave-valor com sinais de igual, tipos nativos de data e hora. Cargo (gestor de pacotes do Rust), pyproject.toml em Python moderno, e varias ferramentas de configuracao usam-no.

Onde TOML e desajeitado: dados profundamente aninhados. A sintaxe para arrays de tabelas e verbosa e nao visualmente obvia. Para aninhar mais de 2-3 niveis, YAML ou JSON leem melhor. TOML vence quando a configuracao e naturalmente plana - uma lista de dependencias, uma lista de definicoes de compilacao, um pequeno conjunto de seccoes nomeadas.

Regra de decisao

Maquina a maquina: JSON. Configuracao humana editada diariamente, com estrutura maioritariamente plana: TOML. Configuracao humana editada diariamente, com estrutura profundamente aninhada: YAML, com linting em CI. Em caso de duvida, JSON - o rigor e seguro barato.

Para converter entre formatos, veja JSON to CSV ou o parser JSON. Para outras ferramentas de programador, o hub de ferramentas para programadores.

Para validacao JSON pratica no navegador, veja JSON parser: validar vs formatar vs visualizacao em arvore - explica quando cada acao do parser JSON faz sentido. Para comparar o formatador JSON online com outras ferramentas, veja JSON formatter vs alternativas.

Why trust these tools

  • Ten-plus years of web tooling. The freetoolonline editorial team has shipped browser-based utilities since 2015. The goal has never changed: get you to a working output fast, without an install.
  • No install, no sign-up. Open a tool and get a working output in seconds - nothing to download and no account to create. Tools that need heavy processing run it on our service, so even a low-powered machine gets the job done.
  • Analytics stops at the page view. We measure which pages get visited, not what you type or upload inside a tool. There is nothing to sign in to and no profile is attached to your input.
  • Open-source core components. The processing engines underneath (libheif, libde265, pdf-lib, terser, clean-css, ffmpeg.wasm, and others) are public and audit-able. We link to each one in its tool page's footer.
  • Free, with or without ads. All tools are fully functional without sign-up. The Disable Ads button in the header is always available if you need a distraction-free run.

Related tools:

  • MD5 converter - Free online MD5 hash generator and MD5-to-text reverse lookup.
  • Convert PDF to TEXT online - Extract text from PDF online for copying and editing.
  • Text To HTML Editor - Text to HTML editor online - write in a WYSIWYG view and watch the generated HTML update live, with
  • CSS Gradient Animator Generator - CSS gradient generator - build animated linear gradients with live preview; copy ready-to-paste CSS
  • CSS Minifier - Minify CSS online for faster page loads.
  • CSS UnMinifier - CSS unminifier online - beautify minified CSS with proper indentation, line breaks, and readable
  • JavaScript Minifier - JavaScript minifier online free - paste your JS, click Minify, and copy the compressed code.
  • JSON Parser By Tree View - Paste JSON to validate, format, and view it in a tree.
  • JavaScript UnMinifier - JavaScript unminifier online - reformat minified JS with indentation and line breaks for
  • Keyboard Test - Keyboard test online - press each key to highlight it, spot non-working keys, and verify Num Lock,
  • Text Diff - Text diff online - compare two text blocks and highlight added, removed, and changed characters,
  • Developer Tools - Developer tools to parse JSON, minify or unminify CSS/JS, compare text, and generate MD5 hashes.

Tags: #guide, #developer, #json

Related guides: