How to Change or Add a Field Format

:book: This guide explains what field formats are and how to create, edit, and apply them to fields.

In Specify, you can configure something called a field format, which simply means a structured input format assigned to a data entry field. Any text field can be assigned a field format, and this is enforced when data is entered via the forms, WorkBench, Batch Edit, or using the APIs.

To learn more about field formats in particular you can read our guide here:


The Field Format Editor lets you define how values are displayed or auto-numbered for specific table fields by composing a sequence of format parts. Each part controls a segment of the formatted string (year, constants, separators, numerics, etc.).

Building a Formatter

For each part row:

  1. Type dropdown: Select the segment type (Year, Separator, Constant, Numeric, etc.).
  2. Size control: Set how many characters this segment is.
  3. Value/Placeholder: Enter the text or pattern that should appear when rendering the formatter.
  4. Auto-numbering checkboxes (if applicable): Enable automatic numbering within that part, including year-based sequences where supported.

Use the :trash_: (trash) icon to remove unnecessary parts and add rows as needed to match your desired format.

Types

Part Type Description Notes
Year Inserts the current year (or a fixed number of digits) and supports year-based autonumbering. Use for date-based prefixes; size controls digit count.
Separator Adds a literal character or string (dash, slash, etc.) between formatter segments. Ideal for visual grouping; no validation beyond the literal value.
Constant Inserts a fixed literal value such as a prefix or code. Enter the exact text that should always appear.
Numeric Represents a fixed-width numeric sequence, optionally auto-incremented. Supports autonumbering/auto-increment and handles zero-padding.
Alphanumeric Accepts letters and digits in a fixed-width segment. Useful for mixed codes; validates against [A-Z0-9].
Alpha Restricts input to letters only. Validation enforces [A-Za-z] repeated by size.
Any character Matches any character for the specified length. Good for free-form segments with length limits.
Regular expression (Regex) Uses a custom regular expression segment (without leading ^/$). Enables complex patterns when other types can’t express the requirement. Documentation is available here on how to use this segment type.

Preview & Validation

  • As you edit parts, the preview updates to show the placeholder or sample value.
  • Validation ensures the combined pattern matches the rules you’ve defined, alerting you if input values don’t comply.

Common Use Cases

  • Auto-numbered fields: Combine Year, Separator, and Numeric parts with auto-increment enabled.
  • Fixed prefixes: Use Constant or Separator parts to insert hyphens, letters, or other literals.
  • Flexible segments: Regex parts allow custom patterns for advanced formatting needs.

Save the formatter when the preview looks correct—your configuration will then control how data is presented for the selected field.


  1. First, determine which field you would like to change or add a field format for.

    In this example, I am looking at “Accession Number” in the "Accession table. It has a format assigned by default.

  2. Open the Schema Config tool from the User Tools menu after clicking on your :usercircle_: Username in the navigation menu.

  3. Select your configured language and then the table that contains the field you wish to change or assign a field format in.

    Since I am changing the “Accession Number” format, I will choose “Accession”:

  4. Select the field that you wish to assign or change the format for.

    In my case, it looks like it has already been assigned the format AccessionNumber, which is done by default in new Specify disciplines.

    If you do not yet have a format assigned, you can pick from one of the defaults available or from those already configured in your database:

  5. If you want to change the formats available, or wish to add a new format, you must now proceed to the App Resources viewer.

    To get there, we need to once again click on :usercircle_: Username in the navigation menu to get to the User Tools menu. From there, click App Resources.

    From here, you need to navigate to the # Field Formatters resource. This is at the discipline level in most databases. If you do not see it, you can click :plus_: Add Resource button to create one for the first time.

  6. Now I can adjust the AccessionNumber format that was assigned in the Schema Config, or I can create a new format by adding a new XML section starting with <format> and ending with </format> using the same structure as before.

    [!tip]
    To learn more about creating a new format from scratch, read our guide on field formatting here!

    In my instance, I want the format to go from 2025-AA-### to 2025-EN-###. To do this, I need to adjust the following section (lines 3-10 in my field formatters resource).

  7. Select the table that contains the field you wish to add a format to. For this example, I am going to select Accession:

    Then select the name of the field format I want to customize (e.g. AccessionNumber):

    From here, I can modify the format:

    I can change the alphanumeric “AA” segment to a constant “EN” segment:

    Now I can click Save in the bottom right hand corner of the field format resource to save the changes.

  8. After refreshing the page, I can navigate back to the Accession form and my changes are visible right away:

    If you are not seeing the changes immediately, you can log out and back in to force Specify to reload field formats!

1 Like