Skip to content

Convertidor de CSV a JSON

Convierte CSV a JSON en tu navegador. RFC 4180, inferencia de tipos, fila de cabecera, seguro para big-int. 100% privado, sin carga.

Sin rastreo Se ejecuta en el navegador Gratis
Preset
Opciones · , · auto · LF · header · no BOM · flatten
Delimitador
Primera fila es cabecera
Inferir tipos (núm., bool., null)
0 caracteres 0 líneas
Salida JSON
0 filas · 0 cols
Revisado para conformidad con RFC 4180, corrección de la inferencia de tipos, preservación de precisión en enteros grandes y comportamiento de autonombres sin cabecera — Go Tools Engineering Team · May 9, 2026

¿Qué es JSON y por qué convertir desde CSV?

JSON (JavaScript Object Notation) es el formato universal para respuestas de API, archivos de configuración e intercambio de datos estructurados — todos los lenguajes de programación modernos, todas las bases de datos y todos los frameworks web tienen soporte JSON de primera clase. CSV (Comma-Separated Values), en cambio, es el formato tabular más antiguo y ampliamente soportado — todas las hojas de cálculo, todas las exportaciones de bases de datos y todas las herramientas analíticas pueden producirlo. Convertir entre ambos es una de las tareas más comunes en ingeniería de datos: recibes un CSV de una hoja de cálculo, un volcado de base de datos o una exportación de terceros, y necesitas JSON para alimentar una API, hidratar un frontend o cargar en un almacén NoSQL. Esta herramienta está construida para esa ruta de conversión y gestiona cuatro escenarios que la mayoría de conversores online estropean.

Esta herramienta tiene cuatro diferenciadores importantes en comparación con los conversores típicos online de CSV-a-JSON:

**1. Parser de Máquina de Estados RFC 4180.** CSV parece sencillo, pero las reglas de entrecomillado son sutiles: un campo envuelto entre comillas dobles puede contener comas, saltos de línea incrustados y comillas dobles escapadas (duplicadas, como ""). Los parsers ingenuos basados en split-por-coma se rompen con datos reales — direcciones con comas, campos de texto multilínea y valores entrecomillados que contienen comillas. Esta herramienta implementa un parser de máquina de estados adecuado siguiendo RFC 4180 (la especificación del IETF para CSV), gestionando correctamente campos entrecomillados, delimitadores incrustados, finales de línea incrustados y comillas escapadas en ambas direcciones. La salida es reversible mediante el módulo csv de Python, PostgreSQL COPY, AWS S3 SELECT y cualquier parser conforme.

**2. Inferencia de Tipos con Seguridad para Enteros Grandes.** Con Inferir tipos activado, las cadenas numéricas se convierten en números, true/false en booleanos, las celdas vacías en null. Pero el pipeline de inferencia tiene dos guardas importantes: las cadenas con cero a la izquierda (007, 0123) se mantienen como cadenas porque los ceros a la izquierda indican identificadores — convertir a número los eliminaría silenciosamente. Y los enteros por encima de 2^53 - 1 (9007199254740991) también se mantienen como cadenas para evitar la pérdida de precisión IEEE 754. Los IDs snowflake de Twitter, los IDs de Discord, los campos Long de MongoDB y resourceVersion de K8s permanecen exactos en lugar de ser redondeados silenciosamente. Las cadenas de fecha ISO se mantienen intencionalmente como cadenas — JSON no tiene un tipo de fecha nativo.

**3. Autonombres de Cabecera o Usar Primera Fila.** Con Cabecera activada (predeterminado), la primera fila se trata como nombres de columna y cada fila siguiente se convierte en un objeto JSON con esas claves. Con Cabecera desactivada, el parser autonombra las columnas col1, col2, col3 — útil para volcados de datos crudos sin línea de cabecera. La fila de chips de Delimitador cubre los cuatro separadores más comunes: coma (predeterminado RFC 4180), punto y coma (configuraciones Excel-EU), tab (TSV de herramientas Unix y almacenes de datos) y pipe (campos con muchas comas). Selecciona el chip y analiza — sin configuración manual para CSVs típicos del mundo real.

**4. Privacidad 100% en el Navegador.** Tus datos CSV — que a menudo contienen PII de usuarios, exportaciones internas de bases de datos, registros de clientes y exportaciones de producción — nunca salen de tu navegador. No se envían datos a ningún servidor, sin registro, sin analítica que capture la entrada. Puedes verificarlo en la pestaña Red de tu navegador. Esta es la única forma segura de manejar datos sensibles en una herramienta online. Mira la dirección inversa haciendo clic en Invertir o usa nuestro Convertidor JSON a CSV complementario cuando tu objetivo sea CSV. ¿Necesitas validar la salida JSON antes de consumirla? Prueba nuestro Formateador JSON.

Los puntos fuertes de JSON son los tipos precisos, el anidamiento nativo y una especificación estricta que se analiza de forma idéntica en todas partes — el formato adecuado siempre que una máquina consume los datos. Los puntos fuertes de CSV son la universalidad y la legibilidad humana — el formato adecuado siempre que un humano abre una hoja de cálculo. La herramienta correcta depende del consumidor: humano leyendo una hoja de cálculo → CSV, máquina consumiendo una API → JSON. Este conversor cubre el puente en ambas direcciones.

// Input CSV (comma + LF, header on, infer types on)
id,name,active,score
1,Alice,true,98.5
2,Bob,false,87
3,Carol,true,

// Output JSON
[
  { "id": 1, "name": "Alice", "active": true, "score": 98.5 },
  { "id": 2, "name": "Bob", "active": false, "score": 87 },
  { "id": 3, "name": "Carol", "active": true, "score": null }
]

// Same input with Header off (no first-row keys)
1,Alice,true,98.5
2,Bob,false,87

// Becomes
[
  { "col1": 1, "col2": "Alice", "col3": true, "col4": 98.5 },
  { "col1": 2, "col2": "Bob", "col3": false, "col4": 87 }
]

Características principales

Parser de Máquina de Estados RFC 4180

Parser estricto de máquina de estados siguiendo la especificación CSV del IETF: gestión correcta de campos entrecomillados, delimitadores incrustados, CR/LF incrustados y comillas dobles escapadas (duplicadas). La salida hace ida y vuelta limpiamente a través del csv de Python, PostgreSQL COPY y AWS S3 SELECT.

Inferencia de Tipos con Seguridad para Enteros Grandes

Inferir tipos activado convierte cadenas numéricas en números, true/false en booleanos, celdas vacías en null. Los enteros por encima de 2^53 - 1 permanecen como cadenas para evitar la pérdida de precisión IEEE 754; las cadenas con cero a la izquierda (007, 0123) permanecen como cadenas para preservar la semántica de identificador.

Cabecera Activada/Desactivada con Autonombres

Cabecera activada (predeterminado) usa la primera fila como claves JSON. Cabecera desactivada autonombra las columnas col1, col2, col3 en orden — útil para volcados de datos crudos y CSVs generados por máquinas sin línea de cabecera. Los autonombres son deterministas y compatibles con pipelines.

Delimitadores Coma, Punto y Coma, Tab y Pipe

Chips de Delimitador de un solo clic para los cuatro separadores más comunes: `,` (predeterminado RFC 4180), `;` (configuraciones Excel-EU), `\t` (TSV de herramientas Unix, BigQuery, Snowflake) y `|` (campos de texto libre con muchas comas). El parser cambia de modo inmediatamente — sin necesidad de convertir archivos primero.

Detección de Enteros Grandes

Los enteros por encima de 2^53 se detectan durante el análisis y se preservan como cadenas en el JSON — los IDs snowflake de Twitter, los IDs de Discord, los campos Long de MongoDB y resourceVersion de K8s permanecen exactos en lugar de ser redondeados silenciosamente por el tipo Number IEEE 754 de JavaScript.

Bidireccional con Invertir

Un botón de Invertir dirección cambia la conversión sobre la marcha: la entrada se convierte en JSON, la salida en CSV, el texto actual se preserva. Haz ida y vuelta con tus datos en ambas direcciones para verificar la conversión sin pérdidas antes de enviarla a un pipeline.

Ejemplos

Exportación de Hoja de Cálculo con Cabecera

id,name,email,role
1,Alice,alice@example.com,admin
2,Bob,bob@example.com,editor
3,Carol,carol@example.com,viewer
4,Dan,dan@example.com,viewer

CSV estándar de una hoja de cálculo. Con Cabecera activada e Inferir tipos activado, obtienes JSON tipado limpio: los enteros siguen siendo enteros, se detectan booleanos/null.

Exportación de Log Delimitado por Tab (TSV)

ts	event	user	duration
2026-05-09T10:00:00Z	signup	alice	142
2026-05-09T10:01:00Z	login	alice	87
2026-05-09T10:02:00Z	checkout	alice	312
2026-05-09T10:03:00Z	logout	alice	44

Elige `\t` (Tab) como delimitador. La opción Cabecera activada por defecto usa automáticamente la primera fila como claves.

CSV Excel-EU (delimitador punto y coma, CRLF)

id;name;price
1;Alice;1234,56
2;Bob;9876,54
3;Carol;42,00

Excel en configuraciones DE/FR/IT/ES emite separadores `;` porque la coma es la marca decimal. Selecciona `;` en el chip de Delimitador — el parser hace el resto.

Comas Incrustadas y Comillas Escapadas

name,role,note
"Smith, Jr.",admin,"He said ""hi"""
"Doe, Jane",editor,"Two
lines"

Entrecomillado estándar RFC 4180: los campos entrecomillados pueden contener delimitadores y comillas escapadas (duplicadas). El parser es una máquina de estados — nunca corta dentro de las comillas.

CSV con IDs Enteros Grandes

id,event,user
9007199254740993,signup,alice
9007199254740994,login,bob
9007199254740995,checkout,carol

Los enteros grandes superan el rango seguro de JavaScript (2^53 - 1). Con Inferir tipos activado, el parser lo detecta y mantiene el valor como cadena para preservar la precisión — sin truncamiento.

CSV sin Cabecera

1,Alice,admin
2,Bob,editor
3,Carol,viewer
4,Dan,viewer

Desactiva Cabecera; las columnas se autonombran como `col1`, `col2`, `col3`. Útil para volcados de datos crudos sin línea de cabecera.

Cómo usar

  1. 1

    Pega tu CSV

    Introduce o pega tu CSV en el campo de entrada de arriba. La herramienta acepta datos delimitados por coma, punto y coma, tabulación y pipe. También puedes hacer clic en 'Cargar ejemplo' para probar una muestra como una exportación de hoja de cálculo, un log TSV o un CSV Excel-EU con punto y coma.

  2. 2

    Elige el delimitador (o Tab)

    Haz clic en `,` (predeterminado), `;` (punto y coma Excel-EU), `\t` (TSV) o `|` (Pipe) para cambiar el delimitador con un solo clic. Abre el panel de Opciones para un control fino: Cabecera activada/desactivada e Inferir tipos activado/desactivado. Cabecera desactivada autonombra las columnas col1, col2, col3.

  3. 3

    Copia o Descarga el JSON

    Haz clic en Copiar para llevar el JSON al portapapeles, o en Descargar para guardarlo como archivo .json listo para tu código, API o pipeline. Para ida y vuelta, haz clic en Invertir dirección para convertir JSON de vuelta a CSV en el mismo lugar.

Errores comunes de conversión

Coma Incrustada Sin Entrecomillar en el Origen

Si tu CSV se construyó a mano con un join(',') ingenuo, cualquier campo que contenga una coma (Smith, Jr. o 1,234.56) rompe los límites de columna — el parser ve columnas extra donde debería haber una. La solución es envolver el campo problemático entre comillas dobles según RFC 4180. Esta herramienta gestiona correctamente los campos entrecomillados, pero el CSV de origen debe usar el entrecomillado adecuado.

✗ Incorrecto
name,role
Smith, Jr.,admin
// Parser reads 3 columns: "Smith", " Jr.", "admin"
✓ Correcto
name,role
"Smith, Jr.",admin
// Parser reads 2 columns: "Smith, Jr.", "admin"

Punto y Coma Excel-EU Analizado como Coma

Las configuraciones regionales europeas de Excel (Alemania, Francia, España, Italia, etc.) emiten CSV delimitado por punto y coma porque la coma está reservada para el separador decimal. Si dejas el delimitador en `,` (predeterminado), cada fila se colapsa en una sola columna con punto y coma incrustado. Selecciona el chip de Delimitador `;` — el parser cambia al modo punto y coma y produce columnas correctas.

✗ Incorrecto
// Wrong delimiter (default comma) on Excel-EU file
id;name;price
1;Alice;1234,56
// Each row becomes one column: { col1: "1;Alice;1234,56" }
✓ Correcto
// Correct: pick `;` Delimiter chip
id;name;price
1;Alice;1234,56
// Output: { id: 1, name: "Alice", price: "1234,56" }

IDs Enteros Grandes Pierden Precisión tras JSON.parse

Los IDs snowflake de Twitter, los IDs de Discord y otros enteros de 64 bits exceden el rango seguro de JavaScript (2^53 - 1) y pierden precisión cuando JSON.parse() los lee como números. Con Inferir tipos activado, esta herramienta detecta los valores por encima del límite seguro y los mantiene como cadenas en su lugar, preservando los dígitos exactos. Usa BigInt("9007199254740993") en tu código para reconvertir a un tipo numérico.

✗ Incorrecto
// Without big-int detection
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost)
✓ Correcto
// With Infer types on, big integers stay as strings
{"id": "9007199254740993"}
// Use BigInt(value) in code to preserve precision

La Fila de Cabecera Contiene Espacios

Si tu cabecera CSV es `id, name, email` (con espacios después de las comas), las claves JSON se convierten en "id", " name", " email" — incluyendo el espacio inicial. El parser preserva la cabecera exactamente como se proporciona, según RFC 4180. La solución es limpiar el CSV de origen antes de pegar, o renombrar las claves posteriormente (jq 'with_entries(.key |= ltrimstr(" "))' o JavaScript Object.fromEntries(Object.entries(o).map(([k,v]) => [k.trim(), v]))).

✗ Incorrecto
id, name, email
1, Alice, alice@example.com
// Output keys: "id", " name", " email" (with leading spaces)
✓ Correcto
id,name,email
1,Alice,alice@example.com
// Output keys: "id", "name", "email" (clean)

Longitud de Fila Inconsistente

Cuando las filas en el CSV tienen recuentos de columnas diferentes (algunas con comas finales, otras sin ellas), el parser rellena las celdas faltantes con cadenas vacías (o null cuando Inferir tipos está activado) y descarta las extras más allá de la longitud de la cabecera. Aparece un aviso de Notas de esquema para que sepas que las filas se normalizaron. Esto suele estar bien, pero verifica la salida si los consumidores posteriores esperan una forma de fila estricta.

✗ Incorrecto
name,role,note
Alice,admin
Bob,editor,first day
// Row 1 is short by one cell
✓ Correcto
// Output (note empty/null cell in row 1)
[
  { "name": "Alice", "role": "admin", "note": null },
  { "name": "Bob", "role": "editor", "note": "first day" }
]

Cadenas de Fecha Coercionadas Inesperadamente

Las cadenas de fecha ISO 8601 (2026-05-09T10:00:00Z) se mantienen intencionalmente como cadenas en la salida JSON — JSON no tiene un tipo de fecha nativo, así que la coerción produciría o un objeto Date de JavaScript que no sobrevive a la serialización o un epoch numérico que pierde información de zona horaria. Esto es por diseño. Analiza las fechas en el punto de uso con new Date(value) o tu biblioteca de fechas preferida. No desactives Inferir tipos solo para preservar las fechas — eso también mantendría los números como cadenas.

✗ Incorrecto
// Expecting a Date object in the output
ts,event
2026-05-09T10:00:00Z,signup
// Output ts is the string "2026-05-09T10:00:00Z", NOT a Date
✓ Correcto
// Correct: parse at the point of use in your code
const rows = JSON.parse(output);
const when = new Date(rows[0].ts);
// when is now a Date object

Casos de uso comunes

Exportación de Hoja de Cálculo a Importación de API
Pega un CSV exportado de Excel, Google Sheets o Numbers y obtén un array JSON de objetos listo para POST a una API REST, mutación GraphQL o endpoint de importación masiva. El caso de uso más común — los analistas producen datos de hoja de cálculo, los ingenieros necesitan JSON tipado para alimentar el backend.
Exportación de Excel a Tooling
Convierte exportaciones CSV de Excel (incluyendo archivos delimitados por punto y coma Excel-EU con el chip `;`) en JSON para procesar con tooling de JavaScript, scripts jq o cualquier sistema que lea JSON. El parser gestiona el stripping de BOM y los finales de línea CRLF correctamente para que las exportaciones de Excel no se rompan en la primera fila.
Log TSV a Analítica
Los logs separados por tabulaciones de exportaciones BigQuery, descargas Snowflake, pipelines Vector o herramientas Unix (cut, awk) suelen llegar como .tsv. Selecciona el chip de Delimitador Tab y obtén un array JSON tipado listo para análisis ad hoc, ingesta en dashboard o transformación en etapa de pipeline.
Volcado CSV de Base de Datos a ETL
Convierte la salida de PostgreSQL COPY TO CSV, MySQL SELECT INTO OUTFILE o cualquier volcado CSV de base de datos en JSON para cargar en un almacén NoSQL, alimentar un pipeline ETL de JavaScript o enviar a BigQuery como JSON delimitado por líneas. La detección de enteros grandes preserva los IDs numéricos que exceden el rango seguro de JavaScript.
Consumo de Resultados de Tests CSV de Postman/Newman
Las ejecuciones de tests de Postman exportan informes CSV de pass/fail por solicitud. Convierte a JSON para consumo programático — alimenta un dashboard de estado, pipeline de alertas o agregador de resultados de tests. Las filas con forma mixta (los tests fallidos tienen una columna error extra) se gestionan con rellenos vacíos/null.
CSV Pequeño a Configuración JSON Rápida
¿Tienes un CSV pequeño de constantes — códigos de moneda, nombres de país, SKUs de producto — y necesitas un array JSON para un archivo de configuración o una constante de JavaScript? Pega, copia, pega. Con Inferir tipos activado, los números y booleanos se tipan correctamente; con Cabecera activada, obtienes un array de objetos con campos nombrados listos para soltar en un archivo .json.

Detalles técnicos

Internals del Parser de Máquina de Estados RFC 4180
El parser es una implementación adecuada de máquina de estados finita siguiendo RFC 4180. Los estados incluyen UnquotedField, QuotedField, AfterQuote, RowEnd y EndOfInput. El parser gestiona correctamente campos entrecomillados que contienen el delimitador, CR/LF incrustados dentro de campos entrecomillados, comillas dobles escapadas (duplicadas, como "") y saltos de línea finales. Esto produce una salida que hace ida y vuelta sin pérdidas a través del módulo csv de Python, PostgreSQL COPY, AWS S3 SELECT y cualquier parser conforme. La máquina de estados es consciente del delimitador, así que cambiar de `,` a `;` o `\t` no cambia la semántica de entrecomillado — solo el separador de campo.
Algoritmo de Inferencia de Tipos
Con Inferir tipos activado, cada celda pasa por un pipeline de detección ordenado. Primero, una celda vacía se convierte en JSON null. Segundo, las cadenas literales true y false se convierten en booleanos JSON. Tercero, las cadenas con cero a la izquierda (^0[0-9]+$) se mantienen como cadenas para preservar la semántica de identificador — convertir a números eliminaría silenciosamente los ceros a la izquierda. Cuarto, los literales enteros se prueban contra el límite del entero seguro (-2^53+1 a 2^53-1); los valores fuera de este rango se mantienen como cadenas para evitar la pérdida de precisión IEEE 754. Quinto, las cadenas de fecha ISO 8601 se detectan por regex y se mantienen intencionalmente como cadenas — JSON no tiene un tipo de fecha nativo. Cualquier cosa que sobreviva a las cinco guardas se convierte mediante Number() (numérico) o se mantiene como cadena (todo lo demás).
Stripping de BOM y Gestión de Codificación
Toda la entrada se trata como UTF-8. El BOM UTF-8 opcional (0xEF 0xBB 0xBF) se elimina silenciosamente de la primera celda de la primera fila cuando está presente — esto evita que los bytes del BOM se incluyan como un carácter espurio al inicio del nombre de la primera columna (Excel en Windows comúnmente emite el BOM, rompiendo parsers ingenuos). Otras codificaciones (Windows-1252, ISO-8859-1) no se autodetectan; la API File del navegador ya habría decodificado los bytes como UTF-8 cuando el texto llega a esta herramienta. Si tienes entrada no UTF-8, conviértela primero con iconv o la opción de exportación de codificación de tu editor antes de pegar.

Buenas prácticas

Selecciona el Delimitador Explícitamente para Datos no Coma
No te fíes de la autodetección. Si tu CSV usa punto y coma (Excel-EU), tabulaciones (TSV de BigQuery, Snowflake o herramientas Unix) o pipes (campos con muchas comas), haz clic en el chip de Delimitador correspondiente antes de pegar. El parser es consciente del delimitador: cambiar el chip vuelve a analizar la entrada inmediatamente. Esto evita el modo de fallo CSV-a-JSON más común donde cada fila se colapsa en una sola celda porque el parser usó el separador equivocado.
Mantén Inferir Tipos Activado para JSON Tipado
Con Inferir tipos activado (predeterminado), obtienes JSON tipado: números como números, booleanos como booleanos, null donde aparecen celdas vacías. Esto es lo que la mayoría de consumidores quieren — APIs, frontends, código JavaScript. Desactiva Inferir tipos solo cuando necesites específicamente cada celda como cadena (consumidores posteriores con estrictez de tipos, pipelines de validación que comparan bytes exactos del origen). El pipeline de detección tiene guardas para cadenas con cero a la izquierda, enteros grandes y fechas ISO, así que los identificadores y las fechas permanecen seguros incluso con la inferencia activada.
Entrecomilla los IDs como Cadenas en el CSV de Origen
Si tu CSV es generado por una base de datos o pipeline que controlas, emite los IDs numéricos grandes (snowflakes de Twitter, IDs de Discord, resourceVersion de K8s) como cadenas CSV entrecomilladas ("9007199254740993") para que pasen por la inferencia de tipos limpiamente. El parser los mantendrá como cadenas de cualquier modo (la detección de enteros grandes captura valores por encima de 2^53 - 1), pero el entrecomillado explícito es el contrato aguas arriba más robusto y evita cualquier ambigüedad sobre la precisión.
La Fila de Cabecera Debe Ser la Primera Línea
Cabecera activada (predeterminado) autodetecta la primera fila como nombres de columna. Si tu CSV tiene comentarios, líneas en blanco o metadata antes de la cabecera, elimínalos antes de pegar — el parser no salta líneas no-datos iniciales. Para CSVs sin cabecera (exportaciones crudas, volcados generados por máquinas), desactiva Cabecera y las columnas se autonombrarán col1, col2, col3 en orden. No intentes falsificar una cabecera anteponiendo una a un archivo sin cabecera; o desactiva Cabecera o arregla el origen.
Usa Modo Stringify para Ida y Vuelta CSV → JSON → CSV
Si planeas hacer ida y vuelta de datos a través de ambas direcciones (CSV → JSON → CSV), la dirección inversa (JSON → CSV) necesita el modo Stringify para que cualquier array u objeto anidado sobreviva sin pérdidas. El modo Aplanar en la dirección inversa emite claves con puntos (customer.address.city) que no se pueden reconstruir perfectamente por el parser CSV. Consulta nuestro Convertidor JSON a CSV para la referencia completa de la dirección inversa y notas sobre tests de ida y vuelta.

Preguntas frecuentes

¿Qué hace esta herramienta?
Convierte CSV a JSON directamente en tu navegador, con soporte bidireccional: haz clic en Invertir dirección para convertir JSON de vuelta a CSV en el mismo panel. Pega CSV en el área de entrada y la herramienta produce la salida JSON al instante — sin carga, sin registro, nada sale de tu equipo. El parser cumple con RFC 4180, gestiona chips de delimitador para coma, punto y coma (Excel-EU), tab (TSV) y pipe, y la opción Inferir tipos convierte cadenas numéricas en números, true/false en booleanos y celdas vacías en null. La herramienta también gestiona IDs enteros grandes que de otro modo perderían precisión a través de JSON.parse, comas incrustadas dentro de campos entrecomillados, comillas dobles escapadas (duplicadas) y datos sin cabecera con columnas autonombradas (col1, col2, col3).
¿Se sube mi información a algún sitio?
No. Toda la conversión se ejecuta 100% en el lado del cliente en tu navegador usando JavaScript. Tus datos CSV nunca se transmiten, nunca se almacenan en ningún servidor, nunca se registran y nunca se analizan. Esto hace que la herramienta sea segura para exportaciones de hojas de cálculo que contienen PII, volcados internos de CSV de bases de datos, registros de clientes y cualquier dato sensible. Puedes verificarlo en la pestaña Red de tu navegador — al pegar CSV no se generan solicitudes de red. La herramienta no usa cookies para los datos de entrada ni analítica de terceros que capture lo que pegas.
¿Cómo funciona la inferencia de tipos?
Con Inferir tipos activado, cada celda analizada pasa por un pequeño pipeline de detección antes de colocarse en el JSON: las cadenas numéricas (1, 42, -3.14) se convierten en números, true/false en booleanos, las cadenas vacías y el literal null se convierten en JSON null, y todo lo demás permanece como cadena. Hay dos guardas importantes. Primero, las cadenas con cero a la izquierda como 007 o 0123 se mantienen como cadenas aunque parezcan numéricas — los ceros a la izquierda indican que el valor es un identificador (códigos postales, prefijos telefónicos, IDs de secuencia) y convertir a número eliminaría silenciosamente los ceros. Segundo, los enteros por encima de 2^53 - 1 (9007199254740991) también se mantienen como cadenas para evitar la pérdida de precisión IEEE 754. Las cadenas de fecha ISO (2026-05-09T10:00:00Z) se dejan intencionalmente como cadenas — JSON no tiene un tipo de fecha nativo, así que coercerlas produciría un objeto Date de JavaScript que no sobrevive a la serialización.
¿Por qué los enteros grandes se mantienen como cadenas?
El tipo Number de JavaScript usa precisión doble IEEE 754 y solo puede representar enteros con exactitud hasta 2^53 - 1 (9007199254740991). Los identificadores del mundo real — IDs snowflake de Twitter, IDs de Discord, campos Long de MongoDB, resourceVersion de K8s — son enteros de 64 bits que exceden este rango seguro. Si el parser llamara a Number() sobre estos, el resultado se redondearía silenciosamente (9007199254740993 se convierte en 9007199254740992). El pipeline de Inferir tipos detecta valores por encima del límite del entero seguro y los mantiene como cadenas, de forma que los dígitos sobreviven intactos. Aparece un aviso debajo de la salida listando los campos afectados. Para reconvertir con precisión en código, usa BigInt("9007199254740993") sobre el valor de cadena del JSON.
Mi CSV usa punto y coma — ¿cómo lo analizo?
Las configuraciones regionales europeas de Excel (Alemania, Francia, España, Italia, etc.) emiten CSVs delimitados por punto y coma porque la coma está reservada para el separador decimal. Haz clic en el chip `;` en la fila de Delimitador (o abre el panel de Opciones completo y selecciona `;`) y el parser cambia inmediatamente al modo punto y coma. Los valores numéricos con decimales por coma (1234,56) dentro de tales archivos se mantienen como cadenas por la inferencia de tipos porque la notación decimal europea es específica de configuración regional — conviértelos en código si necesitas valores numéricos. El parser sigue aplicando las reglas de entrecomillado RFC 4180 con el nuevo delimitador, así que los campos entrecomillados que contienen punto y coma se gestionan correctamente.
¿Soporta TSV (delimitado por tab)?
Sí. Haz clic en el chip Tab en la fila de Delimitador y el parser dividirá por caracteres de tabulación en lugar de comas. TSV es el formato más limpio para compartir CSV entre regiones porque es poco probable que aparezca un Tab dentro de campos de texto, eliminando la mayoría de casos límite de entrecomillado. Es la salida predeterminada de herramientas Unix (cut, awk), almacenes de datos (BigQuery, Snowflake) y está bien soportado por Excel en cualquier configuración regional. Pega el contenido de tu archivo .tsv o .tab directamente — el resto del parser (autonombrado de cabeceras, inferencia de tipos, detección de enteros grandes) funciona idénticamente.
¿Qué pasa si mi CSV no tiene fila de cabecera?
Desactiva Cabecera en el panel de Opciones. El parser tratará la primera línea como datos en lugar de nombres de columna y autogenerará claves: col1, col2, col3, … una por columna. La salida JSON es un array de objetos con estas claves sintéticas. Esto es útil para exportaciones crudas de bases de datos que omiten la cabecera, archivos planos de formato fijo y CSVs generados por máquinas. Si quieres nombres de clave diferentes, convierte primero con autonombres y luego renombra las claves en tu pipeline posterior (jq, map de JavaScript, etc.). La herramienta no infiere claves a partir de heurísticas de datos — Cabecera desactivada siempre produce col1, col2, col3.
¿Puede gestionar campos entrecomillados con comas incrustadas?
Sí. El parser es una máquina de estados RFC 4180 adecuada: cuando ve una comilla doble inicial, cambia al estado QuotedField y trata todo hasta la siguiente comilla doble no escapada como un único campo, incluyendo delimitadores y finales de línea incrustados (CR/LF). Las comillas dobles escapadas (duplicadas, como "") se colapsan correctamente a una sola comilla. Esto significa que `"Smith, Jr."` se analiza como un campo que contiene `Smith, Jr.`, y `"He said ""hi"""` se analiza como `He said "hi"`. Los parsers ingenuos basados en split-por-coma se rompen con estos datos del mundo real; esta herramienta no.
¿Por qué mis fechas se mantienen como cadenas?
Por diseño. JSON no tiene un tipo de fecha nativo — solo cadenas, números, booleanos, null, arrays y objetos. Las cadenas de fecha ISO 8601 (2026-05-09T10:00:00Z) se mantienen literalmente como cadenas en la salida JSON, que es la representación correcta y sin pérdidas. Si el parser las coercionara a objetos Date de JavaScript, serializar el JSON resultante produciría una salida diferente (un objeto sin representación útil de ida y vuelta, o un timestamp numérico). Mantén las fechas como cadenas en JSON y analízalas en el punto de uso con new Date(value) o tu biblioteca de fechas preferida. Esto coincide con el comportamiento de cualquier pipeline JSON-desde-CSV importante: Pandas, jq y los módulos csv + json de Python.
¿Qué ocurre si las filas tienen longitudes diferentes?
Las filas con forma mixta (algunas con más o menos columnas que la cabecera) se rellenan para coincidir con la longitud de la cabecera. Las celdas extra más allá del recuento de la cabecera se descartan, y las celdas faltantes se establecen en cadena vacía (o null cuando Inferir tipos está activado y el parser ve un valor vacío). Aparece un aviso de Notas de esquema debajo de la salida para que sepas que las filas se normalizaron. Esto suele estar bien para herramientas posteriores que unen claves, pero verifica la salida si tu consumidor espera consistencia estricta de forma de fila. La causa más común son comas finales en algunas filas o campos entrecomillados con finales de línea incrustados que los exportadores aguas arriba contaron mal.
¿Qué tamaño de archivo puedo pegar?
Por encima de 100.000 caracteres o 2.000 filas, la conversión en vivo cambia automáticamente al modo manual: aparece un botón Convertir en un aviso y la conversión solo se ejecuta cuando haces clic en él. Esto evita que el hilo principal del navegador se bloquee en cada pulsación de tecla durante el análisis pesado. Para salidas por encima de 5 MB o 50.000 filas, la herramienta trunca la vista previa JSON en pantalla a las primeras 500 filas y muestra un aviso «Mostrando las primeras 500 de N filas» — pero el botón Descargar sigue produciendo el archivo completo con todas las filas incluidas. El límite máximo es 10 MB de entrada; por encima de eso, la herramienta muestra un error y te pide que reduzcas la entrada.
¿Puedo hacer ida y vuelta JSON → CSV → JSON?
Sí, cuando el JSON es plano (sin objetos o arrays anidados). Para datos anidados, la dirección inversa (JSON → CSV) necesita el modo Stringify para mantener arrays y objetos como JSON dentro de una sola celda — que luego hace ida y vuelta sin pérdidas a través de este conversor CSV → JSON cuando Inferir tipos está activado. Haz clic en Invertir dirección en la parte superior del panel para cambiar al modo JSON-a-CSV y verificar la ida y vuelta. El modo Aplanar en la dirección inversa es de un solo sentido: emite claves con puntos (customer.address.city) que no se pueden reconstruir perfectamente desde CSV. Consulta nuestro Convertidor JSON a CSV para la dirección inversa con soporte completo de Stringify.

Herramientas relacionadas

Ver todas las herramientas →