Convertir CSV a JSON online

Pega un CSV y recibe JSON, en cuatro formas distintas. La conversión ocurre en esta página, así que un archivo de cien mil filas no es problema y nada de eso se sube a ningún sitio.

Desde

The only part of this site that uses a server. The address is sent to it so the page can be fetched, because a browser is not allowed to fetch someone else's page itself. Your own files are never involved.

Aquí no se sube nada. El análisis ocurre en esta página.
Editar
Pega o sube algo arriba y aparecerá aquí.
ADataMarkupDocumentsCodeSchemasImages

El resultado aparecerá aquí en cuanto haya una tabla que convertir.

Qué es CSV

Un CSV es un archivo de texto donde cada línea es una fila y las comas separan los campos. No hay tipos, no hay formato y no hay una segunda hoja. Todo valor es texto hasta que algo más abajo decida otra cosa.

Casi cualquier base de datos, herramienta de análisis y hoja de cálculo lo lee y lo escribe, y por eso es lo que sale por defecto al exportar.

Qué es JSON

JSON es un formato de texto para datos anidados: objetos con claves, arrays, cadenas, números, booleanos y null. No tiene tipo fecha ni comentarios.

Todas las API web, la mayoría de los archivos de configuración y cualquier cosa que hable con JavaScript.

Qué cambia al convertir CSV a JSON

Leer un CSV obliga a decidir tres cosas que el archivo no dice: qué carácter separa los campos, cómo funcionan las comillas y en qué codificación están los bytes. Aquí el separador se deduce de las primeras líneas, los campos entrecomillados con comas o saltos de línea dentro se tratan bien, y el archivo se lee como UTF-8.

La forma la eliges tú. El array de objetos es la opción por defecto y la que espera casi todo el código. El array bidimensional ocupa menos. Los arrays por columna van bien con librerías de gráficos. El objeto indexado sirve para búsquedas por id.

Las filas planas pasan a ser registros. Cada encabezado se convierte en una clave y cada fila en un objeto que contiene esas claves.

Las celdas vacías obligan a decidir, porque un CSV tiene una sola manera de decir que no hay valor y JSON tiene tres: cadena vacía, null, o la clave directamente ausente. La cadena vacía es la opción por defecto porque es la única que va y vuelve sin perder nada.

Los encabezados repetidos chocarían como claves de un objeto, así que el segundo lleva sufijo. Dos columnas llamadas nombre pasan a ser nombre y nombre_2, en lugar de que una sobrescriba a la otra en silencio.

Un ejemplo real

Tres filas con un identificador que empieza por cero, un valor con una coma, un valor con comillas y una celda vacía. Son los cuatro sitios donde los formatos no se ponen de acuerdo.

CSV entrada
id,name,role,started,hours
007,Halima Yusuf,"Analyst, data",2024-03-15,38.5
012,"Jonah ""Jo"" Pryce",Engineer,2025-11-02,
104,Wei Chen,Manager,2023-06-30,40
JSON salida
{
  "staff": [
    {
      "id": "007",
      "name": "Halima Yusuf",
      "role": "Analyst, data",
      "started": "2024-03-15",
      "hours": "38.5"
    },
    {
      "id": "012",
      "name": "Jonah \"Jo\" Pryce",
      "role": "Engineer",
      "started": "2025-11-02",
      "hours": ""
    },
    {
      "id": "104",
      "name": "Wei Chen",
      "role": "Manager",
      "started": "2023-06-30",
      "hours": "40"
    }
  ]
}

Preguntas

¿Cómo convierto CSV a JSON?

Pega tu CSV en el cuadro de arriba o suelta el archivo encima. Revisa la tabla en la cuadrícula y copia o descarga el JSON desde el panel de salida. Es un solo paso y los datos nunca salen de tu navegador.

¿Por qué mi CSV se abre con todo en una sola columna?

El archivo usa un separador que tu hoja de cálculo no esperaba. En España y en buena parte de Latinoamérica la coma es el separador decimal, así que Excel usa el punto y coma como separador de listas y no parte un archivo separado por comas. Indica el separador al importar y las columnas se separan bien.

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

La detección de tipos convirtió el texto 07030 en el número 7030. Por eso aquí está desactivada por defecto, y aunque la actives, cualquier valor que empiece por cero seguido de otro dígito se queda como texto.

¿Qué forma de JSON debería elegir?

El array de objetos para casi todo, porque es lo que espera el código y lo que devuelven las API. El array bidimensional si el tamaño importa, ya que no repite las claves en cada fila. Los arrays por columna si vas a alimentar una librería de gráficos.

¿Hay límite de tamaño?

No. El trabajo ocurre en tu propia máquina, así que el límite es tu memoria y no una cuota de subida. Un archivo con decenas de miles de filas se convierte en uno o dos segundos.

¿Se sube mi archivo a algún sitio?

No. El análisis y la generación los hace JavaScript en esta página. Puedes mirar la pestaña de red del navegador mientras conviertes y comprobar que no se envía nada.

Conversiones relacionadas

Otros idiomas: English