Saltar al contenido
Runs local · no upload

Convertir CSV a JSON

Coma o punto y coma, punto o coma, BOM o sin BOM — cuatro estándares, un conversor. El cero inicial del código postal se conserva, porque se reconoce como cadena en lugar de número.

Runs locally in the browser — no data leaves your device.

CSV with broken umlauts, mixed delimiters or duplicate headers? Run it through CSV cleaner first. CSV cleaner.

Profile
Header
Type inference
Output structure

Array of Objects is the REST-API default. Object of Arrays is column-major for DataFrames. NDJSON is one line per record, ideal for streaming.

JSON output

Cómo funciona

  1. 01

    Text oder Code einfügen

    Füge deinen Inhalt in das Eingabefeld ein oder tippe direkt.

  2. 02

    Automatische Verarbeitung

    Das Tool verarbeitet den Inhalt sofort und zeigt das Ergebnis.

  3. 03

    Ergebnis kopieren

    Kopiere das Ergebnis mit einem Klick in die Zwischenablage.

Privacidad

Alle Berechnungen laufen direkt in deinem Browser. Keine Daten werden auf Server übertragen.

El conversor lee CSV o TSV, reconoce el separador automáticamente y emite JSON — como array de objetos, como objeto de columnas o línea a línea como NDJSON. Cuatro presets cubren los dialectos, incluido Excel español con punto y coma y BOM UTF-8. Los ceros iniciales, IBAN y números de teléfono permanecen automáticamente como cadenas. La notación punto en la cabecera como `user.address.city` produce árboles JSON anidados.

01 — Cómo usarlo

¿Cómo usar esta herramienta?

  1. Pegue el CSV en el campo de entrada o suelte el archivo con arrastrar y soltar
  2. Elija un perfil — RFC 4180, Excel español, TSV o Pipe — o quédese en auto-detección
  3. Confirme o cambie el tipo por columna (cero inicial sigue siendo cadena, IBAN sigue siendo cadena)
  4. Elija la estructura de salida: Array of Objects (por defecto), Object of Arrays o NDJSON
  5. Copie el JSON o use el segundo tab para el camino inverso JSON → CSV

¿Qué hace el conversor?

El conversor lee un archivo CSV o TSV y lo convierte a JSON — en tres variantes de estructura, según para qué se vaya a reutilizar el resultado. Al leer, reconoce el separador, supone los tipos de columna y respeta los ceros iniciales, para que un código postal español como 08001 no se reduzca al número 8001.

Cliente puro. Cada entrada se queda en su navegador. Sin servidor, sin muro de cookies, sin tracking. Incluso los archivos grandes más allá de cinco megabytes se procesan en local — vía la salida NDJSON, que evita el hinchado a un único array enorme.

¿Qué dialectos CSV entiende el conversor?

CSV no es un estándar unificado. Cuatro presets cubren los dialectos más frecuentes que aparecen en flujos de trabajo en español.

RFC 4180 estricto

RFC 4180 es la especificación que sirve desde 2005 como estándar internacional de facto. Coma como separador, punto como decimal, comillas dobles como escape — es decir, "O""Connor" para un nombre con apóstrofo. APIs anglófonas, exports de investigación y la mayoría de hojas de cálculo US siguen este perfil.

Excel español

Excel español exporta por defecto de otra manera: punto y coma como separador, coma como decimal, BOM UTF-8 al inicio del archivo. Quien pasa un CSV Excel español por un parser RFC 4180 obtiene una única gran columna, porque la coma no distingue el punto de millares de la coma decimal. El perfil Excel español tiene en cuenta las tres particularidades de un solo clic.

Tabulado (TSV)

TSV usa el carácter tabulación como separador. Sin carácter visible, el TSV es en la práctica más robusto contra conflictos coma o punto y coma en el contenido — la mayoría de exports de investigación de R, Pandas y SPSS aterrizan por eso como TSV. Línea de cabecera y quoting se quedan como en CSV, solo cambia el separador.

Separado por pipe

El carácter pipe | como separador está extendido en exports de mainframe, SAP y ERP. La ventaja: el pipe prácticamente nunca aparece en lenguaje natural, las colisiones son por tanto raras. La desventaja: Excel no conoce el formato por defecto y necesita una elección de separador en la importación.

¿Qué estructuras JSON entrega el conversor?

Tres estructuras, tres sistemas destino.

Array of Objects

[{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}] — la forma más frecuente para APIs REST. Cada fila del CSV se convierte en un objeto; la fila de cabecera entrega las claves. Legible para humanos, directamente procesable por cualquier frontend JavaScript que espere datos como listas de records.

Object of Arrays

{"name": ["Alice", "Bob"], "age": [30, 25]} — la forma orientada a columnas. Bibliotecas como Pandas, R DataFrames y D3.js trabajan a gusto con esta estructura, porque es más eficiente para operaciones de columna (media, filtro, plot) que la conversión desde un array de records.

NDJSON

NDJSON — un objeto JSON por línea, sin array englobante:

{"name":"Alice","age":30}
{"name":"Bob","age":25}

Streameable: un lector NDJSON lee línea a línea y no tiene que cargar todo el archivo en memoria. Para archivos CSV por encima de cinco megabytes, el conversor sugiere automáticamente NDJSON, porque un array de 100.000 objetos como cadena JSON alcanza enseguida varios cientos de megabytes.

¿Cómo protege el conversor los ceros iniciales?

Los ceros iniciales son el error más frecuente al convertir CSV a JSON. En cuanto una celda como 08001 (código postal de Barcelona) se interpreta como número, el cero desaparece y la base de direcciones está rota. Tres heurísticas lo evitan:

Ceros iniciales coherentes

Si el analizador de columna detecta que cada celda no vacía de una columna empieza por 0 y tiene al menos tres dígitos, clasifica la columna como cadena — aunque el resto de la celda sean dígitos. Una columna CP con 08001, 28013, 41001 se vuelve así automáticamente cadena, no número.

Detección IBAN

IBAN tiene un patrón claro: dos letras (código de país), dos dígitos de control, luego 10 a 30 caracteres alfanuméricos. Si la herramienta reconoce el patrón en cada fila de una columna, esa columna sigue siendo cadena — incluso si los IBAN ES solo contienen dígitos tras el código de país.

Detección de teléfono

Los números de teléfono contienen a menudo +, guiones, paréntesis o espacios. En cuanto una columna contiene valores con diez dígitos o más Y al menos un carácter no-dígito, el analizador la clasifica como cadena. Así +34 91 123 45 67 se mantiene como cadena de teléfono, en lugar de convertirse en un número absurdo.

Override manual

La heurística es conservadora — se equivoca más a favor de cadena que a favor de número. Quien quiera de todos modos una columna con cero inicial detectada como número cambia el tipo por columna a través del desplegable en el panel de columna. El cambio vale desde el siguiente render de la salida.

¿Cómo funciona la notación punto para JSON anidado?

Una cabecera CSV plana como name,email,cp da un objeto JSON plano. Si los datos fuente son estructurados — por ejemplo una tabla de direcciones — vale la pena la notación punto:

user.name,user.email,user.address.cp
Ada,[email protected],08001

se convierte en

[
  {
    "user": {
      "name": "Ada",
      "email": "[email protected]",
      "address": { "cp": "08001" }
    }
  }
]

Varias rutas bajo el mismo prefijo aterrizan automáticamente en el mismo objeto. La dirección inversa (tab JSON-a-CSV) reconvierte los árboles anidados en cabeceras CSV planas vía la misma notación — un formato roundtrip-able.

¿Cuándo merece la pena el modo bidireccional?

Algunos flujos de trabajo necesitan el camino en ambas direcciones: exportar CSV, ajustar en el editor JSON, volver a CSV. El segundo tab JSON-a-CSV usa el mismo perfil y la misma elección de separador que el camino de ida. Quien pega un array de objetos como JSON obtiene CSV con fila de cabecera y quoting RFC 4180; los campos anidados se aplanan en notación punto.

¿Qué límites de tamaño aplican en la práctica?

Cliente puro no significa «arbitrariamente grande». Tres umbrales determinan el comportamiento del conversor según el tamaño de archivo.

Bajo 5 MB — modo estándar

Hasta cinco megabytes CSV — típicamente unos miles de filas — el conversor convierte directamente. Array of Objects o Object of Arrays funcionan sin fricción. El panel de resultado muestra el JSON al instante, copiable con un clic.

5 a 50 MB — NDJSON recomendado

A partir de cinco megabytes, el conversor sugiere la salida NDJSON como banner. Contexto: un array de 100.000 objetos aterriza como cadena JSON enseguida en 30 a 80 megabytes, lo que ralentiza notablemente el render y congela el copy-to-clipboard durante varios segundos. NDJSON lo sortea porque es streameable línea a línea.

Más allá de 50 MB — dividir

La memoria del navegador suele bastar para cien megabytes, pero el tiempo de render para un enorme campo resultado vuelve la UI lenta. Para varios cientos de megabytes de CSV es más rápido dividir el archivo fuera del navegador — por ejemplo con un script shell — y convertir por bloques.

¿Qué herramientas relacionadas existen?

  • Limpiar CSV — para archivos CSV defectuosos con mojibake, separadores mezclados o cabeceras duplicadas. Paso previo a este conversor, si el input no está limpio.
  • JSON a CSV — la dirección inversa especializada, si solo necesita JSON-a-CSV sin las opciones de entrada CSV.
  • CSV a Markdown — si el formato destino debe ser una tabla Markdown en lugar de JSON.
  • Formateador JSON — formatea y valida el JSON generado, antes de seguir procesándolo.

Última actualización:

También le puede interesar