Markdown Frontmatter Editor (YAML / TOML / JSON)
Static site generators (Jekyll, Hugo, Astro, Eleventy) store post metadata in a frontmatter block at the top of each Markdown file. Different SSGs prefer different formats — Jekyll defaults to YAML, Hugo defaults to TOML, MDX commonly uses ESM / JSON. This editor parses your existing frontmatter, lets you edit fields, and converts between formats.
Output
How to use the Markdown Frontmatter Editor (YAML / TOML / JSON)
Paste a Markdown file (with or without existing frontmatter). The fields parse into editable rows. Add / remove / rename. Pick the output format — YAML (Jekyll), TOML (Hugo), or JSON (MDX-friendly).
Frontmatter in static site generators
Static site generators store per-page metadata — title, date, tags, draft status — in a frontmatter block at the very top of each Markdown file. The block is delimited by --- for YAML or +++ for TOML, and the generator reads it to build the page without that data appearing in the body. Jekyll defaults to YAML, Hugo to TOML, and MDX-based setups often lean on JSON.
Because the formats differ, moving content between generators means rewriting frontmatter, and editing YAML by hand is error-prone — one bad indent breaks the build. This editor parses your existing block into editable fields, lets you add, rename, or remove them, and re-emits the frontmatter in YAML, TOML, or JSON, leaving the Markdown body intact.
Common use cases
- Migrating between SSGs — convert Jekyll YAML frontmatter to Hugo TOML or the reverse.
- Bulk field edits — add or rename a metadata field consistently on a post.
- Fixing YAML errors — repair an indentation mistake that breaks the build by editing fields visually.
- Adding metadata — introduce tags, a description, or a draft flag to an existing file.
- Format conversion — switch a file's frontmatter to the format a new toolchain expects.
Frequently asked questions
What delimiters mark a frontmatter block?
--- lines, TOML between +++ lines, and JSON variants are usually wrapped in --- too. The block must be the very first thing in the file for the generator to recognize it.