Conversor de CSV a JSON
Convierte una tabla CSV en JSON sin adivinar qué celdas son números, booleanos o null. Pega el texto o elige un archivo UTF-8 local, selecciona objetos o matrices y copia o descarga el resultado comprobado.
Convierte una tabla sin adivinar los tipos de datos
- Elige CSV pegado o Archivo local. Los archivos deben estar en UTF-8, tener extensión .csv, .tsv o .txt y ocupar hasta 5 MiB. Selecciona explícitamente el separador: la coma es la opción predeterminada, pero también hay punto y coma, tabulador y barra vertical. Un nombre de archivo TSV no selecciona automáticamente el tabulador.
- Elige Objetos para usar el primer registro como nombres exactos de cabecera, o Matrices para conservar todos los registros como datos. Objetos requiere cabeceras únicas y no vacías y filas con el mismo número de campos. Matrices permite filas de distinta longitud. Usar ejemplo rellena una tabla de identificador, nombre y estado y espera a que pulses Convertir.
- Selecciona Convertir y consulta el número de registros de datos, la información sobre el número de campos y el tamaño real de salida en UTF-8. Detalles de la conversión relaciona los campos analizados con la representación JSON elegida. Copiar JSON y Descargar JSON utilizan el resultado completo aunque la vista previa esté incompleta. Limpiar elimina ambas fuentes y restablece los valores predeterminados.
Cadenas, cabeceras y campos exactos
Cada celda sigue siendo una cadena, incluidos 00042, 9007199254740993, true, false, null, campos vacíos y texto que parece una fórmula. No se convierte la precisión numérica, no se sustituye por null, no se evalúan fórmulas ni se infieren estructuras anidadas a partir de una cabecera.
Un separador entre comillas dobles permanece dentro de un único campo. Dos comillas dobles consecutivas se convierten en una comilla, y los CRLF, LF o CR incrustados permanecen en la cadena analizada. Los espacios son datos. Una comilla suelta o sin cerrar, o texto después de una comilla de cierre, se rechaza en lugar de repararse. Un terminador final de registro no crea una fila fantasma; los registros vacíos adicionales se conservan.
Las cabeceras de los objetos conservan exactamente su escritura y sus espacios, salvo que se rechaza un nombre formado solo por espacios eliminables mediante trim. Se rechazan los nombres exactamente repetidos, pero A y a o los nombres acentuados compuestos y descompuestos siguen siendo distintos. Nombres como __proto__, constructor y 2 son claves planas normales. Los miembros se emiten en el orden de las columnas; los receptores JSON pueden enumerar los nombres de otra manera.
La salida usa sangría de dos espacios, formato LF y un LF final, codificada en UTF-8 sin añadir BOM. Se consume una firma UTF-8 inicial del archivo o, según la política de esta herramienta, un U+FEFF inicial pegado; los U+FEFF adicionales permanecen como contenido. No se adivinan ni reparan las firmas UTF-16/32 ni el UTF-8 mal formado. Los escapes JSON conservan los caracteres de control incrustados en vez de eliminarlos.
Ejemplos de las dos representaciones
El ejemplo proporcionado de tres registros tiene las cabeceras id, name y active, seguidas de dos registros de datos. Objetos produce dos objetos y 150 bytes UTF-8, conservando 00042 y el identificador largo como cadenas. La coma entre comillas en A, B no añade una cuarta columna y true sigue siendo la cadena true.
Matrices aplicado al mismo ejemplo produce tres matrices y 146 bytes UTF-8. La primera contiene id, name y active como valores en vez de utilizarlos como claves. En este modo, una fila corta o un registro vacío se conserva con su número real de campos.
Una entrada válida con solo cabecera produce una matriz JSON vacía con un LF final: tres bytes y ningún objeto de datos. Es un resultado satisfactorio y exportable, a diferencia de una fuente vacía o que solo contiene una firma y carece de registros CSV. Un registro de datos vacío bajo una cabecera de una columna se convierte en una cadena vacía; bajo una cabecera más ancha produce un error de número de campos.
Límites de entrada, salida y vista previa
Los archivos están limitados a 5242880 bytes. El texto decodificado o pegado debe ajustarse a 5000000 unidades UTF-16, 50000 secuencias físicas CRLF/LF/CR incluido el contenido entre comillas, 50000 registros lógicos incluida la cabecera, 256 columnas por registro y 2000000 celdas analizadas. CRLF cuenta como un final de línea físico. Son límites explícitos de recursos, no recuentos de caracteres visibles.
El JSON formateado completo debe ocupar como máximo 16777216 bytes UTF-8. Una operación del worker que supere los 15000 milisegundos se termina sin descarga parcial. Las cabeceras largas repetidas y los caracteres de control escapados pueden hacer que un CSV admitido supere el límite de salida. Los límites no garantizan el uso de memoria ni la velocidad en todos los dispositivos.
La vista previa JSON predeterminada muestra hasta 100000 caracteres escalares Unicode e indica claramente si está incompleta. La copia y la descarga completas actuales conservan todos los campos aceptados. Si se deniega el acceso al portapapeles, se muestra el texto completo actual de solo lectura para copiarlo manualmente, no solo el prefijo. Las vistas previas de campos del método también pueden abreviarse sin modificar la exportación.
Esta versión no incluye entrada por URL, detección automática de separador, inferencia de tipos, comentarios, eliminación de directivas, reparación de CSV ni conversión de codificaciones antiguas. RFC 4180 describe un formato CSV habitual, no todos los dialectos. El UTF-16 mal formado se rechaza y no se puede deshacer la normalización realizada por el navegador o el portapapeles antes de pegar.
Conversión local y salida actual
Esta herramienta no añade carga de documentos, cuenta, historial guardado, registro de datos ni URL para compartir que contenga datos. Al editar, cambiar de fuente u opciones, elegir otro archivo, cancelar o limpiar, el resultado anterior deja de estar disponible. Los servicios existentes del sitio son independientes; el procesamiento local no los certifica ni garantiza el borrado seguro.
Preguntas sobre CSV a JSON
Fuentes
- rfc-editor.orgRFC 4180RFC 4180 describe un formato CSV habitual; esta herramienta especifica sus propias reglas de análisis.
- rfc-editor.orgRFC 8259RFC 8259 describe las cadenas JSON y las consideraciones de interoperabilidad de los nombres de miembros de objetos.
- tc39.esECMAScript JSON.stringifyECMAScript especifica el escape de cadenas JSON.
- tc39.esECMAScript OrdinaryOwnPropertyKeysECMAScript describe el orden de las propiedades de los objetos; la enumeración posterior puede diferir del orden de las columnas CSV emitidas.
- encoding.spec.whatwg.orgEncoding StandardEncoding Standard describe la decodificación UTF-8 estricta y las firmas.
Herramientas relacionadas
Conversor de JSON a CSV
Convierte registros JSON planos en texto delimitado localmente, conservando el orden de las columnas y la escritura de los números.
Abrir herramienta — Conversor de JSON a CSVConversor de separadores CSV
Cambia el separador CSV, revisa las columnas y detecta problemas de importación. CSV y TSV se procesan localmente sin modificar valores.
Abrir herramienta — Conversor de separadores CSVComparar dos archivos CSV
Empareja registros por una columna clave y encuentra los añadidos, eliminados y modificados.
Abrir herramienta — Comparar dos archivos CSVBuscar duplicados CSV
Encuentra filas repetidas o identificadores iguales con valores distintos. Revisa los conflictos y exporta los datos originales.
Abrir herramienta — Buscar duplicados CSVCombinar archivos CSV
Añade filas de varios CSV, alinea las columnas por nombre y descarga el resultado con un informe.
Abrir herramienta — Combinar archivos CSVDivisor de CSV
Divide un CSV por filas o tamaño exacto. Conserva las cabeceras y descarga cada parte.
Abrir herramienta — Divisor de CSV