Resultado de conversión del formateador JSON de FormatArcResultado de conversión del formateador JSON de FormatArc
Publicado: 2026-03-20Actualizado: 2026-04-27

formatarc — Formatea JSON, YAML y CSV desde la terminal (npm / npx)

Ejecuta npx formatarc para formatear JSON y convertir YAML, CSV, Markdown y HTML desde tu terminal. Impórtalo como API en proyectos Node.js, sin necesidad de navegador.

Las funciones de conversión de datos de FormatArc ya están disponibles como paquete npm. Puedes formatear JSON y convertir YAML, CSV, Markdown y HTML directamente desde tu terminal o tu código Node.js, sin necesidad de navegador.

Este artículo explica cómo usar formatarc como herramienta de línea de comandos y cómo integrarlo en tu proyecto como API.

Instalación

Ejecútalo al instante con npx (sin instalación)

Para una conversión puntual y rápida, npx es la opción más sencilla. No requiere instalación.

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

Instalación global

Si lo usas con frecuencia, instálalo de forma global para evitar el tiempo de arranque de npx.

npm install -g formatarc

Tras la instalación, el comando formatarc queda disponible directamente.

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

Añádelo a tu proyecto

Para usarlo como dependencia en un proyecto Node.js:

npm install formatarc

Herramientas compatibles

Hay siete herramientas de conversión disponibles, las mismas que encuentras en el sitio web de FormatArc (las herramientas de Markdown se añadieron en la v0.2.0).

Herramienta Descripción
json-format Formatea y valida JSON
yaml-to-json Convierte YAML a JSON
json-to-yaml Convierte JSON a YAML
csv-to-json Convierte CSV a JSON (requiere fila de encabezados)
csv-to-markdown Convierte CSV a una tabla Markdown (GFM)
markdown-to-html Convierte Markdown a HTML
html-to-markdown Convierte HTML a Markdown

Uso desde la CLI

La sintaxis básica es:

formatarc <tool> [input]

Hay tres maneras de pasar la entrada.

1. Argumento en línea

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

Salida:

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

2. Ruta de archivo

formatarc yaml-to-json config.yaml

Pasa una ruta de archivo y formatarc lee su contenido y lo convierte. Esto funciona muy bien en pipelines de CI/CD.

3. Entrada por tubería (stdin)

cat data.csv | formatarc csv-to-json

Combínalo con curl para formatear respuestas de API al instante. Si quieres comparar formatarc con jq y python -m json.tool, consulta curl pretty-print JSON: 4 one-liners.

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

Trabajar con Markdown y HTML

Convierte un CSV en una tabla Markdown para un README de GitHub o una página de documentación:

cat users.csv | formatarc csv-to-markdown

Renderiza Markdown como HTML para plataformas de blog que no aceptan Markdown directamente:

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

O reduce el HTML a Markdown limpio, ideal para alimentar páginas web a los LLM:

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

Uso de la API

También puedes llamar a las funciones de conversión directamente desde tu código Node.js. Esto resulta útil para scripts de automatización o cuando creas tus propias herramientas.

La función convert

convert recibe un nombre de herramienta y una cadena de entrada, y devuelve el resultado de la conversión.

import { convert } from "formatarc";

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

El valor de retorno tiene dos campos: output (el resultado convertido) y error (el mensaje de error).

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

En caso de error, output es una cadena vacía y error contiene el mensaje. Cuando hay éxito, error es una cadena vacía.

La función isValidTool

Una guardia de tipos (type guard) que comprueba si una cadena es un nombre de herramienta válido.

import { convert, isValidTool } from "formatarc";

const toolName = process.argv[2];

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

Ejemplo: convertir por lotes archivos YAML a JSON

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}`);
}

Artículos relacionados

Uso de la versión en el navegador

Si prefieres una interfaz visual en lugar de la terminal, el sitio web de FormatArc lo hace todo en el navegador. No se envía ningún dato a ningún servidor.