Service navigation
Service navigation helps users understand that they’re using your service and lets them navigate around your service.
<div
class="govuk-service-navigation"
data-module="govuk-service_navigation"
>
<div class="govuk-width-container">
<div class="govuk-service-navigation__container">
<nav
class="govuk-service-navigation__wrapper"
aria-label="Menu"
>
<button
type="button"
class="govuk-service-navigation__toggle govuk-js-service-navigation-toggle"
aria-controls="navigation"
hidden=""
>
Menu
</button>
<ul
id="navigation"
class="govuk-service-navigation__list"
>
<li
class="govuk-service-navigation__list__item"
>
<a
class="govuk-service-navigation__list__link"
href="/styles"
data-discover="true"
>
Navigation item 1
</a>
</li>
<li
class="govuk-service-navigation__list__item govuk-service-navigation__list__item--active"
>
<a
class="govuk-service-navigation__list__link govuk-service-navigation__list__link--active"
href="#active"
>
Navigation item 2
</a>
</li>
<li
class="govuk-service-navigation__list__item"
>
<a
class="govuk-service-navigation__list__link"
href="/contributing"
data-discover="true"
>
Navigation item 3
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<ServiceNavigation
items={[
{
href: "/styles",
text: "Navigation item 1",
},
{
href: "#active",
text: "Navigation item 2",
},
{
href: "/contributing",
text: "Navigation item 3",
},
]}
/>
Props
|
| string | - | 'id' attribute to place on the base HTML element |
| string | - | Block name override in BEM style classes applied to all elements |
| Modifiers | - | BEM style modifiers to apply to the base HTML element |
| string | - | Extra classes to apply to the base HTML element |
| ReactNode | - | Elements to be injected at the end of the service header container |
| Anchor[] | [] | List of links to choose from |
| number | - | Maximum width of the contents in px units (-1 for full width) |
| string | Menu | The text of the mobile navigation menu toggle |
| string | - | The screen reader label for the mobile navigation menu toggle |
| string | - | The screen reader label for the mobile navigation menu. Defaults to the same value as menuButtonText if not specified. |
| string | navigation | The ID used to associate the mobile navigation toggle with the navigation menu. |
| string | - | Service link URL |
| string | - | Service link text |
| string | - | Sign out link URL |
| string | Sign out | Sign out link text |
| ReactNode | - | Elements to be injected at the start of the service header container |
Rebrand
After 25th June 2025, you should use the rebranded version of this component, by ensuring that a parent element, such as <html>, has the govuk-template--rebranded class.
<div class="govuk-template--rebranded">
<div
class="govuk-service-navigation"
data-module="govuk-service_navigation"
>
<div class="govuk-width-container">
<div
class="govuk-service-navigation__container"
>
<nav
class="govuk-service-navigation__wrapper"
aria-label="Menu"
>
<button
type="button"
class="govuk-service-navigation__toggle govuk-js-service-navigation-toggle"
aria-controls="navigation"
hidden=""
>
Menu
</button>
<ul
id="navigation"
class="govuk-service-navigation__list"
>
<li
class="govuk-service-navigation__list__item"
>
<a
class="govuk-service-navigation__list__link"
href="/styles"
data-discover="true"
>
Navigation item 1
</a>
</li>
<li
class="govuk-service-navigation__list__item govuk-service-navigation__list__item--active"
>
<a
class="govuk-service-navigation__list__link govuk-service-navigation__list__link--active"
href="#active"
>
Navigation item 2
</a>
</li>
<li
class="govuk-service-navigation__list__item"
>
<a
class="govuk-service-navigation__list__link"
href="/contributing"
data-discover="true"
>
Navigation item 3
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div className="govuk-template--rebranded">
<ServiceNavigation
items={[
{
href: "/styles",
text: "Navigation item 1",
},
{
href: "#active",
text: "Navigation item 2",
},
{
href: "/contributing",
text: "Navigation item 3",
},
]}
/>
</div>
When to use this component
Use the Service navigation to help users understand that they’re using your service.
To decide when to use navigation links in your service, see the Help users to navigate a service pattern.
How it works
Together, the GOV.UK header component and Service navigation component ensure users get a consistent experience on GOV.UK.
This also assures users that they’re in the right place to use your service and to understand that GOV.UK functions as one website.
For guidance on how to plan your header and navigation, see the [Help users navigate a service pattern].
Change the blue colour bar under the GOV.UK header to full width
To use the GOV.UK header and Service navigation and make them fit together visually, you’ll need to change the bottom blue border of the GOV.UK header to full width.
Apply a class govuk-header--full-width-border to the GOV.UK header.
Showing your service name only
We recommend that you use the Service navigation component to show your service name, instead of the GOV.UK header, and to start updating existing services.
<section
class="govuk-service-navigation"
aria-label="Service information"
data-module="govuk-service_navigation"
>
<div class="govuk-width-container">
<div class="govuk-service-navigation__container">
<span
class="govuk-service-navigation__service-name"
>
<a
class="govuk-link govuk-link--active govuk-service-navigation__link"
href="#"
>
Service name
</a>
</span>
</div>
</div>
</section>
<ServiceNavigation
serviceHref="#"
serviceName="Service name"
/>
Showing service name and navigation links
Show navigation links to let users navigate to different parts of your service and find useful links and tools.
<section
class="govuk-service-navigation"
aria-label="Service information"
data-module="govuk-service_navigation"
>
<div class="govuk-width-container">
<div class="govuk-service-navigation__container">
<span
class="govuk-service-navigation__service-name"
>
<a
class="govuk-link govuk-link--active govuk-service-navigation__link"
href="#"
>
Service name
</a>
</span>
<nav
class="govuk-service-navigation__wrapper"
aria-label="Menu"
>
<button
type="button"
class="govuk-service-navigation__toggle govuk-js-service-navigation-toggle"
aria-controls="navigation"
hidden=""
>
Menu
</button>
<ul
id="navigation"
class="govuk-service-navigation__list"
>
<li
class="govuk-service-navigation__list__item"
>
<a
class="govuk-service-navigation__list__link"
href="/styles"
data-discover="true"
>
Navigation item 1
</a>
</li>
<li
class="govuk-service-navigation__list__item govuk-service-navigation__list__item--active"
>
<a
class="govuk-service-navigation__list__link govuk-service-navigation__list__link--active"
href="#active"
>
Navigation item 2
</a>
</li>
<li
class="govuk-service-navigation__list__item"
>
<a
class="govuk-service-navigation__list__link"
href="/contributing"
data-discover="true"
>
Navigation item 3
</a>
</li>
</ul>
</nav>
</div>
</div>
</section>
<ServiceNavigation
items={[
{
href: "/styles",
text: "Navigation item 1",
},
{
href: "#active",
text: "Navigation item 2",
},
{
href: "/contributing",
text: "Navigation item 3",
},
]}
serviceHref="#"
serviceName="Service name"
/>
See when and how to show navigation links in the [Help users navigate a service pattern].
Showing service name and sign-out link
Unofficial
A sign-out link can be provided and added to the end of the list of
navigation links.
<section
class="govuk-service-navigation"
aria-label="Service information"
data-module="govuk-service_navigation"
>
<div class="govuk-width-container">
<div class="govuk-service-navigation__container">
<span
class="govuk-service-navigation__service-name"
>
<a
class="govuk-link govuk-link--active govuk-service-navigation__link"
href="#"
>
Service name
</a>
</span>
<nav
class="govuk-service-navigation__wrapper"
aria-label="Menu"
>
<button
type="button"
class="govuk-service-navigation__toggle govuk-js-service-navigation-toggle"
aria-controls="navigation"
hidden=""
>
Menu
</button>
<ul
id="navigation"
class="govuk-service-navigation__list"
>
<li
class="govuk-service-navigation__list__item"
>
<a
class="govuk-service-navigation__list__link"
href="?sign-out#sign-out"
>
Sign out
</a>
</li>
</ul>
</nav>
</div>
</div>
</section>
<ServiceNavigation
serviceHref="#"
serviceName="Service name"
signOutHref="?sign-out#sign-out"
/>