How do I format a date on a PDF field?
Last updated: September 25, 2026
A PDF field mapping is a LiquidJS template, so any date value — a signature date, a start date, or today's date — can be reshaped with the date filter to match how the document prints it: a full date, the year alone, or a spelled-out month.
Before you start
You have permission to edit forms on your account.
The form already has a PDF attached, and you're working in the PDF mapping view.
It helps to know that PDF mappings are LiquidJS templates (see 📄 How do I display only first and last initials from a signature in a PDF mapping? for the underlying idea).
How the date filter works
Every PDF field mapping runs through the LiquidJS engine when the PDF is generated. Pipe a date value into the date filter with a strftime-style format string, and Onboarded renders the date in exactly that shape. The value stays the same underneath — you're only changing how it prints.
These are the format tokens you'll reach for most:
Token | Renders | Example |
|---|---|---|
| Four-digit year |
|
| Two-digit year |
|
| Month, zero-padded |
|
| Day, zero-padded |
|
| Full month name |
|
| Abbreviated month |
|
Steps
The flow has two phases: get a date value into the field, then wrap it in the date filter to reshape it.
Map a date value to the field
Open the form in the editor and switch to the
PDFtab to load the PDF mapping view.Find the date field on the PDF. It shows up as an unmapped field in the right-hand list.
Drag your date source onto the field. For the date a candidate signs, drag the signature field on and choose
Signature Date(notSignature Name).You should see a default template that references the signing date. The exact path matches your signature field's slug — for example
form.employee_signature.date.
Reformat with the date filter
Click the field to open its mapping editor.
Add the
datefilter after the value, with the format you want. To show only the year the candidate signed:{{ form.employee_signature.date | date: "%Y" }}For a full spelled-out date like
July 21, 2026, use{{ form.employee_signature.date | date: "%B %d, %Y" }}. To render the date in day-month-year order for a Canadian or European document, reorder the tokens:{{ form.employee_signature.date | date: "%Y-%m-%d" }}.Use
{{ "now" | date: "%B %d, %Y" }}when the box should show the date the PDF is generated — the day an offer letter goes out, for instance — rather than a date the candidate entered.Save the mapping.
Two things trip people up here. First, the mapping runs at PDF-render time, so if the source date is empty — a signature the candidate skipped — the field renders blank. Guard it with a fallback: {{ form.employee_signature.date | date: "%Y" | default: "" }}. Second, if the source PDF already prints its own date text near the box (a stock Month Day, 20__ line), your annotation won't remove it — place the annotation box directly over that text so it covers the stock version, then map the box to your formatted date. If the text can't be covered cleanly, send the PDF back to have the printed date removed.
Verify
Preview the PDF from the form editor with a test submission. A year-only field should render as 2026; a spelled-out field as July 21, 2026. For a signature date, the field fills only once the signature is captured — confirm the source signature is signed on your test submission, then re-preview.
If the field renders blank, the most common causes are an empty source date on the test submission or a typo in the field path — the path is case-sensitive and must match your field's slug exactly.