Document Variables

Document Variables being inserted
Document Variables are placeholders you drop into your writing that Atlas fills in automatically — a document's title, its author, the date you created it, the date you export it, and more. Type them once and they keep themselves current, so a heading or a title page never drifts out of sync with the document it describes.
Variables can also show a document's word count, your project's metadata fields, and the title of another document. You can shape how any of them reads with filters, such as rounding a word count or writing a tag list in capitals.
Inserting a Variable
Type {{ anywhere in the editor to open the variable picker. The built-in variables appear first, each with a one-line description, followed by Document Title… and one row for each of your project's metadata fields. Keep typing to filter,
use the up/down arrows to move through the list, and press Return to insert the
highlighted one. Escape closes the picker without inserting. The picker opens right under the {{ you typed, or above it when there's no room below, and it stays attached to the text as you scroll.
You can also insert a variable from the menu:
- Mac — Editor > Variables, then pick a variable.
- iPad (with a hardware keyboard) — the same Editor > Variables menu.
- iPhone and iPad — open the editor's More (…) menu and choose Variables.
The Variables menu also has a Metadata submenu that lists your project's metadata fields.
The Variables You Can Use
| Variable | Written as | Fills in | Stays live? |
|---|---|---|---|
| Title | {{title}} |
The document's title | Live |
| Author | {{author}} |
The author name from Project Settings | Live |
| Project | {{project}} |
The name of the parent project | Live |
| Synopsis | {{synopsis}} |
The document's synopsis | Live |
| Tags | {{tags}} |
The document's tags, as a list | Live |
| Word count | {{words}} |
The document's word count, counted the way the Inspector counts | Live |
| Date modified | {{modified}} |
The date the document was last changed | Live |
| Date created | {{date}} |
The date the document was created | Frozen on insert |
| Time created | {{time}} |
The time the document was created | Frozen on insert |
| Date exported | {{export.date}} |
The date you export | At export |
| Export word count | {{export.words}} |
The total word count of everything in the export | At export |
{{exported}} still works as an older name for {{export.date}}, so documents that use it keep resolving.
Live, Frozen, and At Export
The difference between these groups is the whole point of variables, so it's worth understanding.
Live variables stay connected to their source. A Title variable updates the moment
you rename the document; an Author variable changes if you update the project author.
They stay as variables in your document and resolve to text only when you export.
Frozen variables — Date created and Time created — capture a value the instant you insert them and become plain text right away. They're a snapshot of "now," so they never change afterward, even if you move or edit the document later.
At export variables — Date exported and Export word count — have no value while you're still writing, because there's no export yet. In the editor they show as a labeled pill, such as "Exported Jul 15 2026" or "Export word count", and they resolve when you export.
Every document in one export gets the same export date, and the export word count is the total across all the documents you include, even when each goes to its own file.
Changing How a Variable Reads
Variables accept filters, which transform a value before it appears. Add a filter after the variable name with a pipe:
{{title | upper}}shows the title in capitals.{{tags | join:" / "}}separates your tags with slashes.{{tags | first}}shows the first tag, and{{tags | length}}shows how many there are.{{date | date:"YYYY-MM-DD"}}writes a date in a format you choose.{{words | round_to:1000 | number_format}}rounds the word count to the nearest thousand and adds a separator, so 81,234 words reads as 81,000.
A list such as tags reads as comma-separated items when you add no filter. If a filter name or its argument isn't valid, that variable stays as you typed it and the rest of the document is unaffected.
Variables use the same filters as clip templates, so Advanced Web Clipper Templates is the place to look for more. You rarely need to type a filter by hand, because the variable editor writes them for you.
Using Metadata Fields
Any metadata field in your project can be a variable. Write it as {{metadata:Status}}, and put the name in quotes when it has spaces or special characters, as in {{metadata:"Point of View"}}. Names aren't case sensitive.
Type {{ and your project's metadata fields appear in the picker after the built-in variables. You can also type metadata: to jump straight to them. Choosing a field inserts it and opens the variable editor so you can set how it reads. Date and Date & Time fields insert with a date format already applied. If you use a name the project doesn't have, Atlas treats it as an unrecognized variable.
Showing Another Document's Title
Choose Document Title… from the picker to show another document's title inside this one, such as a link target's name in a header. A "Choose a Document" pill appears and the variable editor opens with a search field. Pick the document the same way you would for a wiki-link.
The variable follows the document, not its name, so it updates when you rename the document, and it resolves to the title in every export format. If the document is deleted, the variable stays as typed.
The Variable Editor
Click (Mac) or double-tap (iPhone and iPad) a variable to open its editor. It works in documents, templates, and canvas cards. The Value menu switches the variable to a different one, and the format controls depend on what the variable produces:
- Number — Round To (or Don't Round) and Thousands Separators.
- Text — Case (As Is, UPPERCASE, lowercase, or Title Case) and Shorten To, which cuts the text to a length you choose.
- List — Show (All Items, First Item, or Number of Items) and a Separator.
- Date — the styles described below.
A Preview shows the result as you change settings. Under Advanced, Additional Filters holds any filters you typed that the editor has no control for, and Atlas keeps them exactly as written. The editor also has Convert to Text, Copy Variable, and Remove Variable buttons.
Formatting Dates and Times
Every date and time variable carries its own format, so you control exactly how it reads. In the variable editor, choose a style:
- Date — None, Short (7/16/26), Medium (Jul 16, 2026), Long (July 16, 2026), Full (Thursday, July 16, 2026), ISO (2026-07-16), Abbreviated (Thu, Jul 16), or Custom.
- Time — None, 24-Hour (14:30), 24-Hour with Seconds (14:30:05), 12-Hour (2:30 PM), or 12-Hour with Seconds (2:30:05 PM).
Choosing Custom reveals a Custom Format field where you write your own pattern,
with a Tokens cheat-sheet below listing the pieces you can use (YYYY, MMMM, DD,
dddd, HH, mm, and so on), each with a live example. A preview at the bottom shows
your format applied to the current date so you can see the result as you build it.
Tip
In a custom pattern, letters are replaced with parts of the date. To keep literal
text, wrap it in single quotes — for example, 'Chapter drafted' MMMM D renders as
"Chapter drafted July 16".
Working with Variable Pills
A live variable shows its current value inline as you write, with any filters applied, so a {{words}} variable reads as your actual word count. It updates when the underlying value changes, such as when you rename the document or edit a metadata field. Variables with no value yet, like the export variables, show as a pill in the same colors as a footnote. Selecting a variable highlights it the same way, so you can tell it apart from ordinary text. Click (Mac) or double-tap (iPhone and iPad) a variable to open its editor. Right-click (Mac) or long-press (iPhone and iPad) for two actions:
- Convert to Text — replaces the variable with its current value as ordinary text, breaking the live connection. Useful when you want to freeze a value in place. (This is unavailable for variables that have no current value yet, such as Date exported.)
- Copy Document Variable — copies the variable itself (not its resolved value), so you can paste the same live token elsewhere.
Variables in Templates
Variables shine in templates. The template editor supports the same {{
picker and the same set of variables — but inside a template, nothing freezes. Even
Date created and Time created stay as live tokens while you're building the template.
They resolve only when the template is applied to a real document: at that point the frozen variables capture the new document's creation date and time, and the live ones stay live. This is what lets a single template stamp each new document with its own correct dates.
Metadata and document title variables work in templates too. The editor's Value menu also lists Date created and Time created in a template, and Convert to Text isn't offered there.
How Variables Export
When you export, every variable resolves to plain text in the finished file — a reader never
sees {{title}}, only the title itself. This applies to every format. Markdown export keeps
live variables as {{…}} tokens instead, so a document you export and re-import stays dynamic.
The export variables resolve for the whole export. {{export.date}} and {{export.words}} also work in PDF header and footer text, including on pages before the first document. See the PDF Style Reference.
Variables in headings show their resolved value in the Inspector Outline.
If you type a variable Atlas doesn't recognize (a misspelled name, say), it isn't treated as
a variable: its {{ }} markers stay visible in a distinct color as a hint, it behaves like
ordinary editable text, and it's left as-is when you export. A metadata field the project doesn't have is treated the same way.
See Also
- Templates — Reusable blueprints that auto-fill new documents with variables
- The Editor — The editor where variables live
- Linking — Wiki-links, the other
{{/[[token you'll use while writing - Exporting Your Work — How variables resolve when you publish
- Advanced Web Clipper Templates — The filters you can use on variables
- Metadata and Tags — The fields you can use as variables