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

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

%Y

Four-digit year

2026

%y

Two-digit year

26

%m

Month, zero-padded

07

%d

Day, zero-padded

21

%B

Full month name

July

%b

Abbreviated month

Jul

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

  1. Open the form in the editor and switch to the PDF tab to load the PDF mapping view.

  2. Find the date field on the PDF. It shows up as an unmapped field in the right-hand list.

  3. Drag your date source onto the field. For the date a candidate signs, drag the signature field on and choose Signature Date (not Signature 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

  1. Click the field to open its mapping editor.

  2. Add the date filter 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" }}.

  3. 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.

  4. 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.

Related