Toolivaro

Conversor de JSON a CSV gratis

Convierte un array JSON de objetos a CSV RFC 4180 con comillas correctas, unión de columnas y opciones de copiar o descargar.

El conversor de JSON a CSV aplana un array JSON de objetos en un archivo CSV listo para hojas de cálculo. Pega un array de objetos —una respuesta de API, una exportación de base de datos o datos de prueba— y el conversor deriva el conjunto de columnas de la unión de todas las claves de los objetos, serializa cada fila con las comillas RFC 4180 (las celdas que contienen comas, comillas o saltos de línea se entrecomillan y las comillas incrustadas se duplican) y emite un archivo terminado en CRLF. Las claves ausentes se convierten en celdas vacías; los valores anidados se serializan como cadenas JSON; null e undefined se convierten en celdas vacías. La herramienta valida la entrada antes de convertir y explica exactamente qué falla cuando no se trata de un array no vacío de objetos. Todo se ejecuta localmente en tu navegador: el JSON pegado nunca sale de tu dispositivo, no se registra ni se transmite. Las acciones de copiar y descargar entregan el archivo donde lo necesites. Usa este conversor para abrir datos de API en una hoja de cálculo, entregar un informe a una persona sin perfil técnico o preparar importaciones CSV para herramientas que rechazan JSON.

Se procesa localmente en tu navegador

Procesado localmente en tu navegador: los datos nunca se suben, registran ni almacenan.

Cómo usar esta calculadora

How the column set is built

JSON-to-CSV flattens an array of objects into a spreadsheet-ready table, and the first job is deciding the columns. The converter takes the union of every object’s keys in first-seen order: the first object contributes its keys in order, then new keys from later objects are appended. That is the behavior that keeps the output correct when rows disagree — an API response where one user has a city and another does not produces a name, age, city table with an empty cell where city is missing, and every row lines up with the header.

The input contract is strict because the output needs a stable shape: the converter requires a non-empty array of objects. A bare object, an array of strings, or an empty array is rejected with a message that says what was wrong, rather than guessed into a structure that would break downstream.

What happens to values that are not simple text

CSV cells are text, so values are serialized the way the format allows: missing keys become empty cells, null and undefined become empty cells, and nested values — an object or array inside a cell — are serialized as JSON strings, so {"x":1} stays the text {"x":1}. That is the only lossless flat representation: the nested data survives verbatim in the cell, and any spreadsheet software shows it as text.

Numbers and booleans are written as their plain forms (30, true), which is the natural convention for spreadsheet imports. True flattening of deep structures — turning every nested key into its own column — is outside the converter’s scope, and the page says so rather than pretending otherwise.

Quoting and line endings: the RFC 4180 contract

The output follows RFC 4180 exactly so every spreadsheet application opens it correctly: cells containing a comma, a quote, or a line break are wrapped in double quotes, embedded quotes are doubled (""), and rows are terminated with CRLF — the line ending the standard defines and the one spreadsheet tools expect. The worked example shows the pair in action: the cell "New York, NY" is quoted because of its comma, and the file ends every row with CRLF.

Getting these details right is the difference between a file that opens cleanly and one that splits columns or misaligns rows. The converter never produces the unquoted forms that break on the first address containing a comma.

The local promise

API responses, database exports, and test data often contain internal details that should not leave your machine, and converting JSON to CSV is a job no server needs to perform. Everything runs in your browser: the JSON is parsed and serialized locally, nothing is uploaded, logged, or stored, and copy and download actions deliver the CSV file where you need it — a spreadsheet, an import tool, or a stakeholder who asked for the data in a readable form.

¿Cómo se calcula el resultado?

Exportar una respuesta de API a una hoja de cálculo

Una API devuelve usuarios con campos distintos: uno tiene ciudad y otro no. El conversor construye el conjunto de columnas a partir de todas las claves (name, age, city), emite una celda vacía donde falta city y entrecomilla la celda que contiene una coma. El resultado se abre directamente en software de hojas de cálculo.

Entrada y resultado del ejemplo
Entrada Valor
json [{"name":"Alice","age":"30","city":"Paris"},{"name":"Bob","age":"25"}]
Resultado name,age,city Alice,30,Paris Bob,25,

¿Cuál es la fórmula y sus supuestos?

Conjunto de columnas

columns = union of all object keys, first-seen order

Términos de la fórmula
Símbolo Significado
union todas las claves que aparecen en cualquier objeto

Los objetos a los que les falta una clave producen una celda vacía en esa columna; el orden de las columnas es estable en todo el archivo.

Comillas en las celdas (RFC 4180)

quoted ⇔ cell contains comma, quote, or line break

Términos de la fórmula
Símbolo Significado
quote una comilla doble dentro de una celda entre comillas se duplica ("")
line break se usa CRLF entre filas

¿Cuáles son los errores más comunes?

  • Convertir un objeto suelto en lugar de un array: el conversor exige un array no vacío de objetos y explica por qué.
  • Esperar que los objetos anidados se aplasten: se serializan como cadenas JSON, que es la única representación plana sin pérdidas.
  • Usar un conversor en línea que sube el JSON: esta herramienta mantiene todo en tu dispositivo.

¿Cuáles son los supuestos y las limitaciones?

  • La entrada debe ser un array no vacío de objetos; un objeto suelto o un array de primitivas se rechaza con un mensaje claro.
  • Los valores anidados siguen siendo cadenas JSON: el aplanamiento real de estructuras profundas queda fuera del alcance del conversor.
  • Los arrays muy grandes se procesan en memoria; la herramienta está pensada para cargas típicas, no para volcados de bases de datos.

¿De dónde salen los números?

Última revisión 4 de agosto de 2026 · Versión 1.0.0 · Toolivaro no garantiza el contenido externo.

Preguntas frecuentes

¿Cómo se convierten los objetos anidados?

Los valores anidados se serializan como cadenas JSON dentro de la celda: por ejemplo, {"x":1} se convierte en el texto {"x":1}. CSV es un formato plano, así que las estructuras más profundas necesitan aplanamiento o una exportación aparte.

¿Cuál es el orden de las columnas?

Las columnas siguen el orden de primera aparición en el array: el primer objeto aporta sus claves en orden y después se añaden las claves nuevas de los objetos siguientes. Cada fila queda alineada con la cabecera independientemente de qué claves tenga cada objeto.

¿Por qué mi archivo termina con CRLF?

CRLF es el final de línea de RFC 4180 y la convención que esperan las aplicaciones de hojas de cálculo. El conversor lo emite por defecto para que los archivos se abran correctamente en todas partes.

Can I convert an object instead of an array?

No — the converter requires a non-empty array of objects, because that is the shape that maps to rows. A bare object is rejected with a clear message; wrap it in an array if that is what you have.

Why do my null values come out as empty cells?

Null and undefined mean "no value here" in JSON, and an empty cell is the honest CSV equivalent — the column position is preserved, and the spreadsheet shows the absence rather than a placeholder that could be mistaken for data.

Parte de Kit de herramientas de texto y JSON para desarrolladores

¿Encontraste un error o tienes una corrección? Repórtalo: revisamos cada corrección.

¿Te ha sido útil?

Revisado por el equipo editorial de Toolivaro según nuestra metodología Metodología · Política editorial