Repolode
toon-format

toon-format/toon

Una codificación compacta y legible para humanos de datos JSON, diseñada para reducir el uso de tokens al incluir datos estructurados en prompts de LLM.

Estrellas
25,528
Forks
1,280
Issues abiertos
2
Último commit
hace 12 días

¿Qué es?

TOON (Token-Oriented Object Notation) vuelve a codificar el modelo de datos JSON en un formato que combina la indentación de estilo YAML para objetos anidados con filas tabulares de estilo CSV para arrays uniformes. Cada array declara su longitud y la lista de campos en una cabecera, para que los modelos puedan saber cuántas filas esperar y qué campos contiene cada una.

El proyecto ofrece un SDK de TypeScript con funciones de codificación y decodificación, APIs de streaming para conjuntos de datos grandes y una CLI que convierte entre JSON y TOON e informa del ahorro estimado de tokens. La codificación no pierde información, por lo que los datos pueden convertirse de vuelta al JSON original. Las implementaciones oficiales y los ports de la comunidad siguen una especificación común con un conjunto de pruebas de conformidad.

TOON funciona mejor con arrays de objetos uniformes. Para datos muy anidados o no uniformes, el proyecto señala que el JSON compacto puede ser más eficiente; para datos tabulares completamente planos, CSV ocupa menos. El repositorio incluye benchmarks que comparan la precisión de recuperación y el número de tokens en JSON, YAML, XML y CSV.

Funciones clave

  • 01Codifica objetos y arrays JSON en un formato indentado similar a YAML, con tablas de estilo CSV para datos uniformes.
  • 02Las cabeceras de los arrays declaran el número de filas y los nombres de los campos, lo que ayuda a los modelos a detectar resultados truncados o mal formados.
  • 03Conversión de ida y vuelta sin pérdida de información entre JSON y TOON.
  • 04SDK de TypeScript con APIs de codificación, decodificación y streaming.
  • 05CLI para convertir archivos o stdin y mostrar el ahorro de tokens con --stats.
  • 06Admite delimitadores de coma, tabulación y barra vertical.

Casos de uso

  • Pasar listas grandes de registros uniformes, como resultados de consultas a bases de datos, a un LLM sin aumentar demasiado el tamaño del prompt.
  • Convertir respuestas de APIs JSON a un formato compacto antes de incluirlas en prompts.
  • Comprobar cuántos tokens consumiría un payload JSON en TOON frente a otros formatos.
  • Crear pipelines de LLM en TypeScript que necesiten una representación de datos reversible y validada.

Inicio rápido

  1. 1

    Prueba TOON con tus propios datos JSON usando npx, sin necesidad de instalar nada

    cat data.json | npx @toon-format/cli --stats

Antes de usarlo

  • Es más adecuado para arrays uniformes u objetos con claves; con datos muy anidados o no uniformes, JSON sin formato suele dar mejores resultados.
  • El formato se describe como estable, pero sigue evolucionando, por lo que algunos detalles pueden cambiar.

Temas

Preguntas frecuentes

¿Qué es toon?
Una codificación compacta y legible para humanos de datos JSON, diseñada para reducir el uso de tokens al incluir datos estructurados en prompts de LLM. TOON (Token-Oriented Object Notation) vuelve a codificar el modelo de datos JSON en un formato que combina la indentación de estilo YAML para objetos anidados con filas tabulares de estilo CSV para arrays uniformes. Cada array declara su longitud y la lista de campos en una cabecera, para que los modelos puedan saber cuántas filas esperar y qué campos contiene cada una.
¿toon es gratuito? ¿Qué licencia tiene?
toon es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿toon sigue mantenido?
Mantenimiento activo. El último commit de toon fue el 9 oct 2026.
¿Para qué puedo usar toon?
Pasar listas grandes de registros uniformes, como resultados de consultas a bases de datos, a un LLM sin aumentar demasiado el tamaño del prompt. Convertir respuestas de APIs JSON a un formato compacto antes de incluirlas en prompts. Comprobar cuántos tokens consumiría un payload JSON en TOON frente a otros formatos. Crear pipelines de LLM en TypeScript que necesiten una representación de datos reversible y validada.
¿Cómo se instala toon?
Prueba TOON con tus propios datos JSON usando npx, sin necesidad de instalar nada: cat data.json | npx @toon-format/cli --stats
¿Dónde consigo toon?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/toon-format/toon

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados