Skip to content

Conversor de CSV a JSON (y viceversa)

CSV ↔ JSON con análisis RFC 4180 de verdad, totalmente en tu navegador.

Buğra SözeriDesarrollador
Updated · Published

CSV parece trivial — valores separados por comas — y exactamente por eso tantos conversores lo hacen mal. El CSV del mundo real tiene campos entrecomillados que contienen comas, comillas escapadas escritas como dos comillas dobles, saltos de línea incrustados dentro de una sola celda y un zoológico de dialectos de delimitadores: Excel en la mayoría de las configuraciones regionales europeas exporta con punto y coma porque la coma es el separador decimal. El analizador de abajo sigue RFC 4180, lo más parecido a un estándar que tiene el CSV, y detecta automáticamente los delimitadores de coma, punto y coma o tabulador. Todo se ejecuta localmente en tu navegador; tus datos nunca tocan un servidor.

[ { "name": "Doe, Jane", "city": "Berlin", "zip": "10115" }, { "name": "Bob", "city": "Princeton", "zip": "08540" } ]

How to use

  1. Elige una dirección

    CSV → JSON o JSON → CSV. Soltar un archivo .csv o .json sobre la entrada cambia la dirección automáticamente.

  2. Pega o suelta tus datos

    Pega texto directamente, o arrastra un archivo .csv o .json (hasta 8 MB) sobre el cuadro de entrada. La salida convertida aparece mientras escribes.

  3. Ajusta las opciones

    Deja el delimitador en detección automática a menos que se equivoque. Desmarca 'First row is header' para datos sin cabecera, y marca 'Infer types' solo si tus datos no tienen ceros iniciales ni identificadores numéricos largos.

  4. Copia o descarga

    Usa el botón de copiar para pegados rápidos, o descarga el resultado como data.json o data.csv.

Frequently asked questions

¿Puedo subir un archivo en lugar de pegar?
Sí — arrastra un archivo .csv o .json sobre el cuadro de entrada. Se lee localmente con el FileReader del navegador (hasta 8 MB) y nunca se sube a ninguna parte. Soltar un archivo .json también cambia la herramienta al modo JSON → CSV.
¿Por qué los números se quedan como cadenas por defecto?
Porque la coerción silenciosa corrompe datos reales. Un código postal como 08540 pierde su cero inicial en el momento en que se convierte en número, y un identificador de 16 dígitos como el de una tarjeta o una cuenta supera el rango de enteros seguros de JavaScript (2^53) y se redondea. Las cadenas no pierden información; activa 'Infer types' solo cuando sepas que tus columnas son genuinamente numéricas o booleanas.
Mi CSV usa punto y coma — ¿funcionará?
Sí. Excel en las configuraciones regionales de alemán, francés, turco, español y la mayoría de las demás europeas exporta archivos separados por punto y coma porque allí la coma es el separador decimal. El detector automático puntúa la coma, el punto y coma y el tabulador en la primera línea de datos y elige al ganador; también puedes forzar un delimitador desde el desplegable.
¿Y los saltos de línea dentro de una celda?
Se manejan correctamente. Según RFC 4180, un campo envuelto en comillas dobles puede contener saltos de línea, comas y comillas (escapadas duplicándolas). El analizador rastrea el estado de las comillas a través de las líneas en lugar de dividir ingenuamente por saltos de línea, que es donde se rompen la mayoría de los conversores hechos deprisa.
¿Cómo se convierte el JSON anidado a CSV?
CSV es plano, así que los objetos y arrays anidados no pueden representarse de forma nativa. Esta herramienta serializa cualquier valor anidado con JSON.stringify dentro de su celda — una limitación honesta en lugar de un aplanado aproximado con pérdidas. Si necesitas aplanar columnas con rutas de puntos, reestructura primero el JSON.
¿Qué pasa con las cabeceras de columna duplicadas?
Los nombres de cabecera duplicados se desduplican añadiendo un índice como sufijo: una segunda columna 'name' se convierte en 'name_2', una tercera en 'name_3', y así sucesivamente. Sin esto, las columnas posteriores sobrescribirían silenciosamente a las anteriores en los objetos resultantes.

About

RFC 4180 en la práctica frente a los dialectos en libertad

RFC 4180 es un memorando informativo de 2005, no un estándar estricto, pero codificó el núcleo sensato: campos separados por comas, registros por CRLF, campos que contienen comas, comillas o saltos de línea envueltos en comillas dobles, y comillas literales escapadas duplicándolas. El mundo real discrepa en casi todo lo demás — delimitadores de punto y coma y tabulador, finales de línea LF a secas, saltos de línea finales opcionales, marcas de orden de bytes de Excel y archivos sin cabecera. Un conversor robusto acepta los dialectos en la entrada (este detecta automáticamente los delimitadores y acepta tanto CRLF como LF) mientras emite una salida estrictamente conforme.

Cuándo gana CSV frente a JSON, y viceversa

CSV gana para datos planos y tabulares: es más pequeño, se transmite línea a línea, se abre directamente en Excel y Google Sheets, y se carga en cada base de datos y biblioteca de dataframes jamás escrita. JSON gana en cuanto tus datos tienen estructura — anidación, arrays de longitud desigual, valores tipados o campos opcionales. También es autodescriptivo e inequívoco sobre cadenas frente a números, cosa que CSV fundamentalmente no es. Una regla útil: si los datos son una tabla, envía CSV; si son un árbol, envía JSON; si hoy son una tabla pero podrían ganar estructura, envía JSON y acepta el coste en tamaño.

Sources & references

Authoritative references behind the math, constants, and tables on this page. Verified by Buğra Sözeri on the dates shown and re-checked at every deploy.

Herramientas relacionadas