/ datos / csv
Quitar anunciosSuscriptor
Tema: SistemaContraste: Estándar

Conversor de CSV y JSON

Convierte CSV en un array JSON de objetos o arrays, o JSON de vuelta a CSV. Detecta el separador y lee archivos de Excel con punto y coma y coma decimal.

Ejemplos de código

Copia estos ejemplos en tu propio proyecto. Cada uno usa solo la biblioteca estándar del lenguaje, así que no hay nada que instalar.

Marca con una estrella hasta 3 lenguajes para verlos primero en todas las páginas de herramientas.

Marcar JavaScript como favorito
const text = 'name,city\nAnn,Utrecht\nBob,"Den Haag, NL"\n'

const trimmed = text.trimEnd()
const records = [[]]

for (const match of trimmed.matchAll(/("(?:[^"]|"")*"|[^,\n]*)(,|\n|$)/gu)) {
  if (match.index === trimmed.length) break

  const [, field, end] = match
  records.at(-1).push(field.startsWith('"') ? field.slice(1, -1).replaceAll('""', '"') : field)
  if (end === '\n') records.push([])
}

const [header, ...rows] = records
const objects = rows.map((row) => Object.fromEntries(header.map((name, i) => [name, row[i]])))

console.log(JSON.stringify(objects))

Qué hace

Convierte CSV en un array JSON y JSON de vuelta a CSV. Lee CSV según la RFC 4180: campos entre comillas, comillas dobles y saltos de línea dentro de un campo.

Cómo se usa

  1. Pega CSV o JSON, o suelta un archivo.
  2. Elige CSV a JSON o JSON a CSV. Deja separador y decimales en Detectar, o ajústalos tú.
  3. Copia o descarga el resultado, o usa Usar salida como entrada para convertirlo en la siguiente entrada.

Ejemplos

El CSV nombre;precio / queso;12,50 se convierte en [{"nombre": "queso", "precio": 12.5}], y con Fila de encabezado desactivada, en [["nombre", "precio"], ["queso", 12.5]].

Conviene saber

  • Con la fila de encabezado, cada fila pasa a ser un objeto con los nombres de columna como claves; una fila con otro número de campos se señala con su número de fila.
  • El separador se detecta en las primeras filas: coma, punto y coma, tabulador o barra vertical. Excel en español escribe puntos y coma y comas decimales, que Detectar lee como 12.5.
  • Un valor solo pasa a número si se lee de vuelta igual, así que 007, 1.50 y los números muy largos siguen siendo texto. Desactiva la lectura de números para mantener todo como texto.
  • JSON a CSV necesita un array de objetos (las columnas son la unión de las claves) o un array de arrays. Los valores anidados se escriben como texto JSON.

¿Cómo se lee un archivo CSV?

Según la RFC 4180: los campos se separan con un separador, un campo entre comillas puede contener ese separador y saltos de línea, y una comilla dentro se escribe dos veces. El separador se detecta en las primeras filas: coma, punto y coma, tabulador o barra vertical.

Preguntas frecuentes

¿Por qué mis números pasan a texto, o al revés?

Un valor solo pasa a número si se lee de vuelta exactamente igual, así que 007, 1.50 y los números muy largos siguen siendo texto. Desactiva «Leer números y true/false» para mantener todo como texto.

¿Qué es el formato de Excel en español?

Excel en España escribe puntos y coma entre campos y una coma como marca decimal. Con separador o decimales en «Detectar», 12,50 se lee como 12.5, y JSON a CSV escribe un archivo con punto y coma si eliges la coma decimal.

¿Se envían mis datos a algún sitio?

No. La conversión ocurre en tu navegador. Lo que pegas nunca se envía a nuestros servidores.

Cambios de esta herramienta

Atajos de teclado

Cerrar

En todas partes

Buscar herramientas y acciones
Ctrl K
Mostrar esta ayuda
?
Cambiar de tema
Ctrl Shift L
Fijar la herramienta seleccionada (en la búsqueda)
Ctrl P

En una herramienta

Enviar la salida a la primera sugerencia
Ctrl ↵
Abrir un archivo en la entrada
Ctrl O
Copiar la salida
Ctrl Shift C
Cerrar búsquedaesc
herramientasCodificador y decodificador Base64Codifica texto en Base64 o decodifica Base64 a texto, con el alfabeto estándar o seguro para URL.CodificaciónFormateador y validador de JSONFormatea, minifica y valida JSON, con la línea y la columna exactas de cada error.FormatoProbador de regexPrueba expresiones regulares de JavaScript con resaltado en vivo, grupos de captura y una explicación en lenguaje sencillo.TextoGenerador de UUID y ULIDGenera UUID v4, UUID v7 y ULID en masa, o pega un identificador para ver su versión, variante y marca de tiempo.GeneradoresConversor de timestamp UnixConvierte timestamps Unix en fechas y viceversa, en cualquier zona horaria, con ISO 8601, RFC 2822 y tiempo relativo.Fecha y horaGenerador de hash y HMACCalcula hashes MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3 y CRC-32 de un texto o un archivo, con HMAC opcional.SeguridadGenerador de contraseñas y medidor de seguridadGenera contraseñas, frases de contraseña y PIN aleatorios, o comprueba lo segura que es una contraseña.SeguridadDecodificador y verificador de JWTDecodifica un JSON Web Token, comprueba su caducidad y sus claims, y verifica su firma con un secreto o una clave pública.SeguridadCalculadora CIDR y de subredes IPCalcula el rango, la máscara y el tamaño de redes IPv4 e IPv6, divídelas en subredes y comprueba qué contiene o se solapa con qué.RedExplicador de expresiones cronLee una expresión cron en lenguaje natural, mira sus próximas ejecuciones en cualquier zona horaria y déjala en su forma estándar.Fecha y horaOrdenar líneasOrdena líneas de texto de A a Z o de Z a A, en orden natural (file2 antes que file10), por punto de código, por número o por longitud.TextoQuitar líneas duplicadasQuita las líneas duplicadas de una lista, conserva la primera o la última copia, ignora mayúsculas o espacios, o elimina toda línea repetida.TextoComparar listas y textoCompara dos listas línea a línea: encuentra lo que está en ambas, solo en una o en cualquiera, o mira un diff de líneas marcado lado a lado.TextoConvertir mayúsculas y crear slugConvierte texto a camelCase, snake_case, kebab-case, Title Case y más, o transforma un título en un slug de URL con manejo de acentos.TextoCodificar, decodificar y analizar URLCodifica y decodifica texto con porcentajes para URL, o descompón una URL en esquema, host, ruta y consulta y edita la consulta como una tabla.CodificaciónValidadores: IBAN, BSN, IVA, tarjeta, ISBNComprueba un IBAN, un BSN neerlandés, un número de tarjeta, un número de IVA de la UE, un email, una URL o un ISBN, con el motivo si falla. Un valor por línea.ValidaciónCodificar y decodificar entidades HTMLEscapa texto para HTML con entidades con nombre, decimales o hexadecimales, o convierte entidades como & y é de nuevo en caracteres.CodificaciónEscapar y desescapar cadenasEscapa texto para una cadena JSON o JavaScript, una cadena SQL, un campo CSV, una expresión regular o una palabra de shell, o deshaz el escape.CodificaciónDígitos de control EAN, UPC y GTINComprueba el dígito de control de un EAN-8, EAN-13, UPC-A o GTIN-14, añade el que falta, lee el país del prefijo GS1 y convierte entre ISBN-10 y EAN-13. Un código por línea.ValidaciónGenerador de datos de pruebaGenera en masa IBAN, BSN, códigos EAN y números de IVA europeos de prueba. Pasan las comprobaciones, pero no pertenecen a nadie.GeneradoresFormateador y minificador de SQLDa formato a SQL con cada cláusula en su línea, o minifícalo en una sola línea, para MySQL, PostgreSQL, SQLite, SQL Server y BigQuery.FormatoConversor de base numéricaConvierte números entre binario, octal, decimal, hexadecimal y cualquier base de 2 a 36, con números grandes, complemento a dos y vista de bits.CodificaciónConversor de YAML, TOML y JSONConvierte entre JSON, YAML y TOML, o valida y da formato a un documento, con la línea y la columna de cada error.FormatoConversor de CSV y JSONConvierte CSV en un array JSON de objetos o arrays, o JSON de vuelta a CSV. Detecta el separador y lee archivos de Excel con punto y coma y coma decimal.DatosProbador de glob y .gitignorePrueba patrones glob y reglas .gitignore con una lista de rutas y mira qué rutas coinciden y qué regla lo hizo.TextoConversor de colorConvierte un color entre HEX, RGB, HSL, HWB y OKLCH, comprueba su contraste WCAG con un fondo o crea con él una paleta tonal de Material 3.FormatoCalculadora chmodConvierte permisos de archivos Unix entre octal (755), letras (rwxr-xr-x), ls -l y cláusulas chmod, con una cuadrícula de casillas y los bits setuid, setgid y sticky.SeguridadAnalizador de user-agentLee una cadena user-agent: navegador, motor, sistema operativo, tipo de dispositivo y si es un bot. Déjalo vacío para leer tu propio navegador.RedConvertir cURL en códigoPega un comando cURL y obtén la misma petición en fetch, Axios, Python requests, Go o PHP. No se ejecuta nada y no se envía nada.RedVista previa de MarkdownEscribe Markdown y míralo renderizado mientras tecleas, o copia el HTML. El HTML en bruto se muestra como texto y los enlaces se comprueban, así que nada de la vista previa puede ejecutarse.FormatoGenerador de códigos de barras y QRCrea un código QR, EAN-13, UPC-A, Code 128, ITF-14 o Data Matrix, descárgalo como SVG o PNG, o lee un código desde una imagen.GeneradorespáginasCambiosQué cambió en cada versiónpáginasAcerca deQué es codeknife.dev y quién lo hacepáginasIdeasSugiere mejoras y vota por las ideas de otros visitantes.páginasPrivacidadQué sale de tu navegador y qué se guardapáginasAccesibilidadConformidad, limitaciones conocidas y cómo informar de un problemapáginasSuscripciónQuita los anuncios y amplía los límitespáginasacciones