Styles

Typography

Font

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:

Headings

Write all headings in sentence case.

Use heading tags, such as <h1>, <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 <h1>, 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.

<div class="app-example app-example--tabs">
  <div class="app-example__toolbar">
    <a href="/styles/typography/headings/index.html" class="app-example__new-window" target="_blank">
      Open this
      <span class="govuk-visually-hidden">headings – typography</span>
      example in a new tab
    </a>
  </div>
  <iframe title="Headings – Typography example" data-module="app-example-frame" class="app-example__frame app-example__frame--resizable app-example__frame--m" src="/styles/typography/headings/index.html" frameBorder="0" loading="lazy"></iframe>
</div>


  <ul class="app-tabs" role="tablist">
    <li class="app-tabs__item js-tabs__item" role="presentation">
      <a href="#headings-typography-example-open-html" role="tab" aria-controls="headings-typography-example-open-html" data-track="tab-html">HTML</a>
    </li>
  </ul>


  <div class="app-tabs__heading js-tabs__heading"><a href="#headings-typography-example-open-html" aria-controls="headings-typography-example-open-html" data-track="tab-html">HTML</a></div>

<div class="app-tabs__container js-tabs__container" id="headings-typography-example-open-html" role="tabpanel">
  <div class="app-example__code">
    <pre data-module="app-copy" tabindex="0"><code class="hljs html"><span class="hljs-tag">&lt;<span class="hljs-name">h1</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;govuk-heading-l&quot;</span>&gt;</span>govuk-heading-l<span class="hljs-tag">&lt;/<span class="hljs-name">h1</span>&gt;</span>

<h2 class="govuk-heading-m">govuk-heading-m</h2> <h3 class="govuk-heading-s">govuk-heading-s</h3>