YAML is excellent for humans but inconsistent across consumers — DevOps pipelines want CSV audit logs, dashboards consume Markdown tables, data warehouses expect SQL INSERT statements, and integration partners often still demand XML. Instead of bouncing through four single-purpose converters, paste once and switch tabs to see the same input rendered in every common shape. Anchors and aliases (&name / *name) are resolved during parsing, so the output reflects what your loader will see. Multi-document YAML (separated by ---) becomes an array of documents. All processing runs in your browser via js-yaml.
Worked example: services list
A Compose-style services definition serializes very differently across the four target formats. CSV flattens with dot notation; XML preserves hierarchy with repeated child elements; SQL emits a single table with array fields serialized as JSON; Markdown shows a readable table.
Input YAML
services:
- name: web
image: nginx:1.27
ports: [80, 443]
env:
LOG_LEVEL: info
- name: db
image: postgres:16
ports: [5432]
env:
POSTGRES_DB: appCSV tab
name,image,ports.0,ports.1,env.LOG_LEVEL,env.POSTGRES_DB
web,nginx:1.27,80,443,info,
db,postgres:16,5432,,,app
XML tab
<root>
<services>
<name>web</name>
<image>nginx:1.27</image>
<ports>80</ports>
<ports>443</ports>
<env><LOG_LEVEL>info</LOG_LEVEL></env>
</services>
<services>
<name>db</name>
<image>postgres:16</image>
<ports>5432</ports>
<env><POSTGRES_DB>app</POSTGRES_DB></env>
</services>
</root>