¿Qué es la conversión de CSV a JSON?
CSV (Comma-Separated Values, RFC 4180) es un formato de texto plano y tabular; JSON (JavaScript Object Notation, RFC 8259) es un formato de texto en forma de árbol para datos estructurados. Convertir CSV a JSON transforma una tabla compatible con hojas de cálculo en un array de objetos compatible con APIs — un objeto por fila, con la cabecera como claves — sin reescribir una sola celda.
¿Cómo funciona la conversión de CSV a JSON?
Cada conversión se ejecuta localmente en tu navegador. Los pasos principales son:
- Pegas el CSV en el panel de entrada y pulsas CONVERTIR; la herramienta analiza el texto y emite un array JSON de objetos en el panel de salida.
- Una máquina de estados carácter a carácter (FIELD_START → IN_UNQUOTED_FIELD o IN_QUOTED_FIELD) recorre la entrada, respeta el escape de comilla
"", reconoce tanto\r\ncomo\ncomo terminadores de fila y produce una matriz 2-D de cadenas como representación intermedia. - Si la primera fila está marcada como cabecera, sus celdas se convierten en claves de objeto; en caso contrario la herramienta genera claves sintéticas
field0,field1, … para que cada fila siga mapeando a un objeto completo. - El delimitador (coma, punto y coma, tabulador, barra vertical o detección automática) y la coerción de tipos (números / booleanos /
null) son configurables. Con coerción activada,30se convierte en el número 30 ytrueen booleano; con ella desactivada, cada celda permanece como cadena. - La salida se escribe en el área de texto de solo lectura como texto formateado con
JSON.stringify, y un enlace de descarga construye unBlobcon el tipo MIMEapplication/json;charset=utf-8para que puedas guardar el resultado con un clic.
¿Por qué convertir CSV a JSON con esta herramienta?
- Privacidad: cada pasada de análisis y transformación ocurre en tu navegador. Los datos nunca llegan a nuestros servidores.
- Corrección: el parser CSV es una máquina de estados real. Los campos que contienen comas entrecomilladas (
"Bob, Jr."), saltos de línea embebidos y comillas escapadas se analizan como una sola celda, no como tres — las implementaciones ingenuas consplit(',')se equivocan aquí. - Fidelidad de tipos: la coerción opcional convierte celdas numéricas y booleanas en números y booleanos JSON reales, de modo que el array resultante está listo para consumir directamente sin un segundo pasado de limpieza.
- Flexibilidad: elige cualquier delimitador para dialectos CSV distintos del de coma, configura si la primera fila es cabecera y activa o desactiva la coerción de tipos para los casos en que cada celda debe seguir siendo una cadena.
¿Cuáles son las aplicaciones comunes de la conversión de CSV a JSON?
Analizar CSV para obtener JSON aparece en todo el trabajo con datos y herramientas:
- Mocking de APIs: pegar un fixture CSV exportado de una hoja de cálculo y convertirlo en un array JSON que tu servidor local pueda devolver como endpoint simulado.
- Importación de datos: convertir una exportación de hoja de cálculo (contactos, inventario, respuestas de encuesta) en un array JSON que tu aplicación o script pueda iterar sin depender de un parser CSV.
- Edición de configuración: dejar que revisores no técnicos editen ajustes o feature flags celda a celda en una hoja de cálculo, y luego convertir el CSV guardado al JSON que tu app carga.
¿Cómo es un ejemplo de conversión de CSV a JSON?
Pegar name,age en la primera línea, Alice,30 en la segunda y "Bob, Jr.",25 en la tercera, luego pulsar CONVERTIR con delimitador coma, primera fila como claves y coerción activada, produce [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — la coma entrecomillada en "Bob, Jr." permanece dentro de un campo, y las edades se convierten en números JSON reales.
¿Este convertidor de CSV a JSON se ejecuta íntegramente en mi navegador?
Sí. Cada pasada de análisis y transformación se ejecuta localmente como JavaScript dentro de tu pestaña del navegador. La herramienta no llama a fetch, XMLHttpRequest ni navigator.sendBeacon en absoluto — tu payload CSV nunca llega a nuestros servidores, a un convertidor de terceros ni a ninguna canalización de analítica. La herramienta también funciona sin conexión una vez que la página se ha cargado, porque es un bundle estático HTML/CSS/JS sin dependencias de API en tiempo de ejecución.
¿Cuál es el tamaño máximo de entrada que este convertidor puede gestionar?
El convertidor almacena toda la entrada en memoria y se ejecuta de forma síncrona en el hilo principal, así que los límites prácticos dependen de tu dispositivo. Entradas de hasta unos 10 MB de CSV (aproximadamente 100.000 filas típicas) se convierten sin pausa perceptible en un portátil moderno. Más allá de eso la interfaz puede quedarse colgada mientras corre el parser. La conversión por flujos con un Web Worker más un parser por chunks es un seguimiento planeado — por ahora, divide los conjuntos de datos muy grandes antes de pegarlos.
¿Cómo gestiona el parser de CSV a JSON las comas entrecomilladas y los saltos de línea embebidos?
El parser es una máquina de estados carácter a carácter con tres estados (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — no un ingenuo split(','). Un campo envuelto en comillas dobles puede contener el delimitador, un CR, un LF o una comilla doble literal escapada como "", todo sin romper los límites del campo. Así "Bob, Jr.",25 se analiza como dos campos, no como tres, y una descripción multilínea entrecomillada a lo largo de varias filas se analiza como una sola celda.
¿Cómo se tipan los números, booleanos y celdas vacías en la salida JSON?
El tipado lo controla el interruptor Coerción de tipos. Con coerción activada (el valor por defecto), una celda que parece un número se convierte en número JSON, true/false en booleanos y el literal null en null JSON; todo lo demás permanece como cadena. Con coerción desactivada, cada valor se mantiene como cadena independientemente de su contenido — útil cuando ceros iniciales, teléfonos o códigos de ID deben sobrevivir intactos. Las celdas finales faltantes en una fila corta se emiten como cadenas vacías para que cada objeto tenga el conjunto de claves completo.
¿Qué delimitadores admite el lado CSV?
Se admiten cuatro delimitadores explícitos: coma (,, el valor predeterminado de RFC 4180), punto y coma (;, habitual en locales europeos), tabulador (\t, el dialecto TSV) y barra vertical (|). También puedes elegir Detección automática, que cuenta las apariciones de cada candidato en los primeros 4 KB de entrada fuera de regiones entrecomilladas y elige el más frecuente que produzca un recuento de columnas consistente en las primeras cinco filas.
Este convertidor de CSV a JSON analiza con una máquina de estados real y emite JSON limpio y listo para consumir que puedes pegar directamente en una llamada de API, un script o una revisión de código — sin subir un solo byte.