If your service is on the service.gov.uk subdomain you must use the GDS Transport font.
When not to use the GDS Transport font
If your service is publicly available on a subdomain other than service.gov.uk, use an alternative typeface like Helvetica or Arial.
If you’re not sure whether you should use GDS Transport, do one of the following:
- read the ‘If your service is not on GOV.UK’ section on ‘Making your service look like GOV.UK’
- contact the Design System team
Write all headings in sentence case.
Use heading tags, such as
<h2> and so on, to tag the headings on a page. Apply a heading class, such as
govuk-heading-l, to style them visually. Style headings consistently to create a clear content structure throughout your service.
For a question page, or pages with long headings, start with
govuk-heading-l for an
govuk-heading-m for an
<h2> and so on. But change it if your pages feel unbalanced – the heading class you use does not always need to correspond to the heading level.
<h1 class="govuk-heading-l">govuk-heading-l</h1> <h2 class="govuk-heading-m">govuk-heading-m</h2> <h3 class="govuk-heading-s">govuk-heading-s</h3>
If your page has lots of long form content, start with
govuk-heading-xl for an
govuk-heading-l for an
<h2>, and so on.
<h1 class="govuk-heading-xl">govuk-heading-xl</h1> <h2 class="govuk-heading-l">govuk-heading-l</h2> <h3 class="govuk-heading-m">govuk-heading-m</h3> <h3 class="govuk-heading-s">govuk-heading-s</h3>
Headings with captions
Sometimes you may need to make it clear that a page is part of a larger section or group. To do this, you can use a heading with a caption above it.
If the caption should be considered part of the page heading, you can also nest the caption within the
The default paragraph font size is 19px on large screens and 16px on small screens.
You can also add classes to create a lead paragraph or smaller body copy to convey hierarchy in your page.
A lead paragraph is an introductory paragraph that you can use at the top of a page to summarise the content. Lead paragraphs use 24px type on desktop and should only be used once per page if needed.
You can use the
govuk-body-s class sparingly to make your paragraph font size smaller: 16px on larger screens and 14px on smaller screens.
The majority of your body copy should use the standard 19px paragraph size.
Text alignment override classes
If you need to align text differently to how it usually displays on the page, you can use text alignment override classes.
govuk-!-text-align-leftto align text to the left
govuk-!-text-align-rightto align text to the right
govuk-!-text-align-centreto align text to the centre
You should usually left-align body copy that’s read left to right. Right-aligned body copy can be hard for users to find and read when they magnify their screen.
Do not ‘justify’ blocks of body copy so that they’re aligned to both the left and right margins. Doing this creates wider spaces between words, which can make the text hard to read.
Font override classes
You might need to set the font size or font weight of an element outside of the predefined heading and paragraph classes. For this you can use the font override classes in your HTML or reference the typography mixins in your own components.
The full GOV.UK typography scale goes from 14px up to 80px on large screens. You can add these font size override classes to any other typographic class or element and they will change the font size.
<p class="govuk-body govuk-!-font-size-80">govuk-!-font-size-80</p> <p class="govuk-body govuk-!-font-size-48">govuk-!-font-size-48</p> <p class="govuk-body govuk-!-font-size-36">govuk-!-font-size-36</p> <p class="govuk-body govuk-!-font-size-27">govuk-!-font-size-27</p> <p class="govuk-body govuk-!-font-size-24">govuk-!-font-size-24</p> <p class="govuk-body govuk-!-font-size-19">govuk-!-font-size-19</p> <p class="govuk-body govuk-!-font-size-16">govuk-!-font-size-16</p> <p class="govuk-body govuk-!-font-size-14">govuk-!-font-size-14</p>
As with the font size, you can add a font weight override class to any other typographic class or element to change the font weight to regular or bold weight.
<p class="govuk-body govuk-!-font-weight-regular">govuk-!-font-weight-regular</p> <p class="govuk-body govuk-!-font-weight-bold">govuk-!-font-weight-bold</p>
You can use bold to emphasise particular words in a transaction. Use it to highlight critical information that users need to refer to or you’ve seen them miss.
For example, “Your reference number is ABC12345678. Use this to track your application. Updates will be sent to email@example.com“
Use bold sparingly. Overuse will make it difficult for users to know which parts of your content they need to pay the most attention to.
Links are blue and underlined by default. If your link is at the end of a sentence or paragraph, make sure that the linked text does not include the full stop.
govuk-link--no-visited-state modifier class where it is not helpful to distinguish between visited and unvisited states, for example when linking to pages with frequently-changing content such as the dashboard for an admin interface.
If it’s an external link to a non-government website, make that clear in the link text. For example, ‘read advice on writing link text from [name of organisation]’. There’s no need to say explicitly that you’re linking to an external site. Do not use an external link icon.
Opening links in a new tab
Avoid opening links in a new tab or window. It can be disorienting - and can cause accessibility problems for people who cannot visually perceive that the new tab has opened.
If you need a link to open in a new tab - for example, to stop the user losing information they’ve entered into a form - then include the words ‘opens in new tab’ as part of the link. There’s no need to say ‘tab or window’, since opening in a new tab is the default behaviour for most browsers.
rel="noreferrer noopener" along with
target="_blank" to reduce the risk of reverse tabnabbing. The following example shows how to do this in HTML.
If you’re displaying lots of links together and want to save space and avoid repetition, consider doing both of the following:
- adding a line of text before the links saying ‘The following links open in a new tab’
<span class="govuk-visually-hidden">(opens in new tab)</span>as part of the link text, so that part of the link text is visually hidden but still accessible to screen readers
Links on dark backgrounds
govuk-link--inverse modifier class to show white links on dark backgrounds — for example, in headers, custom components, and patterns with darker backgrounds.
Make sure all users can see the links — the white links and background colour must have a contrast ratio of at least 4.5:1.
Links without underlines
govuk-link--no-underline modifier class to remove underlines from links.
Only do this if the context tells the user that the text is a link, even without the underline.
For example, links in a header or side navigation might not need underlines. Users will understand that they’re links because of where they are, at the same place, across different pages.
Use lists to make blocks of text easier to read, and to break information into manageable chunks.
<ul class="govuk-list"> <li> <a class="govuk-link" href="#">Benefits calculators</a> </li> <li> <a class="govuk-link" href="#">Benefit overpayments</a> </li> <li> <a class="govuk-link" href="#">Benefit fraud</a> </li> <li> <a class="govuk-link" href="#">More</a> </li> </ul>
Introduce bulleted lists with a lead-in line ending in a colon. Start each item with a lowercase letter, and do not use a full stop at the end.
<p class="govuk-body">You can buy:</p> <ul class="govuk-list govuk-list--bullet"> <li>apples</li> <li>oranges</li> <li>pears</li> </ul>
Use numbered lists instead of bulleted lists when the order of the items is relevant.
You do not need to use a lead-in line for numbered lists. Items in a numbered list should end in a full stop because each should be a complete sentence.
<ol class="govuk-list govuk-list--number"> <li>Delivery address.</li> <li>Payment.</li> <li>Confirmation.</li> </ol>
Adding extra spacing between list items
If a list is hard to read because the items run across multiple lines you can add extra spacing.
<p class="govuk-body">You will have to apply the reverse charge if you supply any of these services:</p> <ul class="govuk-list govuk-list--bullet govuk-list--spaced"> <li> constructing, altering, repairing, extending, demolishing or dismantling buildings or structures (whether permanent or not), including offshore installation services </li> <li> constructing, altering, repairing, extending, demolishing of any works forming, or planned to form, part of the land, including (in particular) walls, roadworks, power lines, electronic communications equipment, aircraft runways, railways, inland waterways, docks and harbours </li> <li> pipelines, reservoirs, water mains, wells, sewers, industrial plant and installations for purposes of land drainage, coast protection or defence </li> <li> installing heating, lighting, air-conditioning, ventilation, power supply, drainage, sanitation, water supply or fire protection systems in any building or structure </li> <li> internal cleaning of buildings and structures, so far as carried out in the course of their construction, alteration, repair, extension or restoration </li> <li> painting or decorating the inside or the external surfaces of any building or structure </li> <li> services which form an integral part of, or are part of the preparation or completion of the services described above - including site clearance, earth-moving, excavation, tunnelling and boring, laying of foundations, erection of scaffolding, site restoration, landscaping and the provision of roadways and other access works </li> </ul>
You can use the
govuk-section-break classes on an
<hr> element to create a thematic break between sections of content.
govuk-section-break has class-based modifiers for different size margins.
govuk-section-break is only visible by its margin. You can add the
govuk-section-break--visible class to make it visible with a separator line.
<hr class="govuk-section-break govuk-section-break--xl govuk-section-break--visible"> <hr class="govuk-section-break govuk-section-break--l govuk-section-break--visible"> <hr class="govuk-section-break govuk-section-break--m govuk-section-break--visible"> <hr class="govuk-section-break govuk-section-break--visible">
Help improve this page
To help make sure that this page is useful, relevant and up to date, you can:
- take part in the 'Typography' discussion on GitHub and share your research
- propose a change – read more about how to propose changes in GitHub
If you’ve got a question about the GOV.UK Design System, contact the team.