How to create definition lists in markdown for glossaries, dictionaries, and term-definition pairs.
Definition lists pair terms with their definitions, similar to a dictionary. In extended markdown (PHP Markdown Extra, Pandoc), a term on one line followed by a colon and definition on the next line creates a definition list (<dl>, <dt>, <dd>). Not part of CommonMark.
Term on its own line, definition on the next starting with :
A term can have multiple definitions by adding multiple : lines.
| Platform | Supported | Notes |
|---|---|---|
| GitHub | No | Not supported in GFM — use a table instead |
| GitLab | No | — |
| Pandoc | Yes | — |
| PHP Markdown Extra | Yes | — |
| Obsidian | No | — |
| Discord | No | — |
Using on GitHub (not supported)
Use a two-column table for term/definition pairs on GitHub
GitHub does not support definition list syntax. Use | Term | Definition | table syntax instead.
On platforms without definition list support, a two-column markdown table with Term | Definition headers achieves the same visual result.
Everything you need to know.
In extended markdown parsers (Pandoc, PHP Markdown Extra): put the term on its own line, then the definition on the next line starting with a colon. GitHub does not support this — use a table instead.
Markdown tables use pipes (|) and hyphens (-) to create rows and columns. The second row defines column alignment with colons. Tables are ideal for structured data, comparisons, and reference material.
Bullet lists (unordered lists) in markdown start each item with a dash (-), asterisk (*), or plus sign (+) followed by a space. They're the most common way to present non-sequential items, features, or options.
Numbered lists (ordered lists) in markdown start each item with a number followed by a period and a space (1. ). Markdown auto-numbers the output regardless of the numbers you type — all items could be "1." and the rendered list would still count correctly.
Paste your markdown and see definition list rendered instantly with professional themes.