Initializing, please wait a moment

JSON vs YAML vs TOML, Explicado

Última revisão 2026-04-27. Abra o parser JSON ou JSON to CSV para trabalho JSON no navegador.

Resposta em 30 segundos. JSON é para máquinas - sintaxe rigorosa, fácil de analisar, feio de ler. YAML é para humanos - espaço em branco é significativo, suporta âncoras e referências, propenso a erros de análise subtis. TOML é um meio termo - limpo para configuração rasa, desajeitado para aninhamento profundo. Escolha por quem edita o ficheiro e quão complexos são os dados.

Os três formatos lado a lado

A mesma configuração, três formas:

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

JSON - rigoroso e inequívoco

O objetivo de design do JSON era um formato que qualquer linguagem pudesse analisar identicamente. A gramática é pequena (seis tipos de dados, regras de espaço em branco bem definidas). Cada parser produz a mesma árvore. Essa uniformidade é o motivo pelo qual JSON domina APIs, ficheiros de configuração para ferramentas que trazem um parser JSON, e serialização máquina a máquina.

Onde JSON é desajeitado: comentários não são permitidos, vírgulas finais são erros de sintaxe, e configuração profundamente aninhada fica ilegível para humanos. A correção é JSON5 (JSON com comentários e vírgulas finais) para configuração editada por humanos, enquanto mantém JSON puro para transporte.

YAML - legível, por vezes demasiado esperto

YAML lê-se como notas de esquema. A indentação cria estrutura; listas usam traços; valores não precisam de aspas. Os campos são curtos e o ficheiro é denso. É por isso que YAML domina Kubernetes, GitHub Actions, Docker Compose e configurações de CI - todos lugares onde humanos editam o ficheiro diariamente.

Onde YAML magoa: o espaço em branco é significativo e os tabs quebram o parser. A string "yes" analisa como o booleano true. O código de país Noruega "NO" analisa como false. Números com zeros a esquerda analisam como octal. Strings multi-linha têm quatro sintaxes diferentes. O formato é legível por humanos mas não seguro para humanos; bugs de análise subtis são comuns em produção. A correção é lintar cada ficheiro YAML em CI e citar qualquer string que pareça poder ser mal interpretada.

TOML - simples, raso

TOML mira no nicho de ficheiros de configuração onde YAML é demasiado solto e JSON é demasiado verboso. Secções em parênteses 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 várias ferramentas de configuração usam-no.

Onde TOML é desajeitado: dados profundamente aninhados. A sintaxe para arrays de tabelas é verbosa e não visualmente óbvia. Para aninhar mais de 2-3 níveis, YAML ou JSON leem melhor. TOML vence quando a configuração é naturalmente plana - uma lista de dependências, uma lista de definições de compilação, um pequeno conjunto de secções nomeadas.

Regra de decisão

Máquina a máquina: JSON. Configuração humana editada diariamente, com estrutura maioritariamente plana: TOML. Configuração humana editada diariamente, com estrutura profundamente aninhada: YAML, com linting em CI. Em caso de dúvida, JSON - o rigor é 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 validação JSON prática no navegador, veja JSON parser: validar vs formatar vs visualização em árvore - explica quando cada ação 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 - Text to MD5 + MD5 to text cached 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 - Quick keyboard check before a meeting or new purchase.
  • 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: