UK and International Post | Post Office


UK and International Post | Post Office Skip to main content Coronavirus support: Coronavirus support: Whether you’re sending post locally or abroad, collecting or returning parcels, moving or away from home, we’ll help find the right service for your needs.

Coronavirus update | We’re open for business and doing everything we can to help our customers. However, some of the services we offer have been impacted. Find out more here  

UK Standard

Royal Mail 1st Class and 2nd Class

Get the best possible value from your postage

UK Signed

Royal Mail Signed For® and

Parcelforce Worldwide express48

Extra peace of mind – 

get your item signed for on delivery

UK Guaranteed

Royal Mail Special Delivery Guaranteed™ by 9am & 1pm and
Parcelforce Worldwide express9, express10, expressAM, Express24

Next day delivery options – perfect for urgent or valuable items

What can I send?

Guidelines on prohibited and restricted items

Find out what you can and cannot post in the UK

International Standard

A reliable and easy way to send parcels anywhere in the world

£20 compensation included as standard. Free returns for any undelivered items

International Confirmed

Know your international packages have arrived safely with our tracking and signature services

Aim to deliver to Europe within 3-5 working days, and worldwide within 5-7 working days

International Guaranteed

Parcelforce Worldwide globalexpress & Parcelforce Worldwide globalpriority

Our fastest international postage services

International Economy

The easy, inexpensive choice to send international parcels

Ideal for heavier items that don’t need to arrive in a hurry, £20 compensation included as standard

What can I send?

Read our guidelines on prohibited and restricted international items.

Find out what you can and cannot post abroad

Drop & Go

Save time with our fast, free Drop & Go service for letters and parcels.

It’s available in 97% of Post Office branches.

Useful information

Information and tips for regular senders, online sellers and small businesses.

Find ways to save on your postage and make the most of online marketplaces.

Collect an online purchase

Not at home? Get your items delivered to a Post Office branch with our Local Collect service.

More branches open for longer, so you can collect when it’s convenient for you. 

Return something

Return items quickly and easily and safely with our reliable returns service

A range of pricing options are available.

Redirection

Easy and affordable mail redirection service when you move home

Save yourself time and effort and reduce the risk of identity fraud

HM Forces Mail

Standard HM Forces mail, HM Forces Royal Mail Signed For® and HM Forces Royal Mail Special Delivery Guaranteed®

Send letters and parcels safely to serving personnel with the British Forces Post Office

Self-service kiosks

From posting parcels to buying stamps, it’s the same reliable service

In our larger branches you can now buy stamps and post parcels at our self-service kiosks

Poste Restante

Have your incoming mail sent to a

Post Office branch of your choice, anywhere in the UK

Available for up to 3 months

Postcode finder

Don’t forget to always include the postcode when sending an item

Use Royal Mail’s Postcode Finder to search for a UK postal code

Track & Trace

Check the progress of your deliveries

Find out if your letter or parcel has been delivered

How to address mail

Learn the correct way to address your letters and parcels so they arrive safely

 

From parcel sizes to customs forms, advice on valuable items and restricted items, we’ll give you the know-how

Lost and damaged

We offer a range of services that offer different levels of compensation to meet your posting needs

Many services include compensation cover at no extra cost to you
 

Sending valuables

Make sure your valuable item arrives safely

Check out our top tips on sending valuable items such as which service to use and how to pack them safely

check icon document-download icon chevron-right icon down-arrow icon

Use our Local Collect service to pick up missed parcels from your local Post Office branch.

Save time with our Drop & Go service for letters and parcels. It’s fast, free and ideal for online sellers and regular senders.

Return your unwanted online purchases at any Post Office branch.

Save time by stamping, posting and sending mail yourself at our self-service kiosks.

Find your nearest branch

Letters or parcels to send? Let’s find your local branch.

Letters or parcels to send? Let’s find your local branch.

Letters or parcels to send? Let’s find your local branch.

>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from -1) { $("#selected-location").val("").trigger('change'); } else { $("#selected-location").val(name.geometry.location.lat() + "|" + name.geometry.location.lng() + "|" + name.types[0]).trigger('change'); } }); } } ); } }); }); $('#edit-postcode-or-town').on("keypress", function (e) { var key = e.which||e.keyCode; if (key == 13) { e.preventDefault(); $(this).blur(); var defaultBounds = new google.maps.LatLngBounds( new google.maps.LatLng(49.383639452689664, -17.39866406249996), new google.maps.LatLng(59.53530451232491, 8.968523437500039)); var request = { input: $('#edit-postcode-or-town').val(), componentRestrictions: {country: 'uk'}, bounds: defaultBounds, newForwardGeocoder: true, types: ['geocode'] }; autocomplete.getPlacePredictions(request, function (predictions, status, event) { if (predictions !== null) { var request = { address: predictions[0].description, componentRestrictions: {country: 'uk'}, }; geolocation.geocode(request, function (predictions, status) { var name = predictions[0]; if (name.types.indexOf("country") > -1) { $(“#selected-location”).val(“”).trigger(‘change’); } else { $(“#selected-location”).val(name.geometry.location.lat() + “|” + name.geometry.location.lng() + “|” + name.types[0]).trigger(‘change’); getBranchResults(); } }); } } ); } }); $(‘#search-button’).click(function(event) { event.preventDefault(); if(!$(“#selected-location”).val()) { if(!$(‘#edit-postcode-or-town’).val()) { $(‘.invalid-postcode-err’).show(); return; } else { var defaultBounds = new google.maps.LatLngBounds( new google.maps.LatLng(49.383639452689664, -17.39866406249996), new google.maps.LatLng(59.53530451232491, 8.968523437500039)); var request = { input: $(‘#edit-postcode-or-town’).val(), componentRestrictions: {country: ‘uk’}, bounds: defaultBounds, newForwardGeocoder: true, types: [‘geocode’] }; autocomplete.getPlacePredictions(request, function (predictions, status, event) { if (predictions !== null) { var request = { address: predictions[0].description, componentRestrictions: {country: ‘uk’}, }; geolocation.geocode(request, function (predictions, status) { var name = predictions[0]; if (name.types.indexOf(“country”) > -1) { $(“#selected-location”).val(“”).trigger(‘change’); } else { $(“#selected-location”).val(name.geometry.location.lat() + “|” + name.geometry.location.lng() + “|” + name.types[0]).trigger(‘change’); getBranchResults(); } }); } else { $(‘.invalid-postcode-err’).show(); return; } } ); return; } } else { $(‘.invalid-postcode-err’).hide(); } getBranchResults(); }); function getBranchResults() { var products = []; if($(“#products-list input:checked”).length != 0) { $(“#products-list input:checked”).each(function(){products.push(this.value);}); } var productSelections = {“productSelections”: products} var coordinates = {“searchString”: $(“#selected-location”).val(), “productSelections”: products}; $.ajax({ type: “POST”, url: “/.rest/branch-finder/ep/branchBylatlng”, cache: false, dataType: “json”, contentType: “application/json”, async: false, data: JSON.stringify(coordinates), success: function(data) { if(data.responseCode == 1) { $(“#rest-error-msg”).empty(); $(“#rest-error-msg”).hide(); $(‘#bf-rest’).hide(); $(‘#bf-full-width .bf-full-width-container .title’).addClass(‘adjust-on-result’); $(‘.branchFinder-result’).show(); renderSearchResult(data); getBranchDetails(data); } else if (data.responseCode == 0) { $(“#rest-error-msg”).empty(); $(“#rest-error-msg”).append(data.responseBody); $(“#rest-error-msg”).show(); } }, error: function(response, errorThrown) { if(response.status != 200) { $(“#rest-error-msg”).append(“Branch finder service is not available at the moment, Please try again later.”); $(“#rest-error-msg”).show(); } } }); } function renderSearchResult(data) { var branchFinderData = new Object(); var mainBranchListArr = []; var otherBranchListArr = []; var nearbyBranches = []; var selectedProductIdsArr = []; data.responseBody.branchList.forEach(function(item, index){ var singleBranch = new Object(); singleBranch.Id = item.id; singleBranch.Name = item.name; singleBranch.Address = item.address; singleBranch.Postcode = item.postCode; singleBranch.branchAttribute =item.branchAttribute; var branchLoc = new Object(); branchLoc.Latitude = item.location.latitude; branchLoc.Longitude = item.location.longitude; singleBranch.Location = branchLoc; if(index < 5) { mainBranchListArr[index] = singleBranch; nearbyBranches.push(item.id); } else { otherBranchListArr[index] = singleBranch; } }); data.responseBody.selectedProductIds.forEach(function(item, index) { selectedProductIdsArr[index] = item; }); var searchResultData = { decodedSearchString: data.responseBody.decodedSearchString, hideBranchesText: "Hide other branches", mainBranchList : mainBranchListArr, mapCanvas: $("#ResultsMap")[0], otherBranchList : otherBranchListArr, selectedProductIds : selectedProductIdsArr, searchString: data.responseBody.searchString, selectedDate: data.responseBody.selectedDate, selectedDay: data.responseBody.selectedDay, selectedLocation: data.responseBody.selectedCoordinates, selectedTime: data.responseBody.selectedTime, showBranchesText: "Show more branches", contextPath: "", nearByBranchesList: nearbyBranches }; $(".mainBranchResultsList").empty(); data.responseBody.branchList.forEach(function(item, index){ if(index < 5) { $(".mainBranchResultsList").append( "" + "" + (index + 1) + "]]>” + “” + “” + (item.branchAttribute === ‘PSPO’ ? ‘

ParcelShop by Post Office

‘ :”) + “

” + item.name + “

” + “” + “” + “

” + item.address + “

” + “

” + item.postCode + “

” + “” + renderBranchOpeningTimings(item) + “” + “” + “” + “” + “” ); } }); if(data.responseBody.branchList.length > 5) { $(‘.otherBranchVisible’).show(); data.responseBody.branchList.forEach(function(item, index){ if(index >= 5) { $(‘#OtherBranchResultsList’).append( “” + “” + “” + “” + (item.branchAttribute === ‘PSPO’ ? ‘

ParcelShop by Post Office

‘ :”) + “

” + item.name + “

” + “” + “” + “

” + item.address + “

” + “

” + item.postCode + “

” + “” + renderBranchOpeningTimings(item) + “” + “” + “” + “” + “” ); } }); } ko.applyBindings(new searchResultsViewModel(searchResultData),document.getElementById(“branchFinder”)); } function makeMoreBranchesVisible() { if(document.getElementById(“OtherBranchResultsList”).style.display==”none”) { document.getElementById(“OtherBranchResultsList”).style.display=”block”; document.getElementById(“showMoreBranchesLink”).innerHTML=”Hide other branches”; }else { document.getElementById(“OtherBranchResultsList”).style.display=”none”; document.getElementById(“showMoreBranchesLink”).innerHTML=”Show more branches”; } } var now = new Date(); var days = [‘Sun’, ‘Mon’, ‘Tue’, ‘Wed’, ‘Thu’, ‘Fri’, ‘Sat’]; var months = [“Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”, “Jul”, “Aug”, “Sep”, “Oct”, “Nov”, “Dec”]; var currentDay = days[now.getDay()]; var currentDaySpecial = days[now.getDay()] + “, ” + months[now.getMonth()] + ” ” + now.getDate() + “, ” + now.getFullYear(); var offset = now.getTimezoneOffset(); var nowInUK; if(offset != 0) { nowInUK = now.getTime() + (offset * 60000); } var currentTimeHH = new Date(nowInUK).getHours(); var currentTimeMM = new Date(nowInUK).getMinutes(); function renderBranchOpeningTimings(item) { var openingStatus = “”; var openingTimeHH = “”; var openingTimeMM = “”; var closingTimeHH = “”; var closingTimeMM = “”; var flag = “false”; var keySpecial = “”; var hourValue; var specialDates = item.sphopeningTiming; if(!$.isEmptyObject(specialDates)) { $.each(specialDates, function(key, value) { if(currentDaySpecial == key) { flag = “true”; keySpecial = key; return; } }); } if(!$.isEmptyObject(specialDates) && flag == “true”) { hourValue = specialDates[keySpecial]; } else { var normalHours = item.openingTiming; $.each(normalHours, function(key, value) { if(currentDay == key) { hourValue = normalHours[key]; return; } }); } var totalTime = getTotalTime(hourValue); if(totalTime) { openingTimeHH = totalTime.substring(0,2); openingTimeMM = totalTime.substring(3,5); closingTimeHH = totalTime.substring(6,8); closingTimeMM = totalTime.substring(9,11); if(openingTimeHH > currentTimeHH || closingTimeHH Closed now” } else if (openingTimeHH == currentTimeHH) { if(openingTimeMM > currentTimeMM) { openingStatus = “

Closed now

” } else { openingStatus = “Open today

” + totalTime + “

” } } else if(closingTimeHH == currentTimeHH){ if(closingTimeMM Closed now” } else { openingStatus = “Open today

” + totalTime + “

” } } else { openingStatus = “Open today

” + totalTime + “

” } } else { openingStatus = “

Closed now

“; } return openingStatus; } function time(time){ if(!time){ return 24; } var hours = parseFloat(time.split(“:”)[0]); var mins = parseFloat(time.split(“:”)[1]); return hours + (mins/60); } function openingHour(hours) { return time(hours.split(“-“)[0]); } function closingHour(hours) { return time(hours.split(“-“)[1]); } function text(time) { var hour = Math.round(Math.floor(time)); var mins = Math.round(Math.floor((time % 1) * 60)); if(hour “; var mainHours = selector.attr(‘data-main’); var extendedHours = selector.attr(‘data-extended’); var lunchHours = selector.attr(‘data-lunch’); if (!_.isUndefined(mainHours) && mainHours != “” && mainHours != “null”) htmlString += “

Main Hours:  ” + mainHours + “

“; if (!_.isUndefined(extendedHours) && extendedHours != “” && extendedHours != “null”) htmlString += “

Extended Hours:  ” + extendedHours + “

“; if (!_.isUndefined(lunchHours) && lunchHours != “” && lunchHours != “null”) htmlString += “

Lunch:  ” + lunchHours + “

“; return htmlString + “”; }; function getBranchDetails(jsonObj){ globalJson = jsonObj; } function getOpeningTimeForAllDays(i){ var _openingTimeString = “”; var days = [‘Mon’,’Tue’,’Wed’,’Thu’,’Fri’,’Sat’,’Sun’]; $.each(days, function(e){ var e1 = days[e]; $.each(i.openingTiming, function(key,value){ if(key == e1 ){ if(value.regular){ hasRegular = true; } if(value.extended){ hasExtended = true; } if(value.lunchTime){ hasLunch = true; } _openingTimeString = _openingTimeString + getNormalDays(key,value,i); } }) }); return _openingTimeString; } function getNormalDays(key,_normalDay,i){ var _stringDay = “”; var _tempStr = “”; if(_normalDay.regular || _normalDay.extended){ var totalLeft = (openingHour(getTotalTime(_normalDay)) – parseFloat(i.earliestOpeningHour)) / (parseFloat(i.latestClosingHour) – parseFloat(i.earliestOpeningHour)) * 100 ; var totalWidth = (closingHour(getTotalTime(_normalDay)) – openingHour(getTotalTime(_normalDay))) / (parseFloat(i.latestClosingHour) – parseFloat(i.earliestOpeningHour)) * 100 ; var regularHoursLeft = (openingHour(_normalDay.regular) – openingHour(getTotalTime(_normalDay))) / (closingHour(getTotalTime(_normalDay)) – openingHour(getTotalTime(_normalDay))) * 100 ; var regularHoursWidth = (closingHour(_normalDay.regular) – openingHour(_normalDay.regular)) / (closingHour(getTotalTime(_normalDay)) – openingHour(getTotalTime(_normalDay))) * 100 ; if(_normalDay.lunchTime){ var lunchLeft = (openingHour(_normalDay.lunchTime) – openingHour(getTotalTime(_normalDay))) / (closingHour(getTotalTime(_normalDay)) – openingHour(getTotalTime(_normalDay))) * 100 ; var lunchWidth = (closingHour(_normalDay.lunchTime) – openingHour(_normalDay.lunchTime)) / (closingHour(getTotalTime(_normalDay)) – openingHour(getTotalTime(_normalDay))) * 100 ; }else{ var lunchLeft = 0; var lunchWidth = 0; } _tempStr = ‘‘; if(_normalDay.regular){ _tempStr = _tempStr + ” } if(lunchWidth != 0){ _tempStr = _tempStr + ” } _tempStr = _tempStr + ” + ” + ‘‘; _stringDay = ‘

‘ + ‘

‘+key+’

‘ + ‘

‘+getTotalTime(_normalDay)+’

‘ + ‘

‘ + ‘

‘ + _tempStr + ‘

‘ + ‘

‘ + ‘

‘; }else if(_normalDay.regular == null || _normalDay.extended == null){ _stringDay = ‘

‘ + ‘

‘+key+’

‘ + ‘

Closed

‘ + ‘

‘ + ‘

‘ + _tempStr + ‘

‘ + ‘

‘ + ‘

‘; } return _stringDay; } function getDefaultTextForNormal(hasRegular, hasExtended, hasLunch){ var _tempExtraText = “”; if(hasRegular){ _tempExtraText = _tempExtraText + ” + ” + ” + ‘

Main Hours

‘ + ” + ”; } if(hasExtended){ _tempExtraText = _tempExtraText + ” + ” + ” + ‘

Extended Hours

‘ + ” + ”; } if(hasLunch){ _tempExtraText = _tempExtraText + ” + ” + ” + ‘

Lunch Hours

‘ + ” + ”; } return _tempExtraText; } function getOpeningTimeForSeasonalDays(item){ var _tempSeasonalStr = “”; var specialDates = item.sphopeningTiming; if(!$.isEmptyObject(specialDates)) { $.each(specialDates, function(key, value) { if(value.regular){ hasSeasonal = true; } _tempSeasonalStr = _tempSeasonalStr + getSeasonalDays(key, value, item); }); } return _tempSeasonalStr; } function getSeasonalDays(key, _SeasonalDay, i){ var _stringDay = “”; var _tempStr = “”; if(_SeasonalDay.regular){ var totalLeft = (openingHour(getTotalTime(_SeasonalDay)) – parseFloat(i.sphearliestOpeningHour)) / (parseFloat(i.sphlatestClosingTime) – parseFloat(i.sphearliestOpeningHour)) * 100 ; var totalWidth = (closingHour(getTotalTime(_SeasonalDay)) – openingHour(getTotalTime(_SeasonalDay))) / (parseFloat(i.sphlatestClosingTime) – parseFloat(i.sphearliestOpeningHour)) * 100 ; if(_SeasonalDay.lunchTime){ var lunchLeft = (openingHour(_SeasonalDay.lunchTime) – openingHour(getTotalTime(_SeasonalDay))) / (closingHour(getTotalTime(_SeasonalDay)) – openingHour(getTotalTime(_SeasonalDay))) * 100 ; var lunchWidth = (closingHour(_SeasonalDay.lunchTime) – openingHour(_SeasonalDay.lunchTime)) / (closingHour(getTotalTime(_SeasonalDay)) – openingHour(getTotalTime(_SeasonalDay))) * 100 ; }else{ var lunchLeft = 0; var lunchWidth = 0; } _tempStr = ‘‘ + ” if(lunchWidth != 0){ _tempStr = _tempStr + ” } _tempStr = _tempStr + ” + ” + ‘‘; _stringDay = ‘

‘ + ‘

‘+key+’

‘ + ‘

‘+getTotalTime(_SeasonalDay)+’

‘ + ‘

‘ + ‘

‘ + _tempStr + ‘

‘ + ‘

‘ + ‘

‘; } return _stringDay; } function getDefaultTextForSeasonal(hasSeasonal){ var _tempExtraText = “”; if(hasSeasonal){ _tempExtraText = _tempExtraText + ” + ” + ” + ‘

Seasonal Hours

‘ + ” + ”; } return _tempExtraText; } function getNormalProductService(i){ var _tempNormalProductList = “”; $.each(i.products, function(key,value){ _tempNormalProductList = _tempNormalProductList + ”; value.forEach(function(item, index){ _tempNormalProductList = _tempNormalProductList + ” + ‘

‘+item.textInResults+’

‘; if(hasRegular && $.inArray(‘1’, item.openingTimes) != -1){ _tempNormalProductList = _tempNormalProductList + ” } if(hasExtended && $.inArray(‘4’, item.openingTimes) != -1){ _tempNormalProductList = _tempNormalProductList + ” } _tempNormalProductList = _tempNormalProductList + ” }); }); return _tempNormalProductList; } function getSeasonalProductService(i){ var _tempSeasonalProductList = “”; $.each(i.products, function(key,value){ _tempSeasonalProductList = _tempSeasonalProductList + ”; value.forEach(function(item, index){ _tempSeasonalProductList = _tempSeasonalProductList + ” + ‘

‘+item.textInResults+’

‘; if(hasSeasonal && $.inArray(‘6′, item.openingTimes) != -1){ _tempSeasonalProductList = _tempSeasonalProductList + ” } _tempSeasonalProductList = _tempSeasonalProductList + ” }); }); return _tempSeasonalProductList; } function backToSearchResults(){ $(“.branchFinder-result”).show(); $(“.branch-details”).hide(); } function retrieveNearByBranches(globalJson,branch,nearByBranches){ var finalDistance = “”; var _tempNearbyBranchesString = “”; for(var i=0;i’ + ”+finalDistance+’: ‘ + ““+i.name+”, “+i.postCode+”” + ”; } } }); } return _tempNearbyBranchesString; } function addBranchDetails(branchList, id, name, address, postcode, lat, lng) { branchList.push({ Id: id, Name: name, Location: { Latitude: lat, Longitude: lng }, Address: address, Postcode: postcode }); } function renderDetailsPageForBranch(branchId, nearByBranches) { $(“.branchFinder-result”).hide(); $(“.branch-details”).show(); var mainBranchListDetails = new Array(); var _displayNormal = “block”; var _displaySeasonal = “none”; var _tempBranch = “”; var isSeasonal = false; var isTodaySeasonalDate = false; _tempBranch = parseInt(branchId); var _tempDetailList = “”; hasRegular = false; hasExtended = false; hasLunch = false; hasSeasonal = false; globalJson.responseBody.branchList.forEach(function(i, index){ if(i.id == _tempBranch){ var specialDates = i.sphopeningTiming; if(!$.isEmptyObject(specialDates)) { isSeasonal = true; $.each(specialDates, function(key, value) { if(currentDaySpecial == key) { isTodaySeasonalDate = true; _displayNormal = “none”; _displaySeasonal = “block”; } }); } var branchDetailsMsg = ”; if($(‘#branch-details-msg’).length){ branchDetailsMsg = $(‘#branch-details-msg’).html(); } _tempDetailList = _tempDetailList + ” + ” + ” + ”; addBranchDetails(mainBranchListDetails, i.id, i.name, i.address, i.postCode, i.location.latitude, i.location.longitude); } }); $(‘#branch-details’).empty(); $(‘#branch-details’).append(_tempDetailList); if(!isSeasonal){ $(‘#SeasonalOpeningTimes’).empty(); $(‘#SeasonalOpeningTimes’).append(‘

There are currently no seasonal opening times to be displayed for this branch.

‘); } var options = { mapCanvas: $(“#BranchMap”)[0], panoramaCanvas: $(“#BranchMap”)[0], mainBranchList: mainBranchListDetails, searchString: globalJson.responseBody.searchString, decodedSearchString: globalJson.responseBody.decodedSearchString, selectedDate: globalJson.responseBody.selectedDate, selectedDay: globalJson.responseBody.selectedDay, selectedTime: globalJson.responseBody.selectedTime, selectedLocation: globalJson.responseBody.selectedCoordinates, selectedProductIdsString: ”, isSeasonalDate: isTodaySeasonalDate, contextPath: “” }; ko.cleanNode(document.getElementById(“branch-finder-details”)); getTooltip(); ko.applyBindings(new branchDetailsViewModel(options), document.getElementById(“branch-finder-details”)); currentPos = document.documentElement.scrollTop; } function resetScroll() { setTimeout(function(){ window.scrollTo(0, currentPos); }, 10); } function resetScrollBranchFinder() { setTimeout(function(){ window.scrollTo(0, $(“#bf-full-width”).offset().top); }, 10); } var currentPos; circle-outline icon calculator icon application-search icon down-arrow icon chevron-right icon

Search for a location by postcode or part of its address. We’ll fill in the gaps.

If you’ve posted something using a tracked service, find out if it’s been delivered. 

chevron-right icon down-arrow icon

Have your post forwarded to your new address with a Royal Mail Redirection.

Collect your mail from any Post Office branch while away from home with Poste Restante.

Useful links, extra information and related mails services.

Source