Split fields will be released on **10 November 2026**. Until then, a `split` tag is not recognised and is left in the document as ordinary text.

You can now add **split fields** to your documents. A split field collects one value across a row of cells that line up with the boxes printed on a form, such as a card number, a sort code or a National Insurance number. You place one field over the boxes instead of one text field per box.

Nothing changes for existing documents, templates or tags.

## How split fields work

A split field is made of cells, runs and gaps:

- A **cell** holds one character.
- A **run** is a group of cells that sit together. A field has between 1 and 20 runs, and each run has between 1 and 25 cells.
- The **cell gap** is the space between cells, shared by every run.
- The **run gap** is the space between runs.


A card number printed as `1234 5678 9012 3456` has four runs of 4 cells.

## Add split fields with tags

Use the new `split` field type in your [tags](/tags), with options added after `split`:

```text
{split,l=9:signer1:Reference}
{split,l=4-4-4-4,cg=2,rg=4:signer1:Card+Number}
```

| Option | Meaning |
|  --- | --- |
| `l=` | Layout. One cell count per run, joined by `-`. Required unless you use `p=` |
| `cg=` | Cell gap, in PDF units. Defaults to 0 |
| `rg=` | Run gap, in PDF units. Defaults to 0 |
| `p=` | A preset, which sets what the signer can enter and, for most presets, the layout |


Make a split field optional with `?`, as with other fields: `{split?,l=9:signer1:Reference}`.

A split tag with a problem, such as a missing `l=` or `p=`, or a preset we do not recognise, is ignored and no field is created.

## Presets

Presets cover common UK references, such as `card_number`, `sort_code`, `national_insurance`, `utr` and `postcode`. A preset restricts what the signer can enter and sets the layout in one go:

```text
{split,p=card_number:signer1:Card+Number}
```

The `numeric`, `alphabetical` and `alphanumeric` presets only limit which characters the signer can enter, so use them with `l=`:

```text
{split,p=numeric,l=8:signer1:Reference}
```

## Build a tag

Split tags are longer than most, so we've added a [tag builder](/tags#build-a-tag). Choose **Split**, set the layout, gaps and preset, then copy the tag into your document.

You can find the full list of presets, options and rules in [Split field](/field-types/split).

If your integration validates `field_type` against a fixed list, add `split` to it before the 10th of November 2026.