Conversor de CSV a JSON
Convierte valores separados por comas en arreglos u objetos JSON.
Acerca de CSV → JSON
El CSV (Comma-Separated Values) es un formato de datos tabulares sencillo, mientras que JSON (JavaScript Object Notation) es el formato estándar de las API y aplicaciones web. Esta herramienta convierte entre ambos, gestionando campos entre comillas, caracteres escapados y varios separadores. Cuando se marca «La primera fila es un encabezado», los nombres de columnas se convierten en las claves de los objetos JSON.
Cómo funciona
- Pega tu CSV: introduce el texto CSV en el campo de entrada. Elige el separador que coincida con tus datos (coma, tabulación, punto y coma o barra vertical) en el menú desplegable.
- Configura las opciones: marca «Primera fila es encabezado» si la primera línea contiene nombres de columnas (se convertirán en claves JSON). Marca «Detección automática de tipos» para convertir números y booleanos automáticamente.
- Convierte: cada fila CSV se convierte en un objeto JSON con las claves procedentes del encabezado, o en un array simple si no hay encabezado.
- Copia o descarga: copia el array JSON o descarga un archivo .json para usar en código o API.
¿Por qué convertir CSV a JSON?
CSV es el formato de exportación universal de hojas de cálculo, bases de datos y herramientas de análisis, pero la mayoría de las API modernas, aplicaciones JavaScript y bases de datos NoSQL funcionan en JSON. Convertir exportaciones CSV de Google Sheets, Excel, Airtable o herramientas de base de datos a JSON es una tarea diaria en data engineering, desarrollo web e integración de API. Este convertidor gestiona los casos habituales: campos entre comillas que contienen comas, comillas escapadas en el interior, finales de línea Windows (CRLF) y columnas mixtas número/cadena con detección inteligente de tipos.
Funcionalidades
- Cuatro separadores a elegir: coma, tabulación, punto y coma o barra vertical, desde un menú desplegable
- Compatibilidad con el encabezado: la primera fila se usa como nombres de las claves JSON
- Coerción de tipos: números y booleanos detectados automáticamente
- Compatibilidad con archivos grandes: gestiona archivos de miles de líneas
- Opción de pretty-print: salida JSON indentada o compacta
¿Qué es la conversión CSV a JSON?
La conversión CSV a JSON toma un archivo de texto tabular plano (filas de valores separados por comas) y emite un arreglo JSON donde cada fila se convierte en un objeto indexado por los encabezados de columna. Los mismos datos ('name,age' nueva línea 'Alice,30' nueva línea 'Bob,25') pasan de un CSV de dos filas a un arreglo JSON de dos objetos, cada uno con campos name y age. La conversión es reversible (json-to-csv cubre la dirección inversa).
CSV sigue siendo el formato de exportación universal para hojas de cálculo (Excel, Google Sheets, Numbers, LibreOffice Calc) y bases de datos SQL (mysqldump, pg_dump). JSON es el formato dominante para APIs web, bases de datos NoSQL y aplicaciones JavaScript. Convertir entre ellos es la tarea de interoperabilidad más común en ingeniería de datos, pipelines ETL y trabajo front-end.
Este convertidor maneja cuatro delimitadores (coma, punto y coma, tabulación, barra vertical), filas de encabezado opcionales y detección automática de tipos numéricos y booleanos. Implementa las reglas de entrecomillado RFC 4180 para que los campos entrecomillados con comas, saltos de línea o comillas duplicadas integradas se analicen correctamente. La salida es JSON formateado con indentación de dos espacios listo para copiar o descargar.
Lo que hay dentro del convertidor
La barra de control superior expone las tres perillas que cambian el comportamiento de análisis: un menú desplegable de delimitador (coma, punto y coma, tabulación o barra vertical), una casilla Primera fila es encabezado, y una casilla Detección automática de tipos. Elija primero el delimitador que coincida con sus datos de origen, luego decida si la fila de encabezado debe promoverse a claves de objeto o mantenerse como fila de datos.
Las dos áreas de texto muestran la entrada CSV a la izquierda y la salida JSON a la derecha. La salida es de solo lectura y se actualiza después de hacer clic en Convertir a JSON. Un contador de filas debajo de los botones muestra cuántas filas reconoció el analizador; si difiere de lo que esperaba, verifique el delimitador o busque comillas no balanceadas en su entrada.
Cinco botones de acción están debajo de los paneles: Convertir a JSON ejecuta la conversión, Copiar escribe la salida en su portapapeles, Muestra carga un CSV de muestra para que pueda ver el formato esperado, Borrar vacía ambas áreas de texto, y Descargar guarda el JSON como un archivo .json. También hay una tabla de vista previa oculta que aparece cuando hace clic en Muestra, mostrando las filas analizadas en un diseño tabular.
Historia y contexto
Las tarjetas perforadas Hollerith inauguran los datos tabulares (1890)
El censo de EE.UU. de 1890 funcionaba con las tarjetas perforadas de Herman Hollerith, cada tarjeta sosteniendo columnas de datos de posición fija. La idea de filas-y-columnas como formato de datos precede a las computadoras digitales por 50 años. Todo formato tabular moderno (CSV, TSV, Excel, Parquet) rastrea su forma rectangular a las tarjetas perforadas. La Computing-Tabulating-Recording Company que surgió de las patentes de Hollerith se convirtió en IBM en 1924.
CSV emerge del I/O dirigido por listas de FORTRAN (1972)
El compilador FORTRAN de IBM en 1972 introdujo el I/O dirigido por listas donde los valores separados por comas podían leerse en múltiples variables en una sola llamada. La convención se propagó a BASIC, formatos de informes de mainframe y la computación personal temprana. Para los años 80 la mayoría de los programas de hojas de cálculo (VisiCalc, Lotus 1-2-3, Excel) podían exportar texto separado por comas. No había una sola especificación, por lo que proliferaron los dialectos.
RFC 4180 estandariza CSV (2005)
El RFC 4180 de Yakov Shafranovich, publicado en octubre de 2005, le dio a CSV su primera especificación ampliamente citada. Definió el uso de terminadores de línea CRLF, escape de comillas dobles (una comilla dentro de un campo entrecomillado se escribe como dos comillas), y un solo carácter delimitador. El RFC era Informativo, no Estándar Propuesto, por lo que muchas herramientas aún se desvían de él, pero RFC 4180 sigue siendo la referencia canónica de cómo se ve un CSV bien formado.
JSON especificado (2001) y estandarizado (2013)
Douglas Crockford documentó JSON en abril de 2001. Era un formato obvio para serializar objetos JavaScript pero se propagó rápidamente a cada lenguaje. ECMA-404 lo estandarizó en 2013, RFC 8259 reemplazó al RFC 4627 en 2017. El formato es intencionalmente mínimo (sin comentarios, sin esquema), que es exactamente por qué se convirtió en la lengua franca de las APIs.
Variantes CSV específicas de la localización emergen (desde los 90)
En países donde la coma se usa como separador decimal (Francia, Alemania, la mayor parte de Europa continental, Brasil), Excel exporta CSV con un punto y coma como delimitador para evitar el choque con las comas decimales. En países anglófonos la coma se queda. La misma instalación Excel produce CSV diferente dependiendo de la localización del sistema operativo, por lo que este convertidor expone un menú desplegable de delimitador en lugar de adivinar.
PapaParse y el ascenso del CSV en navegador (2014)
PapaParse de Matt Holt (2014) se convirtió en el analizador CSV JavaScript de facto. Su diseño (detección automática de delimitador, manejo de archivos grandes con web workers, conformidad estricta RFC 4180) se convirtió en la plantilla para cada convertidor en navegador que siguió. Esta herramienta implementa un analizador más ligero ajustado a los cuatro delimitadores comunes y los casos RFC 4180 más citados, sin los workers (que son innecesarios para las entradas de kilobyte a megabyte típicas de esta UI).
Flujos de trabajo prácticos
Exportación de hoja de cálculo a cuerpo de petición API
Exportó una lista de contactos de 200 filas desde Google Sheets como CSV. Pegue aquí, deje Primera fila es encabezado marcada, haga clic en Convertir. El arreglo JSON de salida está listo para hacer POST a un endpoint API CRM que espera creación masiva.
Archivo de semilla de base de datos desde CSV
Tiene un CSV de productos de un sistema heredado. Convierta a JSON, guarde como seed.json, y cárguelo en MongoDB o DynamoDB con mongoimport o AWS CLI. El arreglo JSON mapea directamente a una colección sin un esquema explícito.
Datos para librerías de gráficos (D3, Chart.js, Recharts)
D3.js acepta CSV directamente vía d3.csv, pero Chart.js y Recharts quieren JSON. Convierta su CSV de ventas mensuales aquí, deje el arreglo resultante en su componente React, y páselo a una prop de gráfico. La opción Detección automática de tipos asegura que las columnas numéricas se conviertan en números reales, no en cadenas.
Datos simulados para un frontend
Al construir UI antes de que exista el backend, los datos simulados viven bien en un archivo JSON importado con require o fetch. Bosqueje sus registros en una hoja de cálculo, exporte CSV, convierta aquí, y pegue en mockData.json. Itere editando la hoja de cálculo (que es más fácil que editar JSON a mano) y reconvirtiendo.
Análisis de archivo de registro con jq
Algunos registros de servidor tienen sabor a CSV. Convierta a JSON, luego canalice a través de jq para filtrar, ordenar y agregar. La conversión cierra la brecha entre registros de archivo plano y herramientas de procesamiento de flujo que esperan registros estructurados.
Importación masiva de CMS
Las plataformas CMS headless (Contentful, Sanity, Strapi, Directus) típicamente aceptan importaciones JSON. Los editores escriben contenido en una hoja de cálculo familiar, usted convierte aquí y ejecuta un script de importación de una sola vez. La fila de encabezado se convierte en los nombres de campo que mapean a su esquema CMS.
Trampas comunes
Campos entrecomillados con comas internas
Una fila como 1,"Smith, John",30 tiene tres campos lógicos, no cuatro, porque la coma dentro del campo entrecomillado es dato, no delimitador. Este analizador respeta el escape de comilla doble RFC 4180, pero CSV mal formado (falta comilla de cierre, comillas no coincidentes) producirá JSON sin sentido. Use un linter CSV o importe el archivo a una hoja de cálculo primero para sacar a la superficie errores estructurales.
Saltos de línea integrados dentro de campos entrecomillados
RFC 4180 permite saltos de línea literales dentro de campos entrecomillados, pero muchos analizadores simples basados en líneas tratan cada salto de línea como un separador de registro. Si su CSV tiene comentarios multilínea o direcciones dentro de comillas, el conteo de filas puede no coincidir con el conteo de líneas visual. Este convertidor las maneja correctamente, pero las herramientas posteriores pueden no hacerlo.
Marca de Orden de Bytes (BOM) al inicio del archivo
Las herramientas Windows (Excel especialmente) a veces prefijan archivos CSV UTF-8 con un BOM de tres bytes (EF BB BF). Cuando copia de un archivo prefijado con BOM, el primer encabezado obtiene un prefijo invisible que desempareja 'name' con 'name' en su código. Abra el archivo en un editor hexadecimal o quite los BOM con una sola línea (sed en unix, Get-Content en PowerShell) antes de pegar aquí.
Coma vs punto y coma por localización
Una exportación Excel de localización francesa usa puntos y coma porque las comas son separadores decimales. Importarlo con el delimitador coma por defecto divide 1,234 en dos campos. Siempre elija el delimitador que coincida con la fuente. Si no está seguro, mire la primera línea en un editor de texto plano; el separador obvio es lo que quiere.
Ceros iniciales perdidos en coerción de tipo
Los códigos postales, números de teléfono y SKUs de producto a menudo comienzan con un cero (por ejemplo '01234'). La Detección automática de tipos los coerce a enteros, perdiendo el cero inicial (1234). Para columnas donde los ceros iniciales importan, desmarque Detección automática de tipos para que los valores se mantengan como cadenas. O convierta y luego envuelva manualmente con comillas los campos afectados.
Inyección de fórmula Excel (bomba CSV)
Si una celda CSV comienza con =, +, -, o @, Excel puede evaluarla como una fórmula cuando se abre el archivo. =cmd|'/c calc'!A1 lanza la calculadora en máquinas Windows. Esto es un vector de ataque conocido cuando las aplicaciones web exportan datos controlados por el usuario a CSV. La conversión a JSON neutraliza la amenaza (JSON no tiene evaluación de fórmulas), pero el CSV original sigue siendo peligroso.
Privacidad y manejo de datos
Todo el análisis ocurre en su navegador usando una pequeña función JavaScript. No enviamos su CSV o JSON a un servidor, no registramos entradas, y no almacenamos salidas. Los botones Copiar y Descargar interactúan con su sistema operativo a través de APIs estándar de gesto de usuario y son invisibles para terceros.
Una vez cargada la página, la herramienta funciona sin conexión. Puede desconectarse de la red y convertir listas de clientes, SKUs internos, o cualquier dato que no debe salir de su dispositivo. La herramienta es segura para flujos de trabajo adyacentes a HIPAA porque la ruta de datos nunca cruza un límite externo.
Cuándo no usar este convertidor
Archivos muy grandes (más de 10 MB)
El convertidor mantiene toda la entrada en memoria y la procesa sincrónicamente, lo que congela la pestaña del navegador en CSVs de múltiples millones de filas. Para archivos sobre 10 megabytes, use un analizador en streaming (módulo csv de Python, csv-parse de Node, crate csv de Rust) que lee una fila a la vez.
Forma de objeto anidado en celdas
CSV es plano por diseño. Si sus datos tienen objetos o arreglos anidados dentro de celdas (por ejemplo, una columna de etiquetas con valores separados por comas), la conversión los trata como cadenas, no como arreglos. Necesitará un paso de post-procesamiento en JavaScript o Python para dividir la cadena y reconstruir la forma anidada.
Datos binarios o no UTF-8
Los archivos CSV de sistemas Windows más antiguos pueden estar codificados como Windows-1252 (CP-1252) en lugar de UTF-8. Los caracteres especiales (é, ñ, ü) aparecen como mojibake cuando se pegan en un área de texto UTF-8. Vuelva a guardar el archivo como UTF-8 en su editor de texto (o ejecute iconv desde la línea de comandos) antes de pegar.
Datos de streaming en tiempo real
Si su CSV se está adjuntando continuamente (un feed de registro estilo tail), esta herramienta de lote no puede seguir el ritmo. Use un analizador en streaming canalizado a un websocket o una base de datos con un modo de ingesta CSV (Postgres COPY FROM, MySQL LOAD DATA INFILE).
Más preguntas
¿El analizador es estrictamente conforme con RFC 4180?
Principalmente. El analizador maneja el escape de comilla doble (dos comillas dentro de un campo entrecomillado significa una comilla literal), campos entrecomillados con comas y saltos de línea integrados, y terminadores de línea CRLF o LF. Se desvía del RFC 4180 estricto al aceptar campos no entrecomillados con espacio en blanco al inicio o al final (que la especificación prohíbe). Esta tolerancia pragmática coincide con lo que la mayoría de los exportadores CSV del mundo real emiten.
¿Cómo afecta el CSV peculiar de Excel a la salida?
Excel agrega BOMs a archivos UTF-8, a veces usa codificación Windows-1252, y prefiere puntos y coma en localizaciones no inglesas. Quite el BOM y vuelva a guardar como UTF-8 antes de pegar. Elija el delimitador correcto del menú desplegable. Cuidado con los ceros iniciales en columnas tipo número; Excel a menudo los descarta por sí mismo cuando abre el CSV.
¿Qué hay sobre UTF-8 con BOM versus UTF-8 puro?
UTF-8 con BOM tiene un prefijo de tres bytes (EF BB BF) que señala la codificación. La mayoría de las herramientas web (navegadores, analizadores JSON) prefieren UTF-8 plano sin BOM. Si su CSV vino de la exportación UTF-8 de Excel, el BOM puede estar presente, y el primer campo de encabezado lo contendrá silenciosamente. Quite el BOM (sed -i '1s/^\xEF\xBB\xBF//' archivo.csv) antes de pegar.
¿Puedo incrustar JSON dentro de una celda CSV?
Puede, encerrando el JSON en comillas dobles y escapando comillas internas. El convertidor trata la celda como una cadena, así que el JSON dentro permanece como una cadena en la salida. Un paso de post-procesamiento (JSON.parse en ese campo en su código) reconstruye el objeto incrustado. Este es un patrón común al enviar JSON dentro de exportaciones de hojas de cálculo.
¿Por qué a mi JSON de salida le faltan algunas columnas?
Lo más probable es que una fila tenga menos columnas que el encabezado (una celda vacía al final fue descartada en la exportación). El analizador emite undefined para valores faltantes, que JSON.stringify descarta, por lo que el objeto resultante tiene menos claves de las esperadas. Abra el archivo fuente en una hoja de cálculo para ver qué filas son cortas, y arregle los datos o haga post-procesamiento para rellenar valores predeterminados.
¿Esto soporta TSV (valores separados por tabuladores)?
Sí, elija Tabulación del menú desplegable de delimitador. Los archivos TSV son comunes cuando los archivos CSV tendrían demasiadas celdas entrecomilladas (porque los tabuladores son raramente datos válidos en celdas de hojas de cálculo). El analizador maneja TSV idénticamente excepto por el delimitador; las reglas de entrecomillado y escape son las mismas.
Herramientas relacionadas
Convertidor JSON → CSV
Convierte arreglos JSON al formato CSV. Separador personalizable, descarga en .csv.
Formateador y validador JSON
Formatea, minifica y valida JSON al instante. Indentación y mensajes de error configurables.
Generador de tablas HTML
Construye tablas HTML visualmente con una hoja de cálculo. Personaliza los estilos y exporta código HTML limpio.