Addresses
This guidance supplements the GOV.UK Addresses pattern.
When to use
Use this pattern when a journey requires an address to be entered.
When not to use
If there is no good reason for asking for an address, do not ask for one.
How it works
This pattern lets users search for a UK address (using HMRC’s Address Lookup Frontend) or manually enter any address.
UK and international addresses
If both UK and international addresses are expected, include a page to direct users to either search for a UK address or manually enter an international address.
<form action="#" method="get" novalidate>
<div class="govuk-form-group">
<div class="govuk-form-group">
<h1 class="govuk-label-wrapper">
<label class="govuk-label govuk-label--l" for="location-picker-select">
Select your country
</label>
</h1>
<select class="govuk-select" id="location-picker-select" name="location-picker-select" data-show-all-values="false" data-auto-select="false" data-default-value="" data-module="hmrc-accessible-autocomplete">
<option value="">Select country or territory</option>
<option value="AF-Afghanistan">Afghanistan</option>
<option value="AX-Aland_Islands">Aland Islands</option>
<option value="AL-Albania">Albania</option>
<option value="DZ-Algeria">Algeria</option>
<option value="AS-American_Samoa">American Samoa</option>
<option value="AD-Andorra">Andorra</option>
<option value="AO-Angola">Angola</option>
<option value="AI-Anguilla">Anguilla</option>
<option value="AQ-Antarctica">Antarctica</option>
<option value="AG-Antigua_and_Barbuda">Antigua and Barbuda</option>
<option value="AR-Argentina">Argentina</option>
<option value="AM-Armenia">Armenia</option>
<option value="AW-Aruba">Aruba</option>
<option value="AU-Australia">Australia</option>
<option value="AT-Austria">Austria</option>
<option value="AZ-Azerbaijan">Azerbaijan</option>
<option value="BH-Bahrain">Bahrain</option>
<option value="BD-Bangladesh">Bangladesh</option>
<option value="BB-Barbados">Barbados</option>
<option value="BY-Belarus">Belarus</option>
<option value="BE-Belgium">Belgium</option>
<option value="BZ-Belize">Belize</option>
<option value="BJ-Benin">Benin</option>
<option value="BM-Bermuda">Bermuda</option>
<option value="BT-Bhutan">Bhutan</option>
<option value="BO-Bolivia">Bolivia</option>
<option value="BQ-Bonaire,_Sint_Eustatius_and_Saba">Bonaire, Sint Eustatius and Saba</option>
<option value="BA-Bosnia_and_Herzegovina">Bosnia and Herzegovina</option>
<option value="BW-Botswana">Botswana</option>
<option value="BV-Bouvet_Island">Bouvet Island</option>
<option value="BR-Brazil">Brazil</option>
<option value="IO-British_Indian_Ocean_Territory">British Indian Ocean Territory</option>
<option value="VG-British_Virgin_Islands">British Virgin Islands</option>
<option value="BN-Brunei">Brunei</option>
<option value="BG-Bulgaria">Bulgaria</option>
<option value="BF-Burkina_Faso">Burkina Faso</option>
<option value="BI-Burundi">Burundi</option>
<option value="KH-Cambodia">Cambodia</option>
<option value="CM-Cameroon">Cameroon</option>
<option value="CA-Canada">Canada</option>
<option value="CV-Cape_Verde">Cape Verde</option>
<option value="KY-Cayman_Islands">Cayman Islands</option>
<option value="CF-Central_African_Republic">Central African Republic</option>
<option value="TD-Chad">Chad</option>
<option value="CL-Chile">Chile</option>
<option value="CN-China">China</option>
<option value="CX-Christmas_Island">Christmas Island</option>
<option value="CC-Cocos_(Keeling)_Islands_(the)">Cocos (Keeling) Islands (the)</option>
<option value="CO-Colombia">Colombia</option>
<option value="KM-Comoros">Comoros</option>
<option value="CG-Congo">Congo</option>
<option value="CD-Congo_(Democratic_Republic)">Congo (Democratic Republic)</option>
<option value="CK-Cook_Islands_(the)">Cook Islands (the)</option>
<option value="CR-Costa_Rica">Costa Rica</option>
<option value="HR-Croatia">Croatia</option>
<option value="CU-Cuba">Cuba</option>
<option value="CW-Curacao">Curacao</option>
<option value="CY-Cyprus">Cyprus</option>
<option value="CZ-Czechia">Czechia</option>
<option value="DK-Denmark">Denmark</option>
<option value="DJ-Djibouti">Djibouti</option>
<option value="DM-Dominica">Dominica</option>
<option value="DO-Dominican_Republic">Dominican Republic</option>
<option value="TL-East_Timor">East Timor</option>
<option value="EC-Ecuador">Ecuador</option>
<option value="EG-Egypt">Egypt</option>
<option value="SV-El_Salvador">El Salvador</option>
<option value="GQ-Equatorial_Guinea">Equatorial Guinea</option>
<option value="ER-Eritrea">Eritrea</option>
<option value="EE-Estonia">Estonia</option>
<option value="SZ-Eswatini">Eswatini</option>
<option value="SZ-Swaziland">Swaziland</option>
<option value="ET-Ethiopia">Ethiopia</option>
<option value="FK-Falkland_Islands">Falkland Islands</option>
<option value="FO-Faroe_Islands_(the)">Faroe Islands (the)</option>
<option value="FJ-Fiji">Fiji</option>
<option value="FI-Finland">Finland</option>
<option value="FR-France">France</option>
<option value="GF-French_Guiana">French Guiana</option>
<option value="PF-French_Polynesia">French Polynesia</option>
<option value="TF-French_Southern_Territories_(the)">French Southern Territories (the)</option>
<option value="GA-Gabon">Gabon</option>
<option value="GE-Georgia">Georgia</option>
<option value="DE-Germany">Germany</option>
<option value="GH-Ghana">Ghana</option>
<option value="GI-Gibraltar">Gibraltar</option>
<option value="GR-Greece">Greece</option>
<option value="GL-Greenland">Greenland</option>
<option value="GD-Grenada">Grenada</option>
<option value="GP-Guadeloupe">Guadeloupe</option>
<option value="GU-Guam">Guam</option>
<option value="GT-Guatemala">Guatemala</option>
<option value="GG-Guernsey">Guernsey</option>
<option value="GN-Guinea">Guinea</option>
<option value="GW-Guinea-Bissau">Guinea-Bissau</option>
<option value="GY-Guyana">Guyana</option>
<option value="HT-Haiti">Haiti</option>
<option value="HM-Heard_Island_and_McDonald_Islands">Heard Island and McDonald Islands</option>
<option value="HN-Honduras">Honduras</option>
<option value="HK-Hong_Kong">Hong Kong</option>
<option value="HU-Hungary">Hungary</option>
<option value="IS-Iceland">Iceland</option>
<option value="IN-India">India</option>
<option value="ID-Indonesia">Indonesia</option>
<option value="IR-Iran">Iran</option>
<option value="IQ-Iraq">Iraq</option>
<option value="IE-Ireland">Ireland</option>
<option value="IM-Isle_of_Man">Isle of Man</option>
<option value="IL-Israel">Israel</option>
<option value="IT-Italy">Italy</option>
<option value="CI-Ivory_Coast">Ivory Coast</option>
<option value="CI-Cote_d'Ivoire">Cote d'Ivoire</option>
<option value="JM-Jamaica">Jamaica</option>
<option value="JP-Japan">Japan</option>
<option value="JE-Jersey">Jersey</option>
<option value="JO-Jordan">Jordan</option>
<option value="KZ-Kazakhstan">Kazakhstan</option>
<option value="KE-Kenya">Kenya</option>
<option value="KI-Kiribati">Kiribati</option>
<option value="XK-Kosovo">Kosovo</option>
<option value="KW-Kuwait">Kuwait</option>
<option value="KG-Kyrgyzstan">Kyrgyzstan</option>
<option value="LA-Laos">Laos</option>
<option value="LV-Latvia">Latvia</option>
<option value="LB-Lebanon">Lebanon</option>
<option value="LS-Lesotho">Lesotho</option>
<option value="LR-Liberia">Liberia</option>
<option value="LY-Libya">Libya</option>
<option value="LI-Liechtenstein">Liechtenstein</option>
<option value="LT-Lithuania">Lithuania</option>
<option value="LU-Luxembourg">Luxembourg</option>
<option value="MO-Macao">Macao</option>
<option value="MG-Madagascar">Madagascar</option>
<option value="MW-Malawi">Malawi</option>
<option value="MY-Malaysia">Malaysia</option>
<option value="MV-Maldives">Maldives</option>
<option value="ML-Mali">Mali</option>
<option value="MT-Malta">Malta</option>
<option value="MH-Marshall_Islands">Marshall Islands</option>
<option value="MQ-Martinique">Martinique</option>
<option value="MR-Mauritania">Mauritania</option>
<option value="MU-Mauritius">Mauritius</option>
<option value="YT-Mayotte">Mayotte</option>
<option value="MX-Mexico">Mexico</option>
<option value="FM-Micronesia">Micronesia</option>
<option value="MD-Moldova">Moldova</option>
<option value="MC-Monaco">Monaco</option>
<option value="MN-Mongolia">Mongolia</option>
<option value="ME-Montenegro">Montenegro</option>
<option value="MS-Montserrat">Montserrat</option>
<option value="MA-Morocco">Morocco</option>
<option value="MZ-Mozambique">Mozambique</option>
<option value="MM-Myanmar_(Burma)">Myanmar (Burma)</option>
<option value="NA-Namibia">Namibia</option>
<option value="NR-Nauru">Nauru</option>
<option value="NP-Nepal">Nepal</option>
<option value="NL-Netherlands">Netherlands</option>
<option value="NL-Holland">Holland</option>
<option value="NC-New_Caledonia">New Caledonia</option>
<option value="NZ-New_Zealand">New Zealand</option>
<option value="NI-Nicaragua">Nicaragua</option>
<option value="NE-Niger">Niger</option>
<option value="NG-Nigeria">Nigeria</option>
<option value="NU-Niue">Niue</option>
<option value="NF-Norfolk_Island">Norfolk Island</option>
<option value="MP-Northern_Mariana_Islands_(the)">Northern Mariana Islands (the)</option>
<option value="KP-North_Korea">North Korea</option>
<option value="MK-North_Macedonia">North Macedonia</option>
<option value="NO-Norway">Norway</option>
<option value="OM-Oman">Oman</option>
<option value="PK-Pakistan">Pakistan</option>
<option value="PW-Palau">Palau</option>
<option value="PS-Palestine,_State_of">Palestine, State of</option>
<option value="PA-Panama">Panama</option>
<option value="PG-Papua_New_Guinea">Papua New Guinea</option>
<option value="PY-Paraguay">Paraguay</option>
<option value="PE-Peru">Peru</option>
<option value="PH-Philippines">Philippines</option>
<option value="PN-Pitcairn,_Henderson,_Ducie_and_Oeno_Islands">Pitcairn, Henderson, Ducie and Oeno Islands</option>
<option value="PL-Poland">Poland</option>
<option value="PT-Portugal">Portugal</option>
<option value="PR-Puerto_Rico">Puerto Rico</option>
<option value="QA-Qatar">Qatar</option>
<option value="RE-Reunion">Reunion</option>
<option value="RO-Romania">Romania</option>
<option value="RU-Russia">Russia</option>
<option value="RW-Rwanda">Rwanda</option>
<option value="BL-Saint_Bartholemy">Saint Bartholemy</option>
<option value="MF-Saint_Martin_(French_part)">Saint Martin (French part)</option>
<option value="PM-Saint_Pierre_and_Miquelon">Saint Pierre and Miquelon</option>
<option value="WS-Samoa">Samoa</option>
<option value="SM-San_Marino">San Marino</option>
<option value="ST-Sao_Tome_and_Principe">Sao Tome and Principe</option>
<option value="SA-Saudi_Arabia">Saudi Arabia</option>
<option value="SN-Senegal">Senegal</option>
<option value="RS-Serbia">Serbia</option>
<option value="SC-Seychelles">Seychelles</option>
<option value="SL-Sierra_Leone">Sierra Leone</option>
<option value="SG-Singapore">Singapore</option>
<option value="SX-Sint_Maarten_(Dutch_part)">Sint Maarten (Dutch part)</option>
<option value="SK-Slovakia">Slovakia</option>
<option value="SI-Slovenia">Slovenia</option>
<option value="SB-Solomon_Islands">Solomon Islands</option>
<option value="SO-Somalia">Somalia</option>
<option value="ZA-South_Africa">South Africa</option>
<option value="GS-South_Georgia_and_South_Sandwich_Islands">South Georgia and South Sandwich Islands</option>
<option value="KR-South_Korea">South Korea</option>
<option value="SS-South_Sudan">South Sudan</option>
<option value="ES-Spain">Spain</option>
<option value="LK-Sri_Lanka">Sri Lanka</option>
<option value="SH-St_Helena,_Ascension_and_Tristan_da_Cunha">St Helena, Ascension and Tristan da Cunha</option>
<option value="KN-St_Kitts_and_Nevis">St Kitts and Nevis</option>
<option value="LC-St_Lucia">St Lucia</option>
<option value="VC-St_Vincent">St Vincent</option>
<option value="SD-Sudan">Sudan</option>
<option value="SR-Suriname">Suriname</option>
<option value="SJ-Svalbard_and_Jan_Mayen">Svalbard and Jan Mayen</option>
<option value="SE-Sweden">Sweden</option>
<option value="CH-Switzerland">Switzerland</option>
<option value="SY-Syria">Syria</option>
<option value="TW-Taiwan">Taiwan</option>
<option value="TJ-Tajikistan">Tajikistan</option>
<option value="TZ-Tanzania">Tanzania</option>
<option value="TH-Thailand">Thailand</option>
<option value="BS-The_Bahamas">The Bahamas</option>
<option value="GM-The_Gambia">The Gambia</option>
<option value="TG-Togo">Togo</option>
<option value="TK-Tokelau">Tokelau</option>
<option value="TO-Tonga">Tonga</option>
<option value="TT-Trinidad_and_Tobago">Trinidad and Tobago</option>
<option value="TN-Tunisia">Tunisia</option>
<option value="TR-Turkey">Turkey</option>
<option value="TM-Turkmenistan">Turkmenistan</option>
<option value="TC-Turks_and_Caicos_Islands">Turks and Caicos Islands</option>
<option value="TV-Tuvalu">Tuvalu</option>
<option value="UG-Uganda">Uganda</option>
<option value="UA-Ukraine">Ukraine</option>
<option value="AE-United_Arab_Emirates">United Arab Emirates</option>
<option value="GB-United_Kingdom">United Kingdom</option>
<option value="GB-England">England</option>
<option value="GB-Wales">Wales</option>
<option value="GB-Scotland">Scotland</option>
<option value="GB-Northern_Ireland">Northern Ireland</option>
<option value="GB-Great_Britain">Great Britain</option>
<option value="GB-UK">UK</option>
<option value="US-United_States">United States</option>
<option value="US-USA">USA</option>
<option value="US-U.S.A.">U.S.A.</option>
<option value="US-US">US</option>
<option value="US-U.S.">U.S.</option>
<option value="US-America">America</option>
<option value="UM-United_States_Minor_Outlying_Islands_(the)">United States Minor Outlying Islands (the)</option>
<option value="UY-Uruguay">Uruguay</option>
<option value="UZ-Uzbekistan">Uzbekistan</option>
<option value="VU-Vanuatu">Vanuatu</option>
<option value="VA-Vatican_City">Vatican City</option>
<option value="VA-Holy_See">Holy See</option>
<option value="VE-Venezuela">Venezuela</option>
<option value="VN-Vietnam">Vietnam</option>
<option value="VI-Virgin_Islands_(U.S.)">Virgin Islands (U.S.)</option>
<option value="WF-Wallis_and_Futuna">Wallis and Futuna</option>
<option value="EH-Western_Sahara*">Western Sahara*</option>
<option value="YE-Yemen">Yemen</option>
<option value="ZM-Zambia">Zambia</option>
<option value="ZW-Zimbabwe">Zimbabwe</option>
</select>
</div>
</div>
<button type="submit" class="govuk-button" data-module="govuk-button">
Continue
</button>
</form>
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "hmrc/components/accessible-autocomplete/macro.njk" import hmrcAccessibleAutocomplete %}
{% from "govuk/components/select/macro.njk" import govukSelect %}
<form action="#" method="get" novalidate>
{{ hmrcAccessibleAutocomplete({
describedBy: "location-picker-select",
id: "location-picker",
select: govukSelect({
id: "location-picker-select",
name: "location-picker-select",
label: {
text: "Select your country",
classes: "govuk-label--l",
isPageHeading: true
},
attributes: {
"data-show-all-values": "false",
"data-auto-select": "false",
"data-default-value":"",
"data-module": "hmrc-accessible-autocomplete"
},
items: [
{ value: "", text: "Select country or territory"},
{ value: "AF-Afghanistan", text: "Afghanistan"},
{ value: "AX-Aland_Islands", text: "Aland Islands"},
{ value: "AL-Albania", text: "Albania"},
{ value: "DZ-Algeria", text: "Algeria"},
{ value: "AS-American_Samoa", text: "American Samoa"},
{ value: "AD-Andorra", text: "Andorra"},
{ value: "AO-Angola", text: "Angola"},
{ value: "AI-Anguilla", text: "Anguilla"},
{ value: "AQ-Antarctica", text: "Antarctica"},
{ value: "AG-Antigua_and_Barbuda", text: "Antigua and Barbuda"},
{ value: "AR-Argentina", text: "Argentina"},
{ value: "AM-Armenia", text: "Armenia"},
{ value: "AW-Aruba", text: "Aruba"},
{ value: "AU-Australia", text: "Australia"},
{ value: "AT-Austria", text: "Austria"},
{ value: "AZ-Azerbaijan", text: "Azerbaijan"},
{ value: "BH-Bahrain", text: "Bahrain"},
{ value: "BD-Bangladesh", text: "Bangladesh"},
{ value: "BB-Barbados", text: "Barbados"},
{ value: "BY-Belarus", text: "Belarus"},
{ value: "BE-Belgium", text: "Belgium"},
{ value: "BZ-Belize", text: "Belize"},
{ value: "BJ-Benin", text: "Benin"},
{ value: "BM-Bermuda", text: "Bermuda"},
{ value: "BT-Bhutan", text: "Bhutan"},
{ value: "BO-Bolivia", text: "Bolivia"},
{ value: "BQ-Bonaire,_Sint_Eustatius_and_Saba", text: "Bonaire, Sint Eustatius and Saba"},
{ value: "BA-Bosnia_and_Herzegovina", text: "Bosnia and Herzegovina"},
{ value: "BW-Botswana", text: "Botswana"},
{ value: "BV-Bouvet_Island", text: "Bouvet Island"},
{ value: "BR-Brazil", text: "Brazil"},
{ value: "IO-British_Indian_Ocean_Territory", text: "British Indian Ocean Territory"},
{ value: "VG-British_Virgin_Islands", text: "British Virgin Islands"},
{ value: "BN-Brunei", text: "Brunei"},
{ value: "BG-Bulgaria", text: "Bulgaria"},
{ value: "BF-Burkina_Faso", text: "Burkina Faso"},
{ value: "BI-Burundi", text: "Burundi"},
{ value: "KH-Cambodia", text: "Cambodia"},
{ value: "CM-Cameroon", text: "Cameroon"},
{ value: "CA-Canada", text: "Canada"},
{ value: "CV-Cape_Verde", text: "Cape Verde"},
{ value: "KY-Cayman_Islands", text: "Cayman Islands"},
{ value: "CF-Central_African_Republic", text: "Central African Republic"},
{ value: "TD-Chad", text: "Chad"},
{ value: "CL-Chile", text: "Chile"},
{ value: "CN-China", text: "China"},
{ value: "CX-Christmas_Island", text: "Christmas Island"},
{ value: "CC-Cocos_(Keeling)_Islands_(the)", text: "Cocos (Keeling) Islands (the)"},
{ value: "CO-Colombia", text: "Colombia"},
{ value: "KM-Comoros", text: "Comoros"},
{ value: "CG-Congo", text: "Congo"},
{ value: "CD-Congo_(Democratic_Republic)", text: "Congo (Democratic Republic)"},
{ value: "CK-Cook_Islands_(the)", text: "Cook Islands (the)"},
{ value: "CR-Costa_Rica", text: "Costa Rica"},
{ value: "HR-Croatia", text: "Croatia"},
{ value: "CU-Cuba", text: "Cuba"},
{ value: "CW-Curacao", text: "Curacao"},
{ value: "CY-Cyprus", text: "Cyprus"},
{ value: "CZ-Czechia", text: "Czechia"},
{ value: "DK-Denmark", text: "Denmark"},
{ value: "DJ-Djibouti", text: "Djibouti"},
{ value: "DM-Dominica", text: "Dominica"},
{ value: "DO-Dominican_Republic", text: "Dominican Republic"},
{ value: "TL-East_Timor", text: "East Timor"},
{ value: "EC-Ecuador", text: "Ecuador"},
{ value: "EG-Egypt", text: "Egypt"},
{ value: "SV-El_Salvador", text: "El Salvador"},
{ value: "GQ-Equatorial_Guinea", text: "Equatorial Guinea"},
{ value: "ER-Eritrea", text: "Eritrea"},
{ value: "EE-Estonia", text: "Estonia"},
{ value: "SZ-Eswatini", text: "Eswatini"},
{ value: "SZ-Swaziland", text: "Swaziland"},
{ value: "ET-Ethiopia", text: "Ethiopia"},
{ value: "FK-Falkland_Islands", text: "Falkland Islands"},
{ value: "FO-Faroe_Islands_(the)", text: "Faroe Islands (the)"},
{ value: "FJ-Fiji", text: "Fiji"},
{ value: "FI-Finland", text: "Finland"},
{ value: "FR-France", text: "France"},
{ value: "GF-French_Guiana", text: "French Guiana"},
{ value: "PF-French_Polynesia", text: "French Polynesia"},
{ value: "TF-French_Southern_Territories_(the)", text: "French Southern Territories (the)"},
{ value: "GA-Gabon", text: "Gabon"},
{ value: "GE-Georgia", text: "Georgia"},
{ value: "DE-Germany", text: "Germany"},
{ value: "GH-Ghana", text: "Ghana"},
{ value: "GI-Gibraltar", text: "Gibraltar"},
{ value: "GR-Greece", text: "Greece"},
{ value: "GL-Greenland", text: "Greenland"},
{ value: "GD-Grenada", text: "Grenada"},
{ value: "GP-Guadeloupe", text: "Guadeloupe"},
{ value: "GU-Guam", text: "Guam"},
{ value: "GT-Guatemala", text: "Guatemala"},
{ value: "GG-Guernsey", text: "Guernsey"},
{ value: "GN-Guinea", text: "Guinea"},
{ value: "GW-Guinea-Bissau", text: "Guinea-Bissau"},
{ value: "GY-Guyana", text: "Guyana"},
{ value: "HT-Haiti", text: "Haiti"},
{ value: "HM-Heard_Island_and_McDonald_Islands", text: "Heard Island and McDonald Islands"},
{ value: "HN-Honduras", text: "Honduras"},
{ value: "HK-Hong_Kong", text: "Hong Kong"},
{ value: "HU-Hungary", text: "Hungary"},
{ value: "IS-Iceland", text: "Iceland"},
{ value: "IN-India", text: "India"},
{ value: "ID-Indonesia", text: "Indonesia"},
{ value: "IR-Iran", text: "Iran"},
{ value: "IQ-Iraq", text: "Iraq"},
{ value: "IE-Ireland", text: "Ireland"},
{ value: "IM-Isle_of_Man", text: "Isle of Man"},
{ value: "IL-Israel", text: "Israel"},
{ value: "IT-Italy", text: "Italy"},
{ value: "CI-Ivory_Coast", text: "Ivory Coast"},
{ value: "CI-Cote_d'Ivoire", text: "Cote d'Ivoire"},
{ value: "JM-Jamaica", text: "Jamaica"},
{ value: "JP-Japan", text: "Japan"},
{ value: "JE-Jersey", text: "Jersey"},
{ value: "JO-Jordan", text: "Jordan"},
{ value: "KZ-Kazakhstan", text: "Kazakhstan"},
{ value: "KE-Kenya", text: "Kenya"},
{ value: "KI-Kiribati", text: "Kiribati"},
{ value: "XK-Kosovo", text: "Kosovo"},
{ value: "KW-Kuwait", text: "Kuwait"},
{ value: "KG-Kyrgyzstan", text: "Kyrgyzstan"},
{ value: "LA-Laos", text: "Laos"},
{ value: "LV-Latvia", text: "Latvia"},
{ value: "LB-Lebanon", text: "Lebanon"},
{ value: "LS-Lesotho", text: "Lesotho"},
{ value: "LR-Liberia", text: "Liberia"},
{ value: "LY-Libya", text: "Libya"},
{ value: "LI-Liechtenstein", text: "Liechtenstein"},
{ value: "LT-Lithuania", text: "Lithuania"},
{ value: "LU-Luxembourg", text: "Luxembourg"},
{ value: "MO-Macao", text: "Macao"},
{ value: "MG-Madagascar", text: "Madagascar"},
{ value: "MW-Malawi", text: "Malawi"},
{ value: "MY-Malaysia", text: "Malaysia"},
{ value: "MV-Maldives", text: "Maldives"},
{ value: "ML-Mali", text: "Mali"},
{ value: "MT-Malta", text: "Malta"},
{ value: "MH-Marshall_Islands", text: "Marshall Islands"},
{ value: "MQ-Martinique", text: "Martinique"},
{ value: "MR-Mauritania", text: "Mauritania"},
{ value: "MU-Mauritius", text: "Mauritius"},
{ value: "YT-Mayotte", text: "Mayotte"},
{ value: "MX-Mexico", text: "Mexico"},
{ value: "FM-Micronesia", text: "Micronesia"},
{ value: "MD-Moldova", text: "Moldova"},
{ value: "MC-Monaco", text: "Monaco"},
{ value: "MN-Mongolia", text: "Mongolia"},
{ value: "ME-Montenegro", text: "Montenegro"},
{ value: "MS-Montserrat", text: "Montserrat"},
{ value: "MA-Morocco", text: "Morocco"},
{ value: "MZ-Mozambique", text: "Mozambique"},
{ value: "MM-Myanmar_(Burma)", text: "Myanmar (Burma)"},
{ value: "NA-Namibia", text: "Namibia"},
{ value: "NR-Nauru", text: "Nauru"},
{ value: "NP-Nepal", text: "Nepal"},
{ value: "NL-Netherlands", text: "Netherlands"},
{ value: "NL-Holland", text: "Holland"},
{ value: "NC-New_Caledonia", text: "New Caledonia"},
{ value: "NZ-New_Zealand", text: "New Zealand"},
{ value: "NI-Nicaragua", text: "Nicaragua"},
{ value: "NE-Niger", text: "Niger"},
{ value: "NG-Nigeria", text: "Nigeria"},
{ value: "NU-Niue", text: "Niue"},
{ value: "NF-Norfolk_Island", text: "Norfolk Island"},
{ value: "MP-Northern_Mariana_Islands_(the)", text: "Northern Mariana Islands (the)"},
{ value: "KP-North_Korea", text: "North Korea"},
{ value: "MK-North_Macedonia", text: "North Macedonia"},
{ value: "NO-Norway", text: "Norway"},
{ value: "OM-Oman", text: "Oman"},
{ value: "PK-Pakistan", text: "Pakistan"},
{ value: "PW-Palau", text: "Palau"},
{ value: "PS-Palestine,_State_of", text: "Palestine, State of"},
{ value: "PA-Panama", text: "Panama"},
{ value: "PG-Papua_New_Guinea", text: "Papua New Guinea"},
{ value: "PY-Paraguay", text: "Paraguay"},
{ value: "PE-Peru", text: "Peru"},
{ value: "PH-Philippines", text: "Philippines"},
{ value: "PN-Pitcairn,_Henderson,_Ducie_and_Oeno_Islands", text: "Pitcairn, Henderson, Ducie and Oeno Islands"},
{ value: "PL-Poland", text: "Poland"},
{ value: "PT-Portugal", text: "Portugal"},
{ value: "PR-Puerto_Rico", text: "Puerto Rico"},
{ value: "QA-Qatar", text: "Qatar"},
{ value: "RE-Reunion", text: "Reunion"},
{ value: "RO-Romania", text: "Romania"},
{ value: "RU-Russia", text: "Russia"},
{ value: "RW-Rwanda", text: "Rwanda"},
{ value: "BL-Saint_Bartholemy", text: "Saint Bartholemy"},
{ value: "MF-Saint_Martin_(French_part)", text: "Saint Martin (French part)"},
{ value: "PM-Saint_Pierre_and_Miquelon", text: "Saint Pierre and Miquelon"},
{ value: "WS-Samoa", text: "Samoa"},
{ value: "SM-San_Marino", text: "San Marino"},
{ value: "ST-Sao_Tome_and_Principe", text: "Sao Tome and Principe"},
{ value: "SA-Saudi_Arabia", text: "Saudi Arabia"},
{ value: "SN-Senegal", text: "Senegal"},
{ value: "RS-Serbia", text: "Serbia"},
{ value: "SC-Seychelles", text: "Seychelles"},
{ value: "SL-Sierra_Leone", text: "Sierra Leone"},
{ value: "SG-Singapore", text: "Singapore"},
{ value: "SX-Sint_Maarten_(Dutch_part)", text: "Sint Maarten (Dutch part)"},
{ value: "SK-Slovakia", text: "Slovakia"},
{ value: "SI-Slovenia", text: "Slovenia"},
{ value: "SB-Solomon_Islands", text: "Solomon Islands"},
{ value: "SO-Somalia", text: "Somalia"},
{ value: "ZA-South_Africa", text: "South Africa"},
{ value: "GS-South_Georgia_and_South_Sandwich_Islands", text: "South Georgia and South Sandwich Islands"},
{ value: "KR-South_Korea", text: "South Korea"},
{ value: "SS-South_Sudan", text: "South Sudan"},
{ value: "ES-Spain", text: "Spain"},
{ value: "LK-Sri_Lanka", text: "Sri Lanka"},
{ value: "SH-St_Helena,_Ascension_and_Tristan_da_Cunha", text: "St Helena, Ascension and Tristan da Cunha"},
{ value: "KN-St_Kitts_and_Nevis", text: "St Kitts and Nevis"},
{ value: "LC-St_Lucia", text: "St Lucia"},
{ value: "VC-St_Vincent", text: "St Vincent"},
{ value: "SD-Sudan", text: "Sudan"},
{ value: "SR-Suriname", text: "Suriname"},
{ value: "SJ-Svalbard_and_Jan_Mayen", text: "Svalbard and Jan Mayen"},
{ value: "SE-Sweden", text: "Sweden"},
{ value: "CH-Switzerland", text: "Switzerland"},
{ value: "SY-Syria", text: "Syria"},
{ value: "TW-Taiwan", text: "Taiwan"},
{ value: "TJ-Tajikistan", text: "Tajikistan"},
{ value: "TZ-Tanzania", text: "Tanzania"},
{ value: "TH-Thailand", text: "Thailand"},
{ value: "BS-The_Bahamas", text: "The Bahamas"},
{ value: "GM-The_Gambia", text: "The Gambia"},
{ value: "TG-Togo", text: "Togo"},
{ value: "TK-Tokelau", text: "Tokelau"},
{ value: "TO-Tonga", text: "Tonga"},
{ value: "TT-Trinidad_and_Tobago", text: "Trinidad and Tobago"},
{ value: "TN-Tunisia", text: "Tunisia"},
{ value: "TR-Turkey", text: "Turkey"},
{ value: "TM-Turkmenistan", text: "Turkmenistan"},
{ value: "TC-Turks_and_Caicos_Islands", text: "Turks and Caicos Islands"},
{ value: "TV-Tuvalu", text: "Tuvalu"},
{ value: "UG-Uganda", text: "Uganda"},
{ value: "UA-Ukraine", text: "Ukraine"},
{ value: "AE-United_Arab_Emirates", text: "United Arab Emirates"},
{ value: "GB-United_Kingdom", text: "United Kingdom"},
{ value: "GB-England", text: "England"},
{ value: "GB-Wales", text: "Wales"},
{ value: "GB-Scotland", text: "Scotland"},
{ value: "GB-Northern_Ireland", text: "Northern Ireland"},
{ value: "GB-Great_Britain", text: "Great Britain"},
{ value: "GB-UK", text: "UK"},
{ value: "US-United_States", text: "United States"},
{ value: "US-USA", text: "USA"},
{ value: "US-U.S.A.", text: "U.S.A."},
{ value: "US-US", text: "US"},
{ value: "US-U.S.", text: "U.S."},
{ value: "US-America", text: "America"},
{ value: "UM-United_States_Minor_Outlying_Islands_(the)", text: "United States Minor Outlying Islands (the)"},
{ value: "UY-Uruguay", text: "Uruguay"},
{ value: "UZ-Uzbekistan", text: "Uzbekistan"},
{ value: "VU-Vanuatu", text: "Vanuatu"},
{ value: "VA-Vatican_City", text: "Vatican City"},
{ value: "VA-Holy_See", text: "Holy See"},
{ value: "VE-Venezuela", text: "Venezuela"},
{ value: "VN-Vietnam", text: "Vietnam"},
{ value: "VI-Virgin_Islands_(U.S.)", text: "Virgin Islands (U.S.)"},
{ value: "WF-Wallis_and_Futuna", text: "Wallis and Futuna"},
{ value: "EH-Western_Sahara*", text: "Western Sahara*"},
{ value: "YE-Yemen", text: "Yemen"},
{ value: "ZM-Zambia", text: "Zambia"},
{ value: "ZW-Zimbabwe", text: "Zimbabwe"}
]
})
}) }}
{{ govukButton({
text: "Continue"
}) }}
</form>
Search for a UK address
This is the default way to look up addresses in HMRC services. Most services will use this method.
<h1 class="govuk-heading-l">Find your address</h1>
<div class="govuk-form-group">
<label class="govuk-label" for="postcode">
Postcode
</label>
<input class="govuk-input govuk-input--width-10" id="postcode" name="postcode" type="text" autocomplete="postal-code">
</div>
<div class="govuk-form-group">
<label class="govuk-label" for="property">
Property name or number (optional)
</label>
<div id="property-hint" class="govuk-hint">
For example, The Mill, 116 or Flat 37a.
</div>
<input class="govuk-input" id="property" name="property" type="text" aria-describedby="property-hint">
</div>
<p class="govuk-body"><a class="govuk-link" href="#">Enter the address manually</a></p>
<button type="submit" class="govuk-button" data-module="govuk-button">
Continue
</button>
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "govuk/components/input/macro.njk" import govukInput %}
<h1 class="govuk-heading-l">Find your address</h1>
{{
govukInput({
label: {
text: "Postcode"
},
id: "postcode",
name: "postcode",
classes: "govuk-input--width-10",
autocomplete: "postal-code"
})
}}
{{
govukInput({
label: {
text: "Property name or number (optional)"
},
hint: {
text: 'For example, The Mill, 116 or Flat 37a.'
},
id: "property",
name: "property"
})
}}
<p class="govuk-body"><a class="govuk-link" href="#">Enter the address manually</a></p>
{{ govukButton({
text: "Continue"
}) }}
Search results
<h1 class="govuk-heading-l">Choose your address</h1>
<form action="/form-handler" method="post" novalidate>
<div class="govuk-form-group">
<div class="govuk-radios" data-module="govuk-radios">
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="1" name="results" type="radio" value="1">
<label class="govuk-label govuk-radios__label" for="1">
1 Arundel Mews, Worthing, BN11 5RG
</label>
</div>
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="2a" name="results" type="radio" value="2a">
<label class="govuk-label govuk-radios__label" for="2a">
2a Arundel Mews, Worthing, BN11 5RG
</label>
</div>
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="Flat 1, 3" name="results" type="radio" value="Flat 1, 3">
<label class="govuk-label govuk-radios__label" for="Flat 1, 3">
Flat 1, 3 Arundel Mews, Worthing, BN11 5RG
</label>
</div>
<div class="govuk-radios__divider">or</div>
<div class="govuk-radios__item">
<input class="govuk-radios__input" id="None of these" name="results" type="radio" value="None of these">
<label class="govuk-label govuk-radios__label" for="None of these">
None of these
</label>
</div>
</div>
</div>
<button type="submit" class="govuk-button" data-module="govuk-button">
Continue
</button>
</form>
{% from "govuk/components/radios/macro.njk" import govukRadios %}
{% from "govuk/components/button/macro.njk" import govukButton %}
<h1 class="govuk-heading-l">Choose your address</h1>
<form action="/form-handler" method="post" novalidate>
{{ govukRadios({
name: "results",
items: [
{
value: "1",
text: "1 Arundel Mews, Worthing, BN11 5RG",
id: "1"
},
{
value: "2a",
text: "2a Arundel Mews, Worthing, BN11 5RG",
id: "2a"
},
{
value: "Flat 1, 3",
text: "Flat 1, 3 Arundel Mews, Worthing, BN11 5RG",
id: "Flat 1, 3"
},
{
divider: "or"
},
{
value: "None of these",
text: "None of these",
id: "None of these"
}
]
}) }}
{{ govukButton({
text: "Continue"
}) }}
</form>
Only show search results if there are multiple results. If there is a single result go directly to the review and confirm screen.
If a user selects ‘None of the these’, take them to the ‘Manually enter or edit’ screen. Pre-populate the postcode field.
Manually enter or edit
<fieldset class="govuk-fieldset">
<legend class="govuk-fieldset__legend govuk-fieldset__legend--l">
<h1 class="govuk-fieldset__heading">
Enter your address
</h1>
</legend>
<div class="govuk-form-group">
<label class="govuk-label" for="organisation">
Organisation (optional)
</label>
<input class="govuk-input" id="organisation" name="organisation" type="text" autocomplete="organization">
</div>
<div class="govuk-form-group">
<label class="govuk-label" for="line1">
Address line 1
</label>
<input class="govuk-input" id="line1" name="line1" type="text" autocomplete="address-line1">
</div>
<div class="govuk-form-group">
<label class="govuk-label" for="line2">
Address line 2 (optional)
</label>
<input class="govuk-input" id="line2" name="line2" type="text" autocomplete="address-line2">
</div>
<div class="govuk-form-group">
<label class="govuk-label" for="town-city">
Town or city
</label>
<input class="govuk-input" id="town-city" name="town-city" type="text" autocomplete="address-level2">
</div>
<div class="govuk-form-group">
<label class="govuk-label" for="county">
County (optional)
</label>
<input class="govuk-input" id="county" name="county" type="text">
</div>
<div class="govuk-form-group">
<label class="govuk-label" for="postcode">
Postcode
</label>
<input class="govuk-input govuk-input--width-10" id="postcode" name="postcode" type="text" autocomplete="postal-code">
</div>
<div class="govuk-form-group">
<label class="govuk-label" for="country">
Country
</label>
<input class="govuk-input" id="country" name="country" type="text" autocomplete="country-name">
</div>
<button type="submit" class="govuk-button" data-module="govuk-button">
Continue
</button>
</fieldset>
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "govuk/components/input/macro.njk" import govukInput %}
{% from "govuk/components/fieldset/macro.njk" import govukFieldset %}
{% call govukFieldset({
legend: {
text: "Enter your address",
classes: "govuk-fieldset__legend--l",
isPageHeading: true
}
}) %}
{{
govukInput({
label: {
text: "Organisation (optional)"
},
id: "organisation",
name: "organisation",
autocomplete: "organization"
})
}}
{{
govukInput({
label: {
text: "Address line 1"
},
id: "line1",
name: "line1",
autocomplete: "address-line1"
})
}}
{{
govukInput({
label: {
text: "Address line 2 (optional)"
},
id: "line2",
name: "line2",
autocomplete: "address-line2"
})
}}
{{
govukInput({
label: {
text: "Town or city"
},
id: "town-city",
name: "town-city",
autocomplete: "address-level2"
})
}}
{{
govukInput({
label: {
text: "County (optional)"
},
id: "county",
name: "county"
})
}}
{{
govukInput({
label: {
text: "Postcode"
},
id: "postcode",
name: "postcode",
classes: "govuk-input--width-10",
autocomplete: "postal-code"
})
}}
{{
govukInput({
label: {
text: "Country"
},
id: "country",
name: "country",
autocomplete: "country-name"
})
}}
{{ govukButton({
text: "Continue"
}) }}
{% endcall %}
If international addresses are expected replace ‘Postcode’ with ‘Postal code’.
Only include the ‘Organisation’ field if it is relevant to your service, for example, when dealing with business addresses. If you include this field, decide if it is a required piece of information for your service. If not, mark it as ‘(optional)’.
Review and confirm
<h1 class="govuk-heading-l">Review and confirm</h1>
<p class="govuk-body" translate="no">
18 Arundel Mews<br />
Worthing<br />
BN11 5RG<br />
United Kingdom
</p>
<p class="govuk-body"><a class="govuk-link" href="#">Edit address</a></p>
<button type="submit" class="govuk-button" data-module="govuk-button">
Confirm address
</button>
</form>
{% from "govuk/components/button/macro.njk" import govukButton %}
<h1 class="govuk-heading-l">Review and confirm</h1>
<p class="govuk-body" translate="no">
18 Arundel Mews<br />
Worthing<br />
BN11 5RG<br />
United Kingdom
</p>
<p class="govuk-body"><a class="govuk-link" href="#">Edit address</a></p>
{{ govukButton({
text: "Confirm address"
}) }}
</form>
The ‘Edit address’ link takes users back to the previous screen with the address details pre-populated.
Error messages
Make sure errors follow the guidance about error messages and the addresses pattern in the GOV.UK Design System. Have specific error messages for specific error states.
If the postcode is in the wrong format
Say ‘Enter postcode in the correct format’.
If the postcode field contains forbidden characters
Say ‘Postcode can only include letters a to z, numbers 0 to 9 or spaces’.
If the postcode is in the correct format but does not match any known addresses
Say ‘We could not find any addresses for [postcode]. Enter a known postcode, or enter the address manually.’.
Research
We need more research. If you have used Addresses, get in touch to share your research findings.