CSV to JSON

Convierte datos CSV a formato de array u objeto JSON

Se ejecuta localmente · Es seguro pegar secretos
El CSV aparecerá aquí…

¿Qué es la conversión de CSV a JSON?

CSV (Comma-Separated Values) es un formato tabular de texto plano donde cada línea es un registro de datos y los campos dentro de un registro se separan con un delimitador, normalmente una coma. CSV ha sido un formato de intercambio estándar desde los primeros días de la informática personal, formalizado en RFC 4180. Las hojas de cálculo, bases de datos y herramientas de exportación de datos producen CSV porque es simple, compacto y puede ser leído por prácticamente cualquier lenguaje de programación.

JSON (JavaScript Object Notation) representa datos estructurados como pares clave-valor y arrays ordenados. A diferencia de CSV, JSON soporta objetos anidados, valores tipados (números, booleanos, null) y registros de longitud variable. Dado que JSON es comprendido de forma nativa por los motores JavaScript, es el formato dominante para el intercambio de datos entre navegador y servidor y para las respuestas de APIs REST. Estas propiedades hacen de JSON el formato predeterminado para APIs web, archivos de configuración y bases de datos NoSQL como MongoDB y CouchDB.

Convertir CSV a JSON consiste en transformar cada fila de la tabla en un objeto JSON, usando la fila de cabecera como nombres de propiedad y los valores de las celdas como valores de propiedad. El resultado es típicamente un array JSON de objetos. Esta conversión es necesaria cuando hay que introducir datos tabulares planos en un sistema que espera entrada JSON estructurada, como una API REST, un componente de tabla en el frontend, o una base de datos orientada a documentos.

¿Por qué usar esta herramienta?

Este conversor analiza tu CSV en el navegador, genera la salida JSON al instante y nunca envía tus datos a un servidor.

Conversión instantánea
Pega el CSV y obtén la salida JSON de inmediato. Sin esperar una ida y vuelta al servidor ni subir archivos. La conversión ocurre mientras escribes.
🔒
Procesamiento con privacidad primero
Tus datos permanecen en tu pestaña del navegador. Nada se transmite por la red. Seguro para conjuntos de datos internos, credenciales o información personal que no debe salir de tu máquina.
🔀
Detección automática de delimitadores
La herramienta reconoce delimitadores de coma, tabulador, punto y coma y pipe. También puedes establecer el delimitador manualmente si tu archivo usa un separador poco habitual.
📋
Copiar o descargar
Copia el resultado JSON al portapapeles con un clic o descárgalo como archivo .json. Listo para usarlo directamente en tu código, cliente de API o importación en base de datos.

Casos de uso de CSV a JSON

Desarrollo frontend
Convierte una exportación CSV de una herramienta de diseño o hoja de cálculo a JSON para usarla como datos de prueba en componentes de React, Vue o Angular durante el prototipado.
Seed de APIs backend
Transforma volcados CSV de bases de datos en cargas útiles JSON para inicializar una API REST o GraphQL. Muchos ORMs y herramientas de migración aceptan fixtures JSON para la carga inicial de datos.
Configuración de DevOps
Convierte listas CSV de inventario o matrices de entornos a JSON para usarlas en playbooks de Ansible, archivos de variables de Terraform o configuraciones de pipelines de CI/CD.
Preparación de datos de prueba para QA
Transforma matrices de prueba en hojas de cálculo en arrays JSON que pueden ser consumidos por frameworks de testing como Jest, pytest o Playwright para pruebas basadas en datos.
Pipelines de ingeniería de datos
Convierte salidas CSV de consultas SQL o exportaciones ETL a JSON para cargar en almacenes de documentos como MongoDB, Elasticsearch o el modo de ingesta JSON de BigQuery.
Proyectos académicos y aprendizaje
Convierte rápidamente conjuntos de datos CSV de ejemplo (Kaggle, portales de datos abiertos gubernamentales) a JSON para usarlos en trabajos de desarrollo web, tutoriales o proyectos personales.

Referencia de delimitadores CSV

Los archivos CSV no siempre usan comas. El delimitador depende del idioma del sistema, la aplicación exportadora y el contenido de los datos. Estos son los cuatro delimitadores más comunes y cuándo se usa cada uno:

DelimitadorEstándarExtensiónNotas
Comma (,)RFC 4180 default.csvMost common; Excel default export
Tab (\t)TSV variant.tsvAvoids quoting fields that contain commas
Semicolon (;)European locale CSV.csvUsed where comma is the decimal separator (DE, FR, BR)
Pipe (|)Fixed-width alternative.csvRare in field values, good for messy data

CSV vs JSON: diferencias estructurales

La diferencia entre los dos formatos es la razón por la que el mapeo de cabeceras, la inferencia de tipos y el manejo de valores ausentes requieren decisiones explícitas durante la conversión.

CSV
Formato plano orientado a filas. Todos los registros tienen el mismo número de campos. Todos los valores son cadenas a menos que el consumidor infiera los tipos. Sin soporte para anidamiento ni registros de longitud variable. La fila de cabecera es opcional según RFC 4180, pero necesaria para una conversión significativa a JSON.
JSON
Formato con estructura de árbol y autodescriptivo. Cada objeto puede tener claves diferentes. Los valores tienen tipos: cadena, número, booleano, null, objeto o array. Soporta anidamiento arbitrario. El orden de las propiedades no está garantizado por la especificación JSON (ECMA-404), aunque la mayoría de los analizadores preservan el orden de inserción.

Ejemplos de código

Cómo convertir CSV a JSON mediante código en los lenguajes y herramientas de línea de comandos más populares:

JavaScript (browser / Node.js)
// Simple CSV string → JSON array
const csv = `name,age,city
Alice,30,Berlin
Bob,25,Tokyo`

const [headerLine, ...rows] = csv.trim().split('\n')
const headers = headerLine.split(',')
const json = rows.map(row => {
  const values = row.split(',')
  return Object.fromEntries(headers.map((h, i) => [h, values[i]]))
})
// → [{ name: "Alice", age: "30", city: "Berlin" }, ...]

// With the built-in fetch + a library (Papa Parse)
import Papa from 'papaparse'
const result = Papa.parse(csvString, { header: true, dynamicTyping: true })
console.log(result.data) // typed numbers and booleans
Python
import csv, json, io

csv_string = """name,age,city
Alice,30,Berlin
Bob,25,Tokyo"""

reader = csv.DictReader(io.StringIO(csv_string))
data = [row for row in reader]
print(json.dumps(data, indent=2))
# → [{"name": "Alice", "age": "30", "city": "Berlin"}, ...]

# With type coercion (age as int)
import pandas as pd
df = pd.read_csv(io.StringIO(csv_string))
print(df.to_json(orient="records", indent=2))
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]
Go
package main

import (
	"encoding/csv"
	"encoding/json"
	"fmt"
	"strings"
)

func main() {
	input := "name,age,city\nAlice,30,Berlin\nBob,25,Tokyo"
	r := csv.NewReader(strings.NewReader(input))
	records, _ := r.ReadAll()

	headers := records[0]
	var result []map[string]string
	for _, row := range records[1:] {
		obj := make(map[string]string)
		for i, h := range headers {
			obj[h] = row[i]
		}
		result = append(result, obj)
	}

	out, _ := json.MarshalIndent(result, "", "  ")
	fmt.Println(string(out))
	// → [{"age":"30","city":"Berlin","name":"Alice"}, ...]
}
CLI (jq + Miller)
# Using Miller (mlr) — handles quoting, types, and edge cases
mlr --icsv --ojson cat data.csv
# → [{"name": "Alice", "age": 30, "city": "Berlin"}, ...]

# Using csvjson from csvkit (Python-based)
csvjson data.csv

# Using jq with @csv (reverse: JSON → CSV)
# For CSV → JSON, pipe through Miller or Python
cat data.csv | python3 -c "
import csv, json, sys
reader = csv.DictReader(sys.stdin)
json.dump(list(reader), sys.stdout, indent=2)
"

Preguntas frecuentes

¿Cómo gestiona el conversor los archivos CSV sin fila de cabecera?
Si tu CSV no tiene fila de cabecera, el conversor usa claves generadas automáticamente como "field1", "field2", etc. Para obtener mejores resultados, añade una fila de cabecera antes de convertir, o renombra las claves en la salida JSON después.
¿Qué ocurre con los campos entre comillas que contienen comas o saltos de línea?
El analizador sigue las reglas de entrecomillado de RFC 4180. Los campos entre comillas dobles pueden contener comas, saltos de línea e incluso comillas dobles (escapadas como ""). El conversor elimina las comillas externas y preserva el contenido interno como un único valor de cadena JSON.
¿La conversión preserva los tipos de datos como números y booleanos?
CSV es un formato sin tipos; todos los valores de las celdas son cadenas. Este conversor produce valores de cadena por defecto para evitar pérdida de datos. Si necesitas salida con tipos, analiza el resultado JSON en tu aplicación y convierte los campos explícitamente. Librerías como Papa Parse (JavaScript) y pandas (Python) ofrecen opciones de tipado dinámico durante el análisis.
¿Puedo convertir CSV con punto y coma o tabuladores en lugar de comas?
Sí. La herramienta soporta delimitadores de coma, tabulador, punto y coma y pipe. Selecciona el delimitador correcto en el desplegable, o deja que la detección automática lo identifique. Los punto y coma son comunes en exportaciones CSV de Excel con configuración regional europea, donde la coma actúa como separador decimal.
¿Hay un límite de tamaño para la entrada CSV?
Como el procesamiento se ejecuta completamente en tu navegador, el límite práctico depende de la memoria disponible en tu dispositivo. Los archivos de hasta 10-20 MB suelen convertirse sin problemas en hardware moderno. Para archivos muy grandes (cientos de MB), usa un analizador en streaming como Papa Parse en Node.js o el módulo csv de Python, que procesan los datos fila a fila sin cargar todo en memoria.
¿Cómo gestiono filas CSV con distinto número de columnas?
Los CSV irregulares (filas con menos o más campos que la cabecera) son comunes en exportaciones del mundo real. Este conversor rellena los campos ausentes con cadenas vacías e ignora los campos extra más allá del recuento de la cabecera. Si tus datos son sistemáticamente irregulares, revisa el archivo fuente en busca de delimitadores sin escapar o comillas faltantes.
¿Cuál es la diferencia entre una salida de array JSON y un objeto JSON?
Un array JSON de objetos es la salida estándar: cada fila CSV se convierte en un objeto del array, con los nombres de cabecera como claves. Algunas herramientas también ofrecen una salida "orientada a columnas" donde cada cabecera se convierte en una clave con un array de todos los valores de esa columna. El formato array de objetos es más habitual para APIs, bases de datos y enlace de datos en el frontend.