Conversor de CSV a JSON
Pega tu CSV abajo — la primera fila se usa como encabezados. Los campos entre comillas con comas, saltos de línea y comillas escapadas incrustados se analizan correctamente, sin dividir de forma ingenua. Nada de lo que pegues sale de tu navegador.
Por qué importa un analizador de CSV real
El CSV parece simple — dividir por comas, dividir por saltos de
línea, listo — hasta que un campo contiene una coma. La
especificación de CSV responde envolviendo ese campo en comillas
dobles, y escapando cualquier comilla literal dentro con el
doble (""). Un campo incluso puede contener un
salto de línea real siempre que esté entre comillas. Un
analizador ingenuo con split(",") no sabe nada de
esto: trata cada coma como un límite de columna, así que un solo
campo entre comillas como "Smith, John" se corta en
dos columnas y todos los campos posteriores en esa fila se
desalinean — corrupción silenciosa, no un error. Esta
herramienta en cambio lee la entrada un carácter a la vez,
rastreando si está actualmente dentro de un campo entre
comillas, así que las comas y saltos de línea entre comillas se
mantienen como parte del campo al que pertenecen.
Además, esta página usa punto y coma como
delimitador predeterminado en vez de coma. No es un capricho: en
español (y en la mayoría de los locales europeos) la coma ya
está ocupada como separador decimal — 3,14 es pi, no
dos columnas separadas. Por eso Excel en español exporta CSV con
punto y coma de forma predeterminada, y esta herramienta refleja
esa misma convención para que pegues tus exportaciones tal cual
sin tener que cambiar el selector cada vez.
Ejemplo práctico
Entrada:
nombre;ciudad "Smith; John";"Nueva York" "O""Brien";Boston
La primera fila tiene un punto y coma dentro de un
nombre entre comillas — un analizador ingenuo lo leería como
cuatro columnas en vez de dos y arruinaría el resto de la tabla.
La segunda fila tiene una comilla escapada "", que
debe colapsar a una sola comilla literal ". Esta
herramienta produce:
[
{
"nombre": "Smith, John",
"ciudad": "Nueva York"
},
{
"nombre": "O\"Brien",
"ciudad": "Boston"
}
]
— dos filas limpias, el punto y coma incrustado conservado como
parte del nombre, y O""Brien correctamente colapsado
a un solo O"Brien.
Preguntas frecuentes
¿Por qué no simplemente dividir cada línea por comas?
Porque el CSV real permite una coma dentro de un campo, siempre que el campo esté envuelto en comillas dobles — un nombre como "Smith, John" es un solo campo, no dos. Un split(",") ingenuo partiría ese campo por la mitad y desplazaría todas las columnas posteriores fuera de alineación durante el resto de la fila. Esta herramienta usa un analizador real carácter a carácter que rastrea si está actualmente dentro de un campo entre comillas, así que una coma ahí es solo texto, no un delimitador.
Mi CSV usa punto y coma en vez de comas, ¿esto funciona igual?
Sí — usa el selector de delimitador encima del campo de entrada para cambiar entre coma, punto y coma y tabulación. Por eso, además, esta página usa punto y coma como opción predeterminada: es el formato de exportación habitual de Excel en español, precisamente porque en este locale la coma ya se usa como separador decimal (así que "3,14" significa pi, no dos valores) — un archivo delimitado por comas sería genuinamente ambiguo ahí.
¿Qué pasa si una fila tiene más o menos campos que la fila de encabezado?
No se bloquea ni desalinea tus datos en silencio. Si una fila es corta, los campos finales faltantes se rellenan como cadenas vacías. Si una fila tiene campos extra más allá del último encabezado, esos extras se descartan. Cuando esto ocurre en cualquier parte de tu archivo, aparece una nota encima de la salida indicando cuántas filas se vieron afectadas, para que puedas revisar la fuente.
¿Se sube mi CSV a algún servidor?
No. El análisis ocurre por completo en tu navegador con JavaScript normal — nada de lo que pegues se envía, se guarda ni se registra en ningún servidor. Es la misma regla para cada herramienta de este sitio.