Back to browse
Draft2final – CLI converts Markdown into manuscript and screenplay PDFs

Draft2final – CLI converts Markdown into manuscript and screenplay PDFs

by cosmiciron·Mar 10, 2026·2 points·0 comments

AI Analysis

●●SolidNiche GemSlickCozy

4MB binary renders manuscripts faster than Puppeteer-based PDF tools.

Strengths
  • 4MB binary without Chromium dependency is refreshingly lightweight for a PDF tool.
  • Handles industry-specific manuscript and screenplay formatting specs completely out of box.
  • Sub-second rendering times beat typical HTML-to-PDF conversion pipelines easily.
Weaknesses
  • Competes with established tools like Pandoc, Typst, and Final Draft.
  • Niche appeal limits broader adoption beyond authors already writing in Markdown.
Category
Target Audience

Writers, screenwriters, and researchers using Markdown

Similar To

Pandoc · Typst · Final Draft

Post Description

I got tired of the last-mile problem in writing: I write in Markdown, but submitting a novel manuscript or screenplay means either wrestling with Word/InDesign, installing a multi-GB LaTeX stack, or accepting output that looks like a printed webpage — and gets rejected.

So I built a small CLI that knows what specific publication formats are supposed to look like and just renders them correctly.

draft2final story.md --as manuscript draft2final script.md --as screenplay

The manuscript format handles the actual spec: Courier/TNR at 12pt, 1-inch margins, running headers with word count, ~250 words/page, proper title page, widow/orphan control. The screenplay format handles scene headings, action blocks, character cues, parentheticals, MORE/CONT'D, and dual-dialogue — using blockquote syntax so the source file stays clean Markdown.

Some implementation details that might interest people here:

The binary is 4MB. I wanted it installable in one command with no system dependencies — no LaTeX, no Pandoc, no headless Chrome. The font situation was the hardest part: proper manuscript formatting needs specific fonts, and some formats need CJK support, which means potentially large font files. I solved this with JIT font downloading — the CLI ships tiny and only pulls what it needs at render time.

A 30-page document renders in under 0.5s.

It handles right-to-left scripts and mixed Arabic/Latin/CJK text, which most converters either break or require manual configuration for.

It's open source. Each format is a self-contained TypeScript module, so adding new input or output formats is relatively straightforward — I'd like to eventually support APA, Chicago, and stage play formats, and contributions are welcome. That said, I'd especially like feedback from anyone who knows the manuscript or screenplay specs well — I'm sure there are edge cases I haven't hit yet.

Docs + syntax guide: https://draft2final.app/guide

npm install -g draft2final

Similar Projects

Developer Tools●●Solid

Pdf-to-Markdown CLI

90x faster than docling with Claude Code agent skill integration.

SlickSolve My Problem
MartinMond
602mo ago