ExcelTool.io

Excel to YAML Converter

Turn Excel rows into YAML records for config, fixtures, documentation, and developer workflows. Your workbook stays in your browser.

Drop your files here or click to upload

Supports .xlsx, .xls, .xlsm, .xlsb · up to 50MB · or paste a file from your clipboard

How to Export Excel Tables

  1. Upload an Excel workbook - Your file is opened locally in the browser.
  2. Choose the worksheet and format - Export Markdown, LaTeX, YAML, or TSV from the same data.
  3. Copy or download the result - Use the output in docs, reports, repositories, or data pipelines.

What's next?

Keep going with one of these tools.

What the YAML Output Looks Like

Each row becomes one record in a sequence, with the header row supplying quoted keys and two-space indentation under the dash:

- "region": North
  "units": 120
  "revenue": 4820.5
  "active": true
  "owner": "Ada Lovelace"
- "region": South
  "units": 98
  "revenue": 3910
  "active": false
  "owner": null

Turn off "first row as headers" and the output becomes a sequence of sequences instead - a list of rows, each a list of cell values - which is the shape to use when the sheet has no header row or when the consumer wants positional data.

How Cell Types Cross Over

In the sheetIn the YAML
NumberA bare number, trimmed to the precision the workbook shows (1.1, not 1.1000000000000001)
TRUE / FALSEtrue / false
Empty cell or empty stringnull
Simple text (letters, digits, . - _ /)Written bare, without quotes
Text with spaces, colons, quotes, accents or emojiDouble-quoted with JSON escaping, so it always parses
Date cellThe underlying serial number, for example 45292
FormulaIts last calculated result, never the formula text

Edge Cases and Limits

  • Header cleanup - blank header cells become Column N, and duplicate headers get a numeric suffix, so every key in a record is unique.
  • An empty sheet, or a sheet with headers but no data rows, exports as [] rather than as nothing.
  • No anchors, aliases, comments or multi-document markers are written; the output is one plain document.
  • No nesting - a column called address.city stays a key called address.city; it is not expanded into a nested map.
  • One sheet at a time in the interactive view. Dropping several workbooks converts each file's first sheet and returns a ZIP of .yaml files.
  • Downloads have no byte-order mark, because a BOM is a syntax error for most YAML parsers.

Using the Output as Config or Fixtures

The most common reason to take rows out of a spreadsheet as YAML is that a human maintains the list and a program consumes it: feature flags, seed data, translation strings, environment definitions, test fixtures. Three habits make that workflow reliable:

  • Keep the sheet the source of truth and re-export, rather than editing the YAML and the sheet in parallel. The export is deterministic - the same sheet always produces the same file - so it diffs cleanly in version control.
  • Name headers the way the consumer wants keys. Header text becomes the key verbatim, so a column called "Display Name" becomes the key "Display Name". Rename it to display_name in the sheet.
  • Indent it into place if you need a wrapper. The output is always a top-level sequence; to nest it under a key such as users:, paste it below that key and indent the block by two spaces.

The file is written without a byte-order mark, which matters because a BOM is a syntax error for most YAML parsers, and with Unix line endings inside each record.

When to Use a Different Tool

For the reverse direction use YAML to Excel. If the consumer is code rather than a config file, Excel to JSON gives a single array and Excel to JSONL gives one object per line for streaming and log pipelines. The same export screen here also writes Markdown tables and LaTeX tabular from the identical worksheet, and Excel to SQL writes INSERT statements when the destination is a database.

Frequently Asked Questions

Related Tools