Skip to content

Markdown to YAML Converter

Convert a Markdown table into YAML. Paste a GitHub-flavored Markdown table and get a YAML list of records, with optional automatic type detection.

Category: data
Use Case: Config Generation, Documentation to Data, CI/CD Pipelines
Privacy: 100% browser-based

Conversion Options

Recommended Settings

Pro Tips

  • The header row's column names become the YAML keys for every record in the list
  • The separator row (the line of dashes under the header) is detected automatically and skipped
  • With type inference on, 'true'/'false' become YAML booleans, numeric text becomes numbers, and empty cells become null
  • Disable type inference to keep every value as a plain string, exactly as written in the table
  • Escaped pipes (\|) inside cell values are converted back to literal pipe characters

Most Popular

Most users keep type inference enabled and leave keys unsorted to match the table's column order

When to Use This Tool

Config Generation

Turn a Markdown table of settings or feature flags into a YAML config file that your application, CI pipeline, or infrastructure tooling can load directly.

Documentation to Data

Extract structured data from README files, wikis, or specs written in Markdown and turn it into YAML for use in code, tests, or automation.

CI/CD Pipelines

Convert a Markdown table of build steps, environment variables, or matrix values into YAML for GitHub Actions, GitLab CI, or other pipeline definitions.

Test Fixtures & Seed Data

Write sample data as an easy-to-edit Markdown table, then convert it to YAML fixtures for tests, seed scripts, or mock APIs.

How It Works

1

Split the Markdown input into lines and detect the separator row (the line of dashes under the header)

2

Parse the header row and every data row by splitting on unescaped pipe (|) characters

3

Unescape any \| sequences back into literal pipe characters within cell values

4

Map each data row's cells to the header's key names to build one record per row

5

Optionally infer numbers, booleans, and null from the cell text, then serialize the records as YAML

100% Private

Files never leave your device. All processing happens locally in your browser.

Lightning Fast

Powered by js-yaml for optimal performance on modern browsers.

Secure

No data collection, no tracking, no sign-up required.

Frequently Asked Questions

What Markdown table format does this tool expect?

Standard GitHub-flavored Markdown tables: a header row, a separator row of dashes (optionally with colons for alignment), and one or more data rows, all using pipe (|) characters to separate columns.

How does type inference work?

With type inference enabled, 'true'/'false' become YAML booleans, whole or decimal numbers become YAML numbers, 'null' and empty cells become YAML null, and everything else stays a string. Disable it to keep every value as the literal text from the table.

What happens to escaped pipe characters?

A backslash-escaped pipe (\|) inside a cell is converted back into a literal pipe character in the YAML output, since YAML strings don't need pipes escaped.

What does 'Sort keys alphabetically' do?

By default, keys in each YAML record appear in the same order as the table's columns. Enabling this option instead sorts the keys alphabetically within each record.

Can I use the output directly in a YAML config file?

Yes. The output is a valid YAML list of records that you can paste directly into a config file, or use as-is if your tool expects a top-level YAML array.