Conversor de CSV a JSON

Convierte una tabla CSV en un array JSON de objetos, enteramente en tu navegador.

Se ejecuta enteramente en tu navegador. No se sube, registra ni guarda nada.

Pega una exportación de hoja de cálculo y recupera un array JSON, un objeto por fila, indexado por los nombres de las columnas. Ocurre en tu navegador, así que un archivo lleno de registros de clientes, salarios o líneas de pedido no sale nunca de tu máquina.

Cómo funciona

El documento se lee carácter a carácter siguiendo el RFC 4180, que es lo que permite que un campo contenga el delimitador, un salto de línea o una comilla propia: todo lo que está entre comillas dobles es literal, y una comilla duplicada es una comilla. Partir por comas y saltos de línea se rompería con la primera dirección que llevara una coma.

La primera fila pasa a ser los nombres de las columnas salvo que digas lo contrario, en cuyo caso cada fila vuelve como un array en lugar de un objeto. Un nombre en blanco pasa a ser column_1, column_2 y así por posición, y un nombre repetido recibe un sufijo numérico, porque dos claves idénticas en un objeto significan que la primera columna desaparece en silencio.

Todos los valores llegan como cadena, porque el CSV no tiene tipos. Leer los tipos en su lugar es una casilla y no el comportamiento por defecto: la inferencia es lo que convierte un código de producto 007 en el número 7. Cuando está activada es deliberadamente prudente: un cero inicial, un signo más inicial o un espacio alrededor mantienen el valor como cadena, y lo mismo pasa con un entero demasiado grande para sobrevivir como double.

Ejemplos

Caso Entrada Resultado
Un campo entrecomillado que contiene el delimitador name,city "Doe, John",Geneva [ { "name": "Doe, John", "city": "Geneva" } ]

Preguntas frecuentes

Mi archivo usa punto y coma. ¿Sigue siendo CSV?

Sí, y es el caso normal en buena parte de Europa. Una hoja de cálculo que guarda un CSV en una configuración regional que escribe los decimales con coma no puede usar además la coma como separador, así que usa el punto y coma. Elígelo en la lista de delimitadores; el tabulador y la barra vertical están ahí por la misma razón.

¿Por qué mi código postal ha perdido el cero inicial?

No lo ha perdido, salvo que hayas pedido la inferencia de tipos. Sin ella, todos los valores se quedan como cadena exactamente como se escribieron. Con ella activada, los valores que empiezan por cero se siguen conservando como cadena precisamente por esto, junto con todo lo que empiece por un signo más o venga rodeado de espacios.

¿Qué pasa con una fila que tiene un número de campos distinto?

Una fila corta se rellena con cadenas vacías, porque un campo vacío al final lo suele eliminar lo que haya escrito el archivo. Una fila larga conserva sus valores de más con nombres por posición en lugar de descartarlos, así que no desaparece nada sin que lo veas.

¿Se sube mi archivo a alguna parte?

No. La página carga un pequeño script que analiza el documento en local. Puedes desconectarte de la red una vez cargada la página y la herramienta sigue funcionando.

Conviene saber

  • Todo ocurre en tu navegador. El documento no se sube, no se registra y no se almacena.
  • El entrecomillado sigue el RFC 4180: un campo se entrecomilla cuando contiene el delimitador, una comilla doble o un salto de línea, y una comilla doble dentro de un campo entrecomillado se escribe dos veces. Las barras invertidas son caracteres corrientes y no se tratan nunca como escapes.

Fuentes

Todas las herramientas de Código