JSON vs CSV
Elige CSV para datos planos con forma de fila destinados a hojas de cálculo, importaciones masivas o herramientas columnares —se transmite barato y se abre en todas partes—. Elige JSON cuando los registros se anidan, los tipos importan o un programa consume la carga. CSV es una tabla y JSON es un árbol; convierte cuando cambia el consumidor, no los datos.
JSON vs CSV: explicación
CSV es el formato en el que llegan los datos del mundo físico: exportaciones de hojas de cálculo, extractos bancarios, descargas de sensores, volcados de CRM. Parece sencillísimo —valores separados por comas—, y esa simplicidad aparente es justo por lo que se maneja tan mal tan a menudo. RFC 4180 define una disciplina de entrecomillado precisa que la mayoría de los archivos reales siguen con laxitud, y a partir de ahí se multiplican los dialectos. JSON, en cambio, es el formato con el que los programas se hablan entre sí: una gramática pequeña, seis tipos y anidamiento tan profundo como los datos necesiten.
La diferencia esencial es la forma. Un archivo CSV es una tabla bidimensional: filas de columnas, un valor por celda y todo es texto. Un documento JSON es un árbol: objetos dentro de arrays dentro de objetos, con cada valor llevando su propio tipo. Ninguno es mejor; responden a preguntas distintas. Pero la mayoría del dolor de conversión —y de las conversiones fatalmente rotas— viene de forzar un árbol en una tabla, o de fingir que una tabla tiene una estructura que no tiene.
Esta página los compara donde las decisiones ocurren de verdad: estructura, tipos y entrecomillado, comportamiento de Excel, tamaño a granel y streaming. Ambas direcciones de conversión están enlazadas abajo y se ejecutan por completo en tu navegador, con las reglas de aplanado y de inferencia de tipos documentadas en vez de escondidas.
Convertir una respuesta de API en algo que una persona analista pueda abrir es el cruce clásico —el el convertidor de JSON a CSV aplana un array de registros en columnas de un solo pegado, por completo en tu navegador.
¿Ingerir la exportación de hoja de cálculo de un proveedor en tu código? El el convertidor de CSV a JSON añade tipos y estructura localmente, antes de que el archivo llegue a tu parser.
Forma: una tabla frente a un árbol
Un archivo CSV es una secuencia de registros, cada uno del mismo ancho: nombre, correo, importe, repetido en cada fila. Una fila de encabezados —convencional, no garantizada— nombra las columnas una vez para todo el archivo. Los registros JSON, en cambio, llevan sus claves consigo, así que cada objeto se describe a sí mismo, y un objeto puede contener un array de objetos que contienen arrays. Esa asimetría decide la elección de formato más que cualquier lista de características.
| Aspecto | JSON | CSV |
|---|---|---|
| Forma | Árbol — objetos y arrays se anidan libremente | Una tabla plana de filas y columnas |
| Tipos | Seis tipos, declarados en la sintaxis | Ninguno — cada celda es texto |
| Claves | Cada objeto lleva las suyas | Una fila de encabezados, por convención |
| Anidamiento | Profundidad ilimitada | Imposible sin aplanar o sin archivos extra |
| Estándar | RFC 8259, una gramática | RFC 4180, más dialectos reales persistentes |
| Valores vacíos | null, declarado a propósito | Celda vacía — o una columna entera que falta |
Tipos y entrecomillado: declarados frente a inferidos
En JSON, el tipo de un valor es visible: comillas significan cadena, dígitos desnudos significan número, y true, false y null son tokens exactos. En CSV, el archivo no afirma nada —007 y 7 son ambos texto de celda a secas, y cada consumidor re-infiere los tipos con sus propias reglas—. RFC 4180 sí especifica el entrecomillado con precisión: los campos que contienen comas, comillas dobles o saltos de línea se envuelven en comillas dobles, y las comillas incrustadas se duplican. Los archivos que se saltan esto producen los clásicos bugs de fila rota que toda persona dedicada a la ingeniería de datos ha depurado.
El paso de re-inferencia es donde los datos se corrompen en silencio. Un código postal 02134 se convierte en el número 2134; 1.20 se convierte en 1.2; un número de cuenta largo se convierte en 4.2E+12. JSON tiene la regla espejo —los números no pueden llevar ceros a la izquierda en absoluto, así que un código postal también debe ser una cadena ahí—, pero al menos la declaración es explícita en lugar de ser una adivinanza hecha por la hoja de cálculo de otro.
Excel, datos a granel y dónde gana cada formato
El comportamiento de Excel merece párrafo propio porque quema tantos flujos. Excel abre CSV de forma nativa pero re-tipea cada celda según la configuración regional de la máquina: los ceros a la izquierda desaparecen, las marcas de tiempo ISO acaban destrozadas en fechas locales y en buena parte de Europa manda el dialecto del punto y coma porque la coma es el separador decimal. Al guardar, el archivo se reescribe con esas inferencias horneadas para siempre. JSON nunca pasa por Excel, lo cual ya es una razón para que las integraciones lo prefieran.
A escala, la planitud de CSV es una virtud: las filas se procesan una a una con memoria constante, que es por lo que las exportaciones de varios gigabytes y las herramientas columnares siguen hablando CSV primero. JSON gana donde el consumidor es un programa y la estructura es real: cargas de API, configuración, documentos anidados. Elegir por el consumidor y no por la moda resuelve la mayoría de las discusiones en una frase.
Cuándo elegir cuál — y cómo se comporta la conversión
Elige CSV cuando el destino es tabular: hojas de cálculo, cargas masivas a bases de datos, herramientas de BI y de ciencia de datos. Elige JSON cuando la estructura se anida o el consumidor es código. La recomendación se invierte constantemente en flujos reales: una API devuelve JSON, una persona analista quiere CSV, un proveedor envía CSV que un servicio debe ingerir —la conversión es mantenimiento rutinario, no un proyecto de migración—.
La conversión tiene límites honestos. De JSON a CSV hay que aplanar: un array de objetos se vuelve filas, la unión de sus claves se vuelve columnas, y cualquier array u objeto anidado tiene que convertirse a cadena, unirse o descartarse. De CSV a JSON hay que inferir: las celdas vacías se vuelven null o cadenas vacías, y las celdas con pinta numérica se vuelven números. Los convertidores de este sitio documentan esas reglas exactas en lugar de adivinar en silencio.
Preguntas frecuentes
¿Puede CSV contener datos anidados como JSON?
No —RFC 4180 no tiene concepto de anidamiento; una celda es una celda. Las salidas son aplanar (address_city como nombre de columna), serializar un fragmento JSON dentro de una celda entrecomillada o partir en varios archivos unidos por una clave. JSON Lines —un objeto JSON plano por línea— es el punto medio habitual para datos con forma de registro.
¿Por qué Excel cambia mis valores al abrir un CSV?
Excel re-infiere un tipo para cada celda al cargar: 02134 pierde su cero inicial, un número de cuenta de dieciséis dígitos se convierte en 1.23457E+12 y 2026-09-19 se convierte en una fecha dependiente de la configuración regional. Esas inferencias se guardan de vuelta en el archivo. Importar mediante el asistente de importación de texto de Excel con las columnas forzadas a texto evita el daño; JSON, procesado por un programa, nunca re-tipea nada.
¿Los convertidores de JSON y CSV suben mis archivos?
No. Procesar, aplanar y entrecomillar ocurre todo dentro de tu pestaña del navegador; no hay ningún endpoint de subida, y la Content-Security-Policy del sitio solo permite peticiones de red a sí misma. Verlo en el panel Network de DevTools mientras conviertes lo confirma —nada sale de la pestaña, que es la gracia de las herramientas que se ejecutan localmente—.
¿CSV es un estándar de verdad?
El CSV central es RFC 4180: finales de línea CRLF, delimitadores de coma, duplicado de comillas para las comillas incrustadas y una fila de encabezado opcional que el propio estándar señala como habitual. Los dialectos del mundo real persisten igualmente —delimitadores de punto y coma en buena parte de Europa, variantes separadas por tabuladores, codificaciones inconsistentes con o sin BOM—. La gramática de JSON, de una página, deja mucho menos espacio para dialectos.
¿Qué formato maneja mejor los archivos muy grandes?
CSV, normalmente. Las filas se pueden procesar y descartar una a una con memoria constante, así que el tamaño del archivo apenas pesa a un lector en streaming. JSON suele procesarse como documento completo antes de usarse, con un coste de memoria proporcional al tamaño —existen parsers de JSON en streaming, pero no son lo predeterminado—. Para exportaciones planas enormes, quédate en CSV; para las anidadas enormes, considera JSON Lines.
¿Cómo elige las columnas la conversión de JSON a CSV?
Escaneando los registros y tomando la unión de las claves, en orden de primera aparición, como fila de encabezados; los registros a los que les falte una clave reciben una celda vacía. Los objetos y arrays anidados no caben en una columna, así que los convertidores deben convertirlos a cadena o unirlos —el convertidor de este sitio documenta la elección que hace en lugar de dejarla a la sorpresa—.
¿Dónde puedo leer las normas citadas aquí?
¿Qué herramientas relacionadas debería usar después?
- Convertir JSON a CSVConvierte registros a una hoja de cálculo, anidados incluidosAbrir
- Convertir CSV a JSONConvierte una exportación de hoja de cálculo en registrosAbrir
- Reglas de CSV RFC 4180Guía en lenguaje sencilloAbrir
- Formatear JSONIndenta, ordena claves y quita comentariosAbrir
- Qué es JSONGuía en lenguaje sencilloAbrir
- Herramientas JSONCompara, formatea, valida y explora documentos JSON.Abrir