Markdown Document Generator

Fake documents with all Markdown elements

Generate a complete fake Markdown document that exercises every common element: headings, paragraphs, bold and italic, ordered and unordered lists, tables, fenced code blocks, blockquotes, links, images, and horizontal rules. Ideal for testing Markdown renderers and docs tooling. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

Which Markdown elements are included?

Every common one: an H1 down to H3 headings, paragraphs, bold and italic, inline code, unordered and nested lists, ordered lists, a three-column table, a fenced code block, a blockquote, links, an image, and a horizontal rule.

The Markdown Document Generator builds a complete sample Markdown document that touches every common element in one go. It is the fastest way to smoke-test a Markdown renderer, an editor preview pane, or a static-site pipeline, because a single document reveals which features parse correctly and which do not.

How it works

Each generated document assembles a predictable structure from randomised filler text. It always includes:

  • A top-level heading and several second- and third-level headings.
  • Paragraphs with bold, italic, and inline code spans, plus inline links.
  • An unordered list with a nested sub-item and a separate ordered list.
  • A three-column table with header and divider rows.
  • A fenced code block tagged as TypeScript.
  • A blockquote, an image, and a horizontal rule.

The filler sentences are drawn at random from a small bank, so pressing Generate gives you fresh prose while keeping the same full coverage of elements.

Coverage checklist

The document is designed so a developer can run through this mental checklist in under a minute:

ElementWhat to look for
H1 / H2 / H3 headingsCorrect size hierarchy, no runaway styles
Bold and italicCorrectly rendered inside a paragraph
Inline codeMonospace font, distinct background
Unordered list + nestingSub-item indented one level, bullet style correct
Ordered listNumbered correctly, not misnumbered from 1/1/1
TableAligned columns, visible divider row
Fenced code blockLanguage label, syntax highlighting if supported
BlockquoteLeft bar or indentation, no raw > character leaking
ImageLoads from placeholder service, alt text visible if broken
Horizontal ruleRenders as a visual divider, not as three dashes

Why these elements break most often

Tables and fenced code blocks are the two elements most likely to be parsed incorrectly by custom or stripped-down renderers. The table must have a header row, a separator row with at least three dashes per cell, and then data rows — renderers that expect --- without the column count often fail silently and emit plain text. Fenced code blocks are often affected by surrounding whitespace or the absence of a language label; this document always includes the label to test both paths.

Nested lists are another common failure point. Some renderers require exactly two or four spaces of indentation for sub-items and reject others. Running this document through a new renderer immediately surfaces those gaps.

Tips and notes

  • Paste the output into your renderer and check the table, nested list, and code fence first — these are the elements most renderers get wrong.
  • The image uses a placeholder service, so a working preview will actually display it; a broken preview shows alt text only.
  • Because the structure is stable across different seeds, you can diff the rendered HTML across renderer versions to catch regressions — only the filler text changes, not the element layout.
  • Everything runs locally with no API key required; the only network call is the placeholder image request when a preview loads it.