Inicio CSV a JSON

Convertidor de CSV a JSON

Pega un archivo CSV y obtén un array JSON. La conversión ocurre en esta pestaña — no se sube nada, así que es seguro para datos que no pegarías en una herramienta alojada.

Otros idiomas:EnglishTürkçe

Detección de tipos y la regla del cero inicial

Cada celda de un CSV es texto. JSON tiene tipos reales, así que cualquier conversor debe adivinar qué texto era un número, un booleano o un nulo — y esa suposición es donde las conversiones de CSV a JSON corrompen datos en silencio. Desactiva la casilla y cada valor llega como cadena, que es lo seguro cuando no estás seguro.

Con la detección activada, la regla que más importa es que un cero inicial nunca es un número. 007 se queda como la cadena "007", igual que 01234, +34 600 000 000 y 0000-0002-1825-0097. No es un detalle menor: códigos postales, teléfonos, SKUs, ISBNs y NIFs son cadenas de dígitos cuyos ceros iniciales significan algo, y el clásico error de hoja de cálculo es exactamente esta conversión hecha sin cuidado.

CeldaCon detecciónPor qué
4242Entero simple.
-3.5-3.5Decimal simple.
00Un cero solo no tiene cero inicial que perder.
007"007"El cero inicial es significativo.
1.50"1.50"Se perdería el cero final.
1e5"1e5"Al reescribirlo saldría 100000.
true / TRUEtrueBooleano, sin distinguir mayúsculas.
(vacío)nullUna celda vacía es un valor ausente, no una cadena vacía.

La prueba general es la ida y vuelta: un valor solo se convierte si al reescribir el número resultante se obtiene exactamente el texto original. Esa única regla es la que mantiene intactos 1.50, 1e5 y 007.

Qué maneja bien

  • Campos entrecomillados — comas, comillas y saltos de línea dentro de "…", con "" como comilla escapada.
  • Tabuladores o comas — el delimitador sale de la fila de cabecera, así que un TSV funciona sin cambiar nada.
  • CRLF o LF — se leen los finales de línea de Windows y de Unix.
  • Filas incompletas — a una fila corta le faltan valores, no se le desplazan las columnas.
  • Columnas sin nombre — una cabecera vacía se convierte en col_3, no en una clave vacía.

Lo que deliberadamente no hace

No anida. Una columna llamada user.name se convierte en una clave JSON literalmente llamada "user.name", no en un objeto anidado — la dirección contraria en la página de JSON a CSV (en inglés) aplana con puntos, pero volver a leer esos puntos como estructura reformaría en silencio cualquier archivo cuyas columnas contengan un punto.

Tampoco procesa en flujo. El archivo entero se analiza en memoria, así que mantén la entrada por debajo de unos 2 MB; más allá, divide el archivo o usa una herramienta de línea de comandos. Y no repara CSV roto: un archivo con una comilla sin cerrar se analiza, pero no como querías.

Preguntas frecuentes

¿Se sube mi archivo a algún sitio?

No. La conversión es JavaScript ejecutándose en tu propia pestaña — el archivo nunca sale de tu máquina y la página funciona sin conexión una vez cargada. Por eso tampoco hay un límite de tamaño impuesto por un servidor, solo el de la memoria de tu navegador.

¿Por qué mi código postal es una cadena?

Porque empieza por cero. Un valor solo se convierte en número cuando al reescribirlo se reproduce exactamente el texto original, lo que mantiene intactos 007, 01234 y 1.50. Desactiva la detección de tipos si quieres todas las columnas como cadenas.

¿Puedo convertir TSV en vez de CSV?

Sí. El delimitador se detecta desde la fila de cabecera, así que un archivo separado por tabuladores se convierte sin cambiar ningún ajuste.

¿Maneja comas dentro de un campo?

Sí, si el campo está entrecomillado, que es lo que exige RFC 4180. "García, Ada" llega como un solo valor; el analizador también maneja comillas escapadas ("") y saltos de línea dentro de campos entrecomillados.

¿Qué pasa con una celda vacía?

Con la detección de tipos activada se convierte en null, porque una celda vacía en un CSV casi siempre significa "sin valor" y no "la cadena vacía". Con la detección desactivada se queda como cadena vacía.

Relacionado

Última actualización