tooly

Convertir CSV a JSON online

Pega una exportación CSV y obtén un array de objetos JSON listo para una API, un script o un archivo de configuración — delimitador detectado automáticamente y nada se sube.

Todo funciona en tu navegador — no se envía nada

Cómo se usa

  1. 1

    Pega tu CSV — la primera fila debe ser la cabecera.

  2. 2

    Mantén activado “detectar números y booleanos” salvo que todos los valores deban quedar como texto.

  3. 3

    Copia el JSON o descárgalo como archivo.

Por qué convertir una hoja de cálculo en JSON

CSV es lo que exportan las hojas de cálculo, los CRM, los bancos y los paneles de analítica. JSON es lo que consumen las API web, el código JavaScript, las bases de datos NoSQL y la mayoría de los sistemas de configuración. La conversión aparece constantemente: poblar una base de datos de pruebas a partir de una hoja que mantiene un compañero, convertir una lista de productos en datos de ejemplo para un prototipo de front-end, alimentar un script de compilación con una lista de redirecciones o traducciones, o enviar un lote de registros a una API que solo acepta JSON.

El resultado aquí es un array JSON con un objeto por cada fila de datos. La fila de cabecera aporta los nombres de las propiedades, así que una hoja con las columnas sku, title y price se convierte en objetos con exactamente esas tres claves, listos para recorrerlos.

Cómo lee el parser tu CSV

CSV parece trivial hasta que un valor contiene el separador. El parser sigue las reglas de RFC 4180, lo más parecido a un estándar que tiene CSV:

  • Un campo entre comillas dobles puede contener el delimitador, saltos de línea y comillas. "Smith, John" sigue siendo un solo valor.
  • Una comilla dentro de un campo entrecomillado se escribe dos veces: "6"" pipe" se convierte en 6" pipe.
  • Las líneas pueden terminar en CRLF al estilo Windows o en LF al estilo Unix; ambas se procesan.
  • La marca de orden de bytes (BOM) al principio, que Excel añade al guardar como CSV UTF-8, se elimina para que no acabe pegada al nombre de la primera columna.
  • Las líneas completamente vacías se omiten.

El delimitador se elige contando comas, puntos y comas, tabuladores y barras verticales en la primera línea y escogiendo el más frecuente. Funciona con casi cualquier exportación, pero depende de que la cabecera sea representativa. Si tu cabecera es una sola columna sin separadores, se asume la coma.

Los espacios alrededor de los nombres de la cabecera se eliminan, así que price se convierte en la clave price. Los valores de las filas de datos se conservan exactamente como están escritos, incluidos los espacios al principio o al final.

Valores con tipo frente a cadenas

Con «Detectar números y booleanos» activado, cada celda se comprueba contra una breve lista de reglas:

  • Los enteros y decimales simples como 42, -7 y 19.99 se convierten en números JSON, siempre que tengan como máximo 15 dígitos.
  • Exactamente true y false, en minúsculas, se convierten en booleanos. TRUE, Yes o 1 se quedan como están.
  • Una celda vacía se convierte en null.
  • Todo lo demás, incluidas las cadenas de dígitos más largas, 1.5e3, +5, .5, 1,234 y las fechas, sigue siendo una cadena.

Esto resulta cómodo para la mayoría de los datos, pero los números en JSON no llevan formato, así que algunos valores cambian de significado al convertirse:

  • Los ceros a la izquierda desaparecen. Un código postal estadounidense 02134 pasa a ser 2134, y un número de artículo 007 pasa a ser 7.
  • Las cadenas de dígitos largas perderían precisión. Los números de JavaScript solo son exactos hasta unos 15 dígitos significativos, así que los valores con más dígitos, como un ID de pedido de 20 dígitos o un número de tarjeta, se conservan como cadenas en lugar de redondearse.
  • Los números de teléfono sin signo más ni espacios también se convierten en números.

Si alguna columna contiene identificadores en lugar de cantidades, desactiva la opción y convierte en tu propio código los pocos campos que sean realmente numéricos. Con la opción desactivada, las celdas vacías se convierten en cadenas vacías en lugar de null.

Cuando el resultado se ve mal

  • Todo acaba en una sola clave. No se detectó el delimitador, normalmente porque la cabecera usa un separador distinto al de los datos, o ninguno. Revisa la primera línea.
  • Los valores están desplazados una columna. Un campo contiene el delimitador pero no está entre comillas. Vuelve a exportar desde la aplicación de origen en lugar de editarlo a mano; las hojas de cálculo entrecomillan esos campos automáticamente.
  • Desaparecen columnas extra. Las claves salen solo de la cabecera, así que las celdas más allá de la última columna de cabecera se descartan. Las filas con menos celdas reciben null o una cadena vacía en las que faltan.
  • Dos columnas, una clave. Si la cabecera repite un nombre, la columna posterior sobrescribe a la anterior en cada objeto. Cambia antes el nombre de una de ellas.
  • Caracteres raros como é. El archivo se guardó con una codificación antigua. Vuelve a guardarlo como CSV UTF-8 y pégalo otra vez.

Trabajar con el resultado

El JSON se muestra con una sangría de 2 espacios, adecuada para leerlo y para subirlo a un repositorio. Para minificarlo de cara a una petición a una API o cambiar la sangría, pásalo por el formateador de JSON. Para hacer el camino inverso después de editarlo, JSON a CSV reconstruye una hoja a partir del array. La conversión se ejecuta por completo en la página, algo que importa cuando la exportación contiene nombres de clientes, correos o salarios.

Preguntas frecuentes

¿Qué delimitadores admite?

Coma, punto y coma, tabulador y barra vertical se detectan automáticamente a partir de la primera línea.

¿Se gestionan los campos entre comillas?

Sí — comillas, comas incrustadas, saltos de línea dentro de comillas y comillas dobles siguen el estándar RFC 4180.

¿Qué hace “detectar números y booleanos”?

“42” se convierte en 42, “true” en true y las celdas vacías en null. Las cadenas de más de 15 dígitos se mantienen como texto para conservar su valor exacto. Desactívalo para mantener todo como texto, por ejemplo en códigos postales con ceros a la izquierda.

¿Se suben mis datos?

No. El análisis se hace en tu navegador.

¿Puedo convertir archivos de Excel?

Guarda la hoja como CSV primero (Archivo → Guardar como → CSV UTF-8) y luego pégala aquí.

Herramientas relacionadas