iA Writer Templates for Structured Writing
Separation of writing and formatting means you edit in plain Markdown, then pick how it looks.

Templates in iA Writer decide how a document looks when you preview it, print it, or export it to PDF and Word. They never touch the editor itself, and that split is the whole point: you write in plain Markdown, and the formatting gets decided once, at export, instead of every time you glance at a heading.
Fonts, margins, line height, page numbers, title pages, headers, footers: all of that lives in the template. What stays untouched is the writing experience, Focus Mode, syntax highlighting, the blank page you're typing into. Swap the template and the same document can come out looking like a manuscript, a lab report, or a GitHub README, without a single character of the content changing. Templates work on Mac, iOS, and Windows, with Windows template installation requiring version 1.2 or later. Android support has been dropped, so this is a three-platform conversation now, whether Android users like it or not.
How the template system is built: the file structure a writer should understand
Templates are bundles, directories that macOS and iOS treat as single files even though they're really folders holding several parts. Right-click one on a Mac, choose Show Bundle Contents, and you'll find a small, fairly logical set of pieces. Nothing here needs a computer science degree to parse.
Contents/Info.plist is the configuration file. It names the template, gives it a unique identifier, and tells iA Writer which HTML files handle which part of the page. Resources/document.html lays out the main body text, the thing you'll actually stare at in preview. Resources/title.html is optional and builds a separate title page when the template calls for one. Resources/header.html and footer.html are also optional, rendering at the top and bottom of every exported page. Then there's Resources/style.css, which does the real visual work: typeface, spacing, color, margin widths.
Here's the part worth sitting with, because it explains why templates are so easy to build and why the whole system holds together. iA Writer uses JavaScript to drop your content into the HTML at render time, swapping placeholders like data-document, data-title, data-date, and data-page-number for the real text and metadata pulled from your file. Building a template takes exactly the skills needed to build a basic webpage: HTML for structure, CSS for style, JavaScript only if something needs to happen dynamically. Anyone who's built a simple site before already knows most of what's needed here.
YAML frontmatter, the metadata block some writers stick at the top of a Markdown file, feeds those same variables. Author name, document date, whatever sits in frontmatter stays invisible while you're writing and shows up later in the rendered output.
One thing trips people up every time: bundles get copied on install. Edit the original download afterward and nothing changes, because iA Writer reads the installed copy, not your source file. Keep tweaking a template, and you have to track down the version that's actually installed, not the one sitting in Downloads.
Installing templates: the three paths on Mac, iOS, and Windows
On a Mac, there are three doors in: double-click the bundle in Finder, drag it onto the iA Writer Dock icon, or add it through Preferences → Templates. Pick whichever matches how much effort you feel like spending.
On iOS, the app takes template bundles and ZIP archives, one template per archive, usually arriving via AirDrop or the "Copy to iA Writer" action from Safari, Mail, iCloud Drive, or another syncing service. Windows, as of version 1.2, handles it through File → Install Template, pointing at an .iatemplate.zip file.
The same catch from the last section applies everywhere: once installed, the live copy is what runs the show. If a template isn't behaving, right-click it in Preferences and choose Show in Finder to find the file actually in use, instead of assuming your latest download took effect. It usually didn't.
For something smaller than a full custom template, there's a shortcut: drop an HTML <style> block directly into the document. That overrides the selected template's CSS for that one file, useful for a single margin fix without building a whole new bundle over one document.
The built-in and official extra templates, and what each is designed for
The templates shipped with iA Writer cover the standard cases: heading numbering, headers, footers, title pages, the pieces most structured documents need. Beyond those, iA has released a handful of additional templates as separate downloads on the site rather than stuffing everything into the app by default, and that restraint is deliberate, not laziness.
The GitHub template is the sharpest of the bunch, built by copying GitHub's own CSS directly. It targets technical writing and code documentation, and it skips heading numbers and footers on purpose, the same features a report or an essay depends on. That's not a missing feature. Code documentation gets scrolled through on a screen, not flipped through page by page, so building in page numbers would solve a problem nobody reading a README actually has.
Templates designed for academic work run the opposite direction: instead of leaving structure loose, they lock it down. Fonts, spacing, heading hierarchy, citation-friendly layout can all be pre-set to whatever a department or a journal demands. The template does the compliance work so nobody's relitigating margin width at 1 a.m. before a deadline.
The official library stays small on purpose, and that's the position worth taking here: more templates isn't automatically better. Adding a hundred half-finished options to the default install would just mean more digging through menus to find the one that actually fits. iA's whole design philosophy runs on doing fewer things well instead of more things adequately, and a bloated template catalog would fight the same instinct that keeps the editor itself stripped down. New templates, a refreshed interface, and custom font support are reportedly coming, which is one more reason not to build an elaborate workaround for a gap that might close on its own.
What the community template ecosystem covers, and how to size up what you find
GitHub is where the community lives, not some dedicated marketplace. Search the ia-writer topic and you'll find around 30 public repositories, most of them CSS-based rather than anything requiring heavier JavaScript work.
Francesco Pira's collection (pirafrank/My-iA-Writer-templates) shows what one motivated developer can put together: hand-built templates with embedded open-license fonts, FiraMono under the SIL Open Font License, Lato under the Apache License, OpenSans also under SIL. It's not a factory line. It's one person's toolkit, shared because why not.
Before installing anything from a stranger's repo, a few questions matter more than how the preview screenshot looks. Which version of iA Writer does it need? Older templates sometimes predate current API conventions and can behave unpredictably on a newer build. Does it support night mode and respect iOS system font size settings, both of which the official docs recommend for a well-built template? What's the license situation if fonts are embedded? And does it work with, or quietly ignore, Default Template Settings like heading numbers and footers?
This isn't hundreds of polished, interchangeable options sitting on a shelf waiting to be picked. It's a small developer community solving problems for themselves and posting the result. Expect to adapt something close rather than stumble on an exact match.
Matching a template to a writing purpose: the decisions that matter before you build or choose
The real question isn't which template looks best. It's what the document needs to communicate, and to whom, and those two answers point to a template almost automatically, without much fussing over fonts.
Get this part backward and the cost shows up later, not immediately: someone drafts an academic paper in a loose template, gets to page 40, and only then notices the heading hierarchy doesn't match what the journal wants. Fixing that after the fact means reformatting, not writing. Academic work needs a template built for compliance from the start: font, spacing, heading depth, citation layout matching whatever standard the institution enforces. A writer shouldn't be re-deciding margin size document by document any more than someone should re-derive long division every time a restaurant bill needs splitting.
Technical documentation needs the opposite treatment entirely. The GitHub template dropping headers, footers, and heading numbers isn't a gap, it reflects how code docs actually get read: scrolled, searched, referenced, never flipped page by page like a printed report. Trying to force a title page and footnotes onto a README just adds friction nobody asked for.
Blog drafts and web publishing do best with a template that mirrors the target platform's own CSS, since iA Writer supports direct Micropub publishing to sites like micro.blog. That keeps the in-app preview close to what a reader sees once the post is live. Long-form prose wants title page support, a consistent heading hierarchy, and page numbers that just work, so nobody breaks from drafting to go fix a numbering error on page 40.
Four questions cover most of the decision. Who's receiving the file, and in what format: PDF, Word, HTML, print? Does it need to match an outside standard, an academic style guide, a publisher's spec sheet? Does the document have distinct zones, title page, recurring headers, footnotes, or is it continuous prose start to finish? And will it get previewed constantly while drafting, or exported once at the very end?
One App Store reviewer summed up the payoff plainly: with templates set up ahead of time, formatting stops eating into the attention that should go toward the writing. That's the entire design goal, stated without much dressing up.
Building a custom template from scratch: what the process actually involves
The skill required is web development, not any special expertise in iA Writer as an app. HTML handles structure, CSS carries the visual decisions, and JavaScript only enters if something needs to behave dynamically. Most templates, in practice, need nothing but HTML and CSS, full stop.
Start with the official example bundle in the iA Writer Templates repository on GitHub (iainc/iA-Writer-Templates). It ships a working scaffold and a pre-filled Info.plist, which beats staring at a blank file wondering where to begin.
Inside that Info.plist, a handful of decisions define how the template behaves. CFBundleName and CFBundleIdentifier are required, and the identifier has to be unique: alphanumeric, hyphens and periods allowed, written in reverse-DNS format (something like com.yourname.templatename). From there it's a matter of choosing which optional pieces to include. Title page, header, footer, each genuinely optional, worth including only when the document type actually calls for it. If header or footer zones get used, their heights are set in CSS points, capped at 400. There's also a toggle for Smart Tables processing and TeX math rendering, both on by default unless specified otherwise, though a technical template usually wants explicit control over both instead of leaving it to chance.
Data attributes are the plumbing connecting a document's content to the template's layout. data-document carries the full body text, while data-title, data-author, data-date, and data-page-number fill in title pages, headers, and footers wherever they're referenced.
Night mode support and responsiveness to iOS font size settings aren't optional extras, the official docs are explicit about that. They're baseline requirements, handled through CSS media queries and a night-mode class applied to the <html> element. During development, Shift+Command+R inside Preview on macOS forces a full reload of the current template, which beats uninstalling and reinstalling every time a CSS tweak needs testing.
Frontmatter comes back into play here too. Key-value pairs in a document's YAML metadata surface as variables inside the template, so an author name, a version number, an institution name can all change per document without anyone touching the template file itself.
How the template system fits into iA Writer's broader approach to structured writing
Templates are just the visual half of a separation iA Writer enforces everywhere in the app: write in plain Markdown, format later, at export. Focus Mode, Content Blocks, YAML metadata, all of it runs on the same underlying logic, and none of it exists to look clever. It exists so the writer stops thinking about layout mid-sentence.
Content Blocks push that idea further into structure. Typing /filename.md embeds one Markdown file inside another, so a long document gets built out of smaller, separate pieces that the template then renders as one continuous whole. Cross-document wikilinks, added in 2022, and the Document Outline in iA Writer 8, extend that navigability across a whole body of writing. The template governs appearance, these tools govern how the pieces connect to each other.
The Authorship feature, added in 2023, adds a layer of transparency to that same output, marking passages inserted by AI as visually distinct from what the writer actually typed. That distinction matters more, not less, once the formatted document is the thing that gets submitted, published, or graded.
None of this works without the writing environment behind it doing its job first. A template-based export is only as good as the source file feeding it, and iA Writer's template system holds up because everything else in the app keeps content and formatting apart from the first keystroke. Writers whose structured work starts out loud, thoughts and outlines spoken before a word gets typed, run into a similar upstream problem: getting the thinking onto some kind of page while putting off the format decisions for later. Voice-first journaling tools solve that same piece of the puzzle, just earlier in the process than where iA Writer's templates ever get involved.
Sources
- GitHub - iainc/iA-Writer-Templates: Preview, create PDFs, and print documents in your own style with templates in iA Writer.
- GitHub - pirafrank/My-iA-Writer-templates: iA Writer templates made
- ia-writer · GitHub Topics · GitHub
- Templates
- apps.apple.com
- Custom Templates
- Template System | iainc/iA-Writer-Templates | DeepWiki
- GitHub Template | iainc/iA-Writer-Templates | DeepWiki


