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.
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
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.
Extract structured data from README files, wikis, or specs written in Markdown and turn it into YAML for use in code, tests, or automation.
Convert a Markdown table of build steps, environment variables, or matrix values into YAML for GitHub Actions, GitLab CI, or other pipeline definitions.
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
Split the Markdown input into lines and detect the separator row (the line of dashes under the header)
Parse the header row and every data row by splitting on unescaped pipe (|) characters
Unescape any \| sequences back into literal pipe characters within cell values
Map each data row's cells to the header's key names to build one record per row
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.