Help users to select a school from a list of all schools in England.

Screenshot showing a text field with the label 'Enter school or college name or URN'. Inside the text field, 'Five' has been entered. Below the text field, a box lists 10 schools that include the word 'Give' in their name, with the word 'Five' highlighted using bold and an underline.

When to use this pattern

Use this pattern if you need to ask users to select one or more schools in England.

When not to use this pattern

Do not use this pattern if you can get the information in another way, for example by linking users with an existing account.

Do not use this pattern if asking users which schools they attended, and they may have attended school a long time ago or outside of England. Instead, use a regular text field.

How it works

The pattern uses an autocomplete. This allows users to search for a school using its name or a reference number, and then select a school from a list of matching results.

If javascript is available the results are shown as the user types, in a list below the text input. If javascript is not available, the results are shown on a separate page after the user presses a search button.

Data source

You can get a list of all schools in England (around 50,000) from the Get information about schools service.

You can either download this data periodically and update the list in your service, or use their API to fetch updated data as a daily task.

Using school references

There are many different unique references for schools, including:

You should research with the users of your service to see which references they may be familiar with. If one or more reference is comonly used, you can support this within your autocomplete to save users time and help avoid errors.

Disambiguating schools

Lots of schools in England have the exact same name. To help users select the right school, display some information alongside the name.

Depending on your service, you could choose to show:

  • postcode
  • city or town
  • a reference number

Filtering by type of school

Depending on the needs of your service, you could filter the list of all schools to reduce the number of false matches.

You could filter the list by:

  • phase, for example primary, secondary
  • school funding type
  • removing schools that have closed
  • including or excluding multi-academy trusts (MATs)

Research on this pattern

This pattern has been used successfully by many services.

Services using this pattern

Lots of services from the Department for Education are using a variant of this pattern, including:

Help improve this pattern

Contribute to this guidance to help improve the pattern for others.


Contribute to this page on GitHub

Changes to this page
  1. Fixed styles for links so hover and active states are correct.
    25 July 2023
  2. Fixed typo on page See GitHub issue #42
    25 July 2023