Convertir CSV a JSON

Funciona en tu dispositivo · Tu archivo nunca sale de tu dispositivo.

Suelta una exportación .csv o pega el texto y obtén una lista JSON – un objeto por fila, con la fila de cabecera como claves. El analizador sigue la RFC 4180, así que los campos entrecomillados, las comillas dobladas y las comas o saltos de línea dentro de una celda llegan intactos.

El separador de columnas se detecta solo entre coma, punto y coma, tabulador y barra vertical – las exportaciones europeas con punto y coma funcionan sin tocar nada – y puedes forzarlo. Por defecto "12" pasa a ser el número 12, "true" un booleano y una celda vacía null – pero solo donde nada cambia: 1.50, 1e3, 007 y los identificadores largos siguen como texto, porque como números se volverían a escribir de otra forma. Desactívalo y cada valor queda exactamente como el texto que era.

Las cabeceras repetidas o vacías reciben nombres únicos (column_3), la marca de orden de bytes se elimina, un archivo guardado en UTF-16 o en una página de códigos antigua se lee como tal y se indica cuál, las filas con más celdas que la cabecera se señalan con su línea, y un problema de análisis se indica con su línea y columna en lugar de un mensaje vago. La vista previa muestra las primeras 200 líneas antes de descargar.

Cómo Convertir CSV a JSON

  1. Suelta un archivo CSV o pega el texto CSV en el cuadro.
  2. Deja el separador en automático o elígelo; decide si números y booleanos deben llevar su tipo.
  3. Pulsa «Convertir a JSON» y revisa la vista previa.
  4. Descarga el .json.

Formatos admitidos y límites

Entrada
CSV / TSV (.csv, .tsv, .txt) – un archivo o texto pegado
Salida
Array JSON de objetos, con sangría, UTF-8
Análisis
RFC 4180: comillas, separadores y saltos de línea dentro de celdas
Separador
Detectado solo: coma, punto y coma, tabulador, barra vertical
Dónde se ejecuta
En tu navegador – sin subir nada

No sirve para: Reconstruir estructuras anidadas – un CSV es plano, así que cada fila se convierte en un objeto plano; las columnas con punto en el nombre no se vuelven a anidar.

Qué cambia exactamente la detección de tipos

Con el interruptor activado, una celda solo pasa a número cuando ese número se volvería a escribir con el mismo texto: 12, -4 y 3.5 pasan a números. 1.50, 1e3 y -0 siguen como texto, porque como números volverían como 1.5, 1000 y 0. Lo mismo pasa con 007, +5, " 12", 3,5, 1,250, un signo de porcentaje o de moneda, y un identificador más largo de lo que un número puede guardar con exactitud.

true y false se reconocen en mayúsculas o minúsculas, así que TRUE pasa a true. Una celda vacía pasa a null, pero la palabra NULL sigue como texto, ya que también puede ser un valor o un nombre. Las fechas, como 2024-01-05, siempre siguen como texto.

Filas más cortas o más largas que la cabecera

Las celdas se emparejan con la cabecera por su posición. Una fila con menos celdas recibe null en las columnas que faltan (una cadena vacía si la detección está desactivada). Una fila con más celdas que la cabecera no tiene dónde poner las sobrantes, así que se dejan fuera, y un mensaje encima de la vista previa dice a cuántas filas les pasó y en qué línea empieza la primera. Suele significar que un valor como García, Ana contiene el separador sin comillas.

Las líneas en blanco se saltan. A los nombres de la cabecera se les quitan los espacios de alrededor; a los valores no, así que " Madrid" conserva su espacio.

Cómo se leen las comillas, y adónde apunta un error

Una comilla solo abre un campo entrecomillado cuando es el primer carácter del campo; en medio, como en pantalla de 5", forma parte del texto. Una comilla que abre un campo y nunca se cierra arrastraría el resto del archivo a una sola celda, así que la conversión se detiene e indica la línea y la columna donde se abrió esa comilla.

Detección del separador y codificación del archivo

La detección mira los primeros 64 KB, hasta 50 líneas, y elige el separador que da el mismo número de columnas en más líneas; los separadores dentro de comillas no cuentan. En un archivo con punto y coma y decimales con coma, como A;1,5, se detecta el punto y coma y 1,5 sigue como texto.

El archivo se lee según lo que son sus bytes: una marca de orden de bytes, UTF-16 (lo que Excel guarda como «Texto Unicode») o UTF-8. Cuando los bytes no son UTF-8 válido, se usa la página de códigos antigua con la que se leen como palabras: las páginas de códigos de Windows para texto de Europa occidental y central, cirílico, griego, turco, hebreo, árabe (con persa y urdu) y tailandés, o GB18030, Big5, Shift_JIS y EUC-KR para chino, japonés y coreano. La línea del archivo lo indica entonces, por ejemplo «leído como windows-1256, no UTF-8»; un archivo muy corto tiene pocas letras con las que juzgar, así que revisa su vista previa.

Preguntas frecuentes

¿Mis archivos se suben a un servidor?
No. La conversión ocurre por completo en tu navegador, con la potencia de tu propio dispositivo. El archivo no sale de tu ordenador ni de tu móvil. Y una vez que has usado una herramienta, sigue funcionando sin conexión (el video, el reconocimiento de texto y la eliminación de fondo descargan su motor desde esta web la primera vez).
¿Cómo se tratan números, booleanos y celdas vacías?
Con «Detectar números, booleanos y celdas vacías» activado, 12 y 3.5 pasan a ser números, true/false booleanos y una celda vacía null. Un valor solo pasa a número cuando se volvería a escribir exactamente igual, así que 1.50, 1e3, los ceros a la izquierda (007) y los identificadores largos siguen siendo texto y nada cambia sin avisar. Desactiva el interruptor para conservar cada valor como texto.
Mi archivo usa punto y coma o tabuladores – ¿tengo que hacer algo?
No. El separador se detecta en las primeras líneas del archivo. Si no acierta, elígelo tú en la lista.
¿Y si una celda contiene una coma o un salto de línea?
Para eso están las comillas, y el analizador las trata exactamente como dice la norma: un campo entre comillas puede contener separadores, saltos de línea y comillas dobladas.

Herramientas relacionadas

Más en Hojas de cálculo y datos

Esta página en otros idiomas: English · العربية · Deutsch · Français · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা