A task list in a preview looks interactive: boxes you could tick. The exported PDF is a snapshot. Its boxes are printed marks, not form controls, and the checked state is whatever the Markdown said at export time. That makes task lists useful as a record and wrong as a fill-in form.
What the converter supports
Markdown to PDF lists GitHub-flavored Markdown task lists among its features, and its public product notes include task lists in that set. GitHub's own documentation defines the syntax: a list item starts with a hyphen, a space and [ ]; a completed task uses [x]. The state belongs to the source, not to the reader.
A checklist fixture
# Pre-flight
- [x] Confirm the owner
- [x] Freeze the source
- [ ] Export the PDF
- [ ] Send for review
Nested:
- [ ] Parent task
- [x] Child task
| Check | State |
| --- | --- |
| Export | [x] |
| Send | [ ] |
What the checks showed
The fixture was opened in the live preview and exported as a one-page PDF on 24 October 2026. These are observations from that single session, not a survey of PDF viewers or printers.
- Six checkboxes rendered. Four top-level tasks and two nested tasks appeared with the correct checked or unchecked state. The boxes were disabled in the preview: they display state, they do not accept a click.
- Nested state was independent. The parent could be unchecked while the child was checked. Nesting preserved the indentation rather than flattening the items.
- Upper and lower case both worked in list items.
- [X]and- [x]both produced checked boxes. - Task syntax did not work inside table cells. A table cell containing
[x]or[ ]printed the bracket text literally; only list items became checkboxes. - The PDF was not a form. The exported file reported no form fields and no widget annotations. The boxes are printed graphics.
- The checked mark was low contrast. At normal reading size the checked boxes were light grey with a white tick. Distinguishable on screen, but not a strong signal on a poor print or in greyscale.
Decide between a record and a form
- Use task lists for a record. A deployment checklist, a review agenda or a handover list benefits from showing what was done at the moment of export. The PDF is evidence of that state.
- Do not use them as a fillable form. The reader cannot tick a box. If the recipient must complete the list, send a form built for that purpose or ask for the status in writing.
- Write the state in words where it matters. A checked box is a small mark; "Export PDF — done 24 Oct" survives greyscale, low-resolution printing and text extraction. Use the box as a visual aid, not the only evidence.
- Keep tasks short. A wrapped task pushes the second line under the text rather than under the checkbox, which makes long lists harder to scan. Move detail into a note or a linked section.
- Group by stage. Headings such as "Before export", "After export" and "Delivery" give the reader a path. A single list of twenty items loses the sequence that made it useful.
- Do not fake progress. Mark a task complete only when it is. An unchecked box is a clear statement that the step was not done at export time.
Check the printed list
- Count the items. Confirm that every task survived, especially items after a page break or a nested block.
- Compare checked and unchecked items. At 100% and in greyscale, can you tell them apart without knowing the source? If not, add words.
- Look for literal
[x]or[ ]. Bracket text means the item was not parsed as a task — often because it sits in a table or lacks the list marker. - Try selecting the task text. The label should be real text, not an image. This does not certify accessibility, but it keeps the list searchable and copyable.
- Do not test by clicking the PDF. There is nothing to click. If interactivity is required, this is the wrong output format.
Diagnose a task list that exported badly
- Brackets appear instead of a checkbox
- The item is not a list item, or it is inside a table cell. Start the line with a hyphen and a space, then the bracket, and keep the task outside table markup.
- The checkbox cannot be ticked
- Expected. The PDF contains printed marks, not form fields. Use a form tool if the recipient must interact with it.
- The checked state looks wrong
- Check the source marker and spacing.
[x]and[X]both worked in list items; a missing space after the hyphen is a common cause of literal text. - Nested tasks lost their structure
- Indent the child list consistently under the parent item. Mixed indentation can flatten the hierarchy in the rendered list.
- The boxes are hard to see on paper
- The checked mark is low contrast at small sizes. Repeat critical status in words, print a test page, and avoid relying on the tick alone.
- A long item wraps awkwardly
- Shorten the task and move the explanation into a sub-bullet or a note. The checkbox is sized for a single line of text.
Delivery checklist
- The document is a record, not a form the recipient must complete.
- Every task uses the list syntax with a space after the hyphen.
- Checked states are accurate at export time.
- Critical status is written in words as well as shown by a tick.
- No task markers were placed inside table cells.
- Nested items are indented consistently and still read as a hierarchy.
- The exported PDF was checked at 100% and in greyscale.
Sources and scope
Checked 24 October 2026. The workflow is editorial guidance. Preview and PDF observations come from one desktop browser session and one one-page export on that date; no accessibility, printer or cross-viewer certification is claimed.
- GitHub Docs: About task lists — the
- [ ]and- [x]syntax for task list items. - Markdown to PDF: product notes — task lists as part of GitHub-flavored Markdown support, as described by the product.
- Markdown to PDF homepage — current feature list.