<labelclass="govuk-label"for="national-insurance-number">
National Insurance number
</label><divid="national-insurance-number-hint"class="govuk-hint">
It’s on your National Insurance card, benefit letter, payslip or P60. For example, ‘QQ 12 34 56 C’.
</div><inputclass="govuk-input govuk-input--width-10"id="national-insurance-number"name="national-insurance-number"type="text"spellcheck="false"aria-describedby="national-insurance-number-hint"></div>
Use a single text input labelled ‘National Insurance number’. Write it out in full and never use abbreviations such as ‘NINO’ or ‘NI Number’.
Show a National Insurance number using the format ‘QQ 12 34 56 C’ — the spaces will break up the number to make it easier to read, particularly for screen reader users.
When asking for a National Insurance number:
allow for 13 characters as National Insurance numbers are spaced in pairs followed by a single letter
let users enter upper and lower case letters, additional spaces and punctuation
ignore any unwanted characters before validating
avoid using ‘AB 12 34 56 C’ as an example because it belongs to a real person and use ‘QQ 12 34 56 C’ instead
set the spellcheck attribute to false so that browsers do not spellcheck the National Insurance number
<labelclass="govuk-label"for="national-insurance-number">
National Insurance number
</label><divid="national-insurance-number-hint"class="govuk-hint">
It’s on your National Insurance card, benefit letter, payslip or P60. For example, ‘QQ 12 34 56 C’.
</div><inputclass="govuk-input govuk-input--width-10"id="national-insurance-number"name="national-insurance-number"type="text"spellcheck="false"aria-describedby="national-insurance-number-hint"></div>
{{ govukInput({
label: {
text: "National Insurance number"
},
hint: {
text: "It’s on your National Insurance card, benefit letter, payslip or P60. For example, ‘QQ 12 34 56 C’."
},
classes: "govuk-input--width-10",
id: "national-insurance-number",
name: "national-insurance-number",
spellcheck: false
}) }}
Error messages
Error messages should be styled like this:
<div class="app-example app-example--tabs">
<div class="app-example__toolbar">
<a href="/patterns/national-insurance-numbers/error/index.html" class="app-example__new-window" target="_blank">
Open this
<span class="govuk-visually-hidden">national insurance number input with errors</span>
example in a new tab
</a>
</div>
<iframe title="National insurance number input with errors example" data-module="app-example-frame" class="app-example__frame app-example__frame--resizable app-example__frame--s" src="/patterns/national-insurance-numbers/error/index.html" frameBorder="0" loading="lazy"></iframe>
</div>
<span id="options-national-insurance-number-input-with-errors-example-open"></span>
<ul class="app-tabs" role="tablist">
<li class="app-tabs__item js-tabs__item" role="presentation"><a href="#national-insurance-number-input-with-errors-example-open-html" role="tab" aria-controls="national-insurance-number-input-with-errors-example-open-html" data-track="tab-html">HTML</a></li>
<li class="app-tabs__item js-tabs__item" role="presentation"><a href="#national-insurance-number-input-with-errors-example-open-nunjucks" role="tab" aria-controls="national-insurance-number-input-with-errors-example-open-nunjucks" data-track="tab-nunjucks">Nunjucks</a></li>
</ul>
<div class="app-tabs__heading js-tabs__heading"><a href="#national-insurance-number-input-with-errors-example-open-html" aria-controls="national-insurance-number-input-with-errors-example-open-html" data-track="tab-html">HTML</a></div>
<div class="app-tabs__container js-tabs__container" id="national-insurance-number-input-with-errors-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"><<span class="hljs-name">div</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"govuk-form-group govuk-form-group--error"</span>></span>
<labelclass="govuk-label"for="national-insurance-number">
National Insurance number
</label><divid="national-insurance-number-hint"class="govuk-hint">
It’s on your National Insurance card, benefit letter, payslip or P60. For example, ‘QQ 12 34 56 C’.
</div><pid="national-insurance-number-error"class="govuk-error-message"><spanclass="govuk-visually-hidden">Error:</span> Enter a National Insurance number in the correct format
</p><inputclass="govuk-input govuk-input--width-10 govuk-input--error"id="national-insurance-number"name="national-insurance-number"type="text"spellcheck="false"value="12345678"aria-describedby="national-insurance-number-hint national-insurance-number-error"></div>