Resultado da conversão do JSON Formatter do FormatArcResultado da conversão do JSON Formatter do FormatArc
Publicado: 2026-03-20Atualizado: 2026-04-27

formatarc — Formate JSON, YAML e CSV pelo Terminal (npm / npx)

Rode npx formatarc para formatar JSON e converter YAML, CSV, Markdown e HTML direto do terminal. Importe como API em projetos Node.js — sem precisar de navegador.

Os recursos de conversão de dados do FormatArc agora estão disponíveis como um pacote npm. Você pode formatar JSON e converter YAML, CSV, Markdown e HTML direto do terminal ou do seu código Node.js — sem precisar de navegador.

Este artigo mostra como usar o formatarc como ferramenta de CLI e como integrá-lo ao seu projeto como API.

Instalação

Execute na hora com npx (sem instalar)

Para uma conversão rápida e pontual, o npx é a opção mais simples. Não precisa instalar nada.

npx formatarc json-format '{"name":"FormatArc","version":1}'

Instalação global

Se você usa com frequência, instale globalmente para evitar o atraso de inicialização do npx.

npm install -g formatarc

Após a instalação, o comando formatarc fica disponível diretamente.

formatarc json-format '{"name":"FormatArc","version":1}'

Adicione ao seu projeto

Para usá-lo como dependência em um projeto Node.js:

npm install formatarc

Ferramentas suportadas

Há sete ferramentas de conversão disponíveis — as mesmas encontradas no site do FormatArc (as ferramentas de Markdown foram adicionadas na v0.2.0).

Ferramenta Descrição
json-format Formata e valida JSON
yaml-to-json Converte YAML para JSON
json-to-yaml Converte JSON para YAML
csv-to-json Converte CSV para JSON (exige linha de cabeçalho)
csv-to-markdown Converte CSV em uma tabela Markdown (GFM)
markdown-to-html Converte Markdown para HTML
html-to-markdown Converte HTML para Markdown

Uso da CLI

A sintaxe básica é:

formatarc <tool> [input]

Há três formas de passar a entrada.

1. Argumento inline

formatarc json-format '{"name":"FormatArc","tools":["json","yaml","csv"]}'

Saída:

{
  "name": "FormatArc",
  "tools": [
    "json",
    "yaml",
    "csv"
  ]
}

2. Caminho de arquivo

formatarc yaml-to-json config.yaml

Passe um caminho de arquivo e o formatarc lê e converte o conteúdo dele. Isso funciona bem em pipelines de CI/CD.

3. Pipe a partir do stdin

cat data.csv | formatarc csv-to-json

Combine com o curl para formatar respostas de API na hora. Se quiser comparar o formatarc com o jq e o python -m json.tool, veja curl pretty-print JSON: 4 one-liners.

curl -s https://api.example.com/data | formatarc json-format

Trabalhando com Markdown e HTML

Transforme um CSV em uma tabela Markdown para um README do GitHub ou uma página de documentação:

cat users.csv | formatarc csv-to-markdown

Renderize Markdown como HTML para plataformas de blog que não aceitam Markdown diretamente:

cat README.md | formatarc markdown-to-html > README.html

Ou reduza HTML a um Markdown limpo — perfeito ao alimentar páginas web em LLMs:

curl -s https://example.com/article | formatarc html-to-markdown

Usando a API

Você também pode chamar as funções de conversão diretamente do seu código Node.js. Isso é útil para scripts de automação ou ao construir suas próprias ferramentas.

A função convert

A convert recebe o nome de uma ferramenta e uma string de entrada, e retorna o resultado da conversão.

import { convert } from "formatarc";

const result = convert("json-format", '{"a":1,"b":2}');
console.log(result.output);
// {
//   "a": 1,
//   "b": 2
// }

O valor de retorno tem dois campos: output (o resultado convertido) e error (a mensagem de erro).

const result = convert("json-format", "{invalid json}");
if (result.error) {
  console.error(result.error);
  // JSON parse error: Expected property name or '}' ...
}

Em caso de erro, output é uma string vazia e error contém a mensagem. Em caso de sucesso, error é uma string vazia.

A função isValidTool

Um type guard que verifica se uma string é um nome de ferramenta válido.

import { convert, isValidTool } from "formatarc";

const toolName = process.argv[2];

if (isValidTool(toolName)) {
  const result = convert(toolName, inputData);
  console.log(result.output);
}

Exemplo: converter arquivos YAML para JSON em lote

import { convert } from "formatarc";
import { readFileSync, writeFileSync } from "fs";
import { globSync } from "fs";

const files = globSync("configs/*.yaml");

for (const file of files) {
  const yaml = readFileSync(file, "utf-8");
  const result = convert("yaml-to-json", yaml);

  if (result.error) {
    console.error(`${file}: ${result.error}`);
    continue;
  }

  const outPath = file.replace(/\.yaml$/, ".json");
  writeFileSync(outPath, result.output);
  console.log(`${file} → ${outPath}`);
}

Artigos relacionados

Usando a versão no navegador

Se você prefere uma interface visual em vez do terminal, o site do FormatArc faz tudo no navegador. Nenhum dado é enviado a nenhum servidor.