YAML a CSV
Este convertidor transforma una secuencia de mapeos de YAML a CSV según RFC 4180 en tu navegador. Los valores anidados se aplanan en rutas de columnas, los campos se entrecomillan solo cuando es necesario y las filas terminan en CRLF — el archivo exacto que espera una hoja de cálculo. No se sube nada.
YAML a CSV: explicación
YAML ama los anidamientos; las hojas de cálculo aman las filas planas. Entre los dos está una cuestión mecánica: ¿cómo las claves de un mapeo anidado se convierten en los encabezados de una tabla? Este convertidor lo resuelve como el resto del ecosistema —con rutas de columnas. Un registro cuyo objeto address contiene un campo city produce una columna address.city, así que no se pierde información ni hay colisión de claves.
El lado del CSV es estricto RFC 4180: delimitador con coma, escape con comillas dobles cuando un campo contiene coma, comilla o salto de línea, y terminación de fila con CRLF. Los campos se entrecomillan solo cuando deben, porque cada comilla innecesaria es algo más con lo que un script posterior debe ser robusto. El resultado se abre directamente en Excel, Numbers, LibreOffice y Google Sheets.
Todo se ejecuta en esta pestaña del navegador. El texto YAML que pegas es parseado por un motor en la página, el CSV se construye a partir de los registros parseados y ninguno toca una red — abre DevTools, observa que el panel de red permanece en silencio y la afirmación se comprara sola.
Ir en sentido contrario — convertir una exportación de hoja de cálculo de vuelta a config — es el mismo motor al revés, y la convertir CSV de vuelta a YAML página lo maneja con la convención de rutas de columnas leída al revés.
Si tus datos de origen son JSON en lugar de YAML, el convertidor de JSON a CSV dedicado lo cubre con las mismas reglas de aplanamiento.
Cómo funciona realmente la conversión
El motor primero parsea tu YAML en registros, porque los archivos YAML que tabulan bien son secuencias de mapeos — una lista de nivel superior cuyo cada elemento tiene claves. Los valores anidados de cada registro se aplanan en rutas de columnas separadas por puntos, la unión de esas rutas en todos los registros se convierte en la fila de encabezados, y cada registro llena las columnas que tiene, dejando en blanco las que no tiene.
- Parseo: el texto YAML se lee como una secuencia de mapeos. Un archivo cuyo nivel superior es un único mapeo recibe un error claro pidiendo una lista.
- Aplanamiento: los mapeos y arrays anidados se convierten en rutas de columnas — address.city, tags.0, tags.1.
- Unión: la fila de encabezados es la unión ordenada de todas las rutas de los registros, la vista primero primero, para que las columnas se lean en un orden estable y predecible.
- Emisión: cada registro se escribe como una fila terminada en CRLF, con campos entrecomillados según RFC 4180 solo cuando el contenido lo obliga.
Cómo se ve el resultado
El ejemplo a continuación es el par exacto que produce el botón Cargar ejemplo del convertidor: dos registros de personas, uno con una dirección anidada y un array de etiquetas. Observa qué le pasa a cada forma: el objeto address crece dos columnas, el array tags se enumera por índice, y la coma dentro de un campo nota dispara el entrecomillado en exactamente ese campo.
Casos extremos a los que este convertidor se nieza en lugar de corromper
Un convertidor honesto tiene bordes, y lo peor que puede hacer es fingir que no no los tiene. Tres entradas son rechazadas con un mensaje específico en lugar de ser reconfiguradas silenciosamente, porque cada una significa que el resultado te mentiría:
- Un mapeo de nivel superior en lugar de una secuencia — un único objeto de configuración no es una tabla, e inventar una tabla de una fila ocultaría el error.
- Elementos de secuencia que son escalares o arrays — una lista de cadenas no puede tabularse en columnas con nombre.
- Claves homogéneas que difieren enormemente entre registros — la unión aún se convierte, pero la vista previa te muestra el resultado irregular para que decidas antes de guardar.
Preguntas frecuentes
¿Convertir YAML a CSV sube mi archivo a algún sitio?
No. El parseo y la generación de CSV se ejecutan dentro de esta pestaña del navegador con JavaScript que se cargó una sola vez cuando se abrió la página. La página no tiene ruta de API para enviar datos, y la Content-Security-Policy prohíbe que la página se conecte a ningún otro sitio. Puedes verificar ambas afirmaciones en DevTools: el panel de red no muestra ninguna petición cuando conviertes.
¿Cómo se manejan los valores anidados de YAML en el resultado CSV?
Los mapeos anidados se aplanan en rutas de columnas separadas por puntos — un objeto address con un campo city se convierte en una columna address.city. Los arrays se aplanan en rutas indexadas como tags.0 y tags.1. No se descarta ningún dato: cada valor hoja en el YAML termina en exactamente una celda.
¿Qué sintaxis YAML acepta el parser?
El núcleo cotidiano: secuencias y mapeos, escalares planos y entrecomillados, comentarios, booleanos, enteros, flotantes, nulo, y escalares de bloque. Las directivas, anclas y alias, y las claves de fusión están fuera del conjunto admitido por el convertidor y son rechazadas con un error con nombre en lugar de ser adivinadas — el sitio documenta exactamente este subconjunto para que un fallo nunca sea una sorpresa.
¿Por qué mis filas terminan con CRLF, y puedo cambiarlo?
RFC 4180 especifica CRLF (\r\n) como terminador de fila, y eso es lo que emite el convertidor por defecto porque es lo que el software de hoja de cálculo más compatible espera. Las herramientas que quieren LF desnudo suelen aceptar CRLF de todas formas; si tu pipeline es estricto al respecto, convierte primero y haz pasar el resultado después por un paso de normalización de saltos de línea.
¿Hay un límite de tamaño de archivo o de filas?
El límite es la memoria de la pestaña del navegador, no un tope de subida. El motor parsea en el hilo principal y rechaza documentos mayores de 8 MB con un mensaje claro en lugar de congelar la página — el mismo límite documentado que cada otra herramienta de hilo principal de este sitio. Para exportaciones de config típicas eso son decenas de miles de filas.
¿Cómo abro el CSV en Excel con la codificación correcta?
La descarga es UTF-8 sin marca de orden de bytes (BOM). Excel moderno maneja eso correctamente mediante Datos → Desde texto/CSV; las versiones más antiguas asumen a veces una página de código heredada y corrompen caracteres no ASCII. Si ves mojibake, usa el diálogo de importación de Excel, elige UTF-8 como origen y los datos se cargan correctamente.
¿Qué herramientas relacionadas debería usar después?
- CSV a YAMLConvertidor que funciona en tu navegadorAbrir
- Convertir JSON a CSVConvierte registros a una hoja de cálculo, anidados incluidosAbrir
- Formatear JSONIndenta, ordena claves y quita comentariosAbrir
- TOML a JSONConvertidor que funciona en tu navegadorAbrir
- Validar JSONValida la sintaxis con línea y columna exactas y repara los erroresAbrir
- Convertir CSV a JSONConvierte una exportación de hoja de cálculo en registrosAbrir