Inbound tourism trends by market

Use the interactive charts below to see how tourism to the UK from different markets has evolved over recent years, as well as explore data for overseas visits, nights and spend. 

From 22 May we will be working to update all of the data and documents on this page following the Office of National Statistics (ONS) revision of the International Passenger Survey (IPS) data for 2009-2018 and the released detailed 2019 data. Please be patient as we update these pages or contact the VisitBritain research team if you have any questions- VB/VEResearch@visitbritain.org. Thank you.

Tourism trends by market

Use our interactive charts below for UK data on visits, nights, and spend, as well as filter by age, gender, journey purpose (e.g. holiday, business), season, mode of transport, length of stay and whether package/independent travel. You can also download files showing:

View our dedicated sections on UK nations, regions and counties as well as towns for data on specific locations within Britain.

Applied filters:

{{ item.title }}
Display:

Drag to change year on charts and tables.

Touch the data points to see the values.

OVERVIEW OF UK VISITOR STATISTICS {{activeYear.name}}

Number of visits

{{totalVisits | fixUnits}}

{{ totalVisitsPerc == 'Infinity' ? '-' : totalVisitsPerc >= 0 ? '+' + totalVisitsPerc.toFixed(2) + '%' : totalVisitsPerc.toFixed(2) + '%' }}

{{item.name}} {{item.data | fixUnits}}

Total expenditure (GBP)

{{totalSpend | spendUnits}}

{{ totalSpendPerc == 'Infinity' ? '-' : totalSpendPerc >= 0 ? '+' + totalSpendPerc.toFixed(2) + '%' : totalSpendPerc.toFixed(2) + '%' }}

{{item.name}} {{item.data | spendUnits}}

Total nights spent

{{totalNights | fixUnits}}

{{ totalNightsPerc == 'Infinity' ? '-' : totalNightsPerc >= 0 ? '+' + totalNightsPerc.toFixed(2) + '%' : totalNightsPerc.toFixed(2) + '%' }}

{{item.name}} {{item.data | fixUnits}}

Average length of stay (Nights)

{{avgStay.toFixed(2)}}

{{ isNaN(avgStayPerc) ? '-' : avgStayPerc >= 0 ? '+' + avgStayPerc.toFixed(2) + '%' : avgStayPerc.toFixed(2) + '%' }}

{{item.name}} {{item.data.toFixed(2)}}

Average spend per visit (GBP)

{{avgSpend | spendUnits(0, 'hideUnit')}}

{{ isNaN(avgSpendPerc) ? '-' : avgSpendPerc >= 0 ? '+' + avgSpendPerc.toFixed(2) + '%' : avgSpendPerc.toFixed(2) + '%' }}

{{item.name}} {{item.data | spendUnits(0, 'hideUnit')}}

* Change from {{Number(activeYear.name) - 1}}

{{seasonalityBox.title}}

{{yearSeasonality | spendUnits}} {{filteredDataWording ? '(Filtered total)' : '(Total)'}}

{{yearSeasonality | fixUnits}} {{filteredDataWording ? '(Filtered total)' : '(Total)'}}

Quarter {{activeDisplay}} %
{{ item.name }} {{ item.data[0] | spendUnits }} {{ item.data[0] | fixUnits }} {{ (item.data[0] * 100 / yearSeasonality).toFixed(2) }}%
{{item}} {{ seasonalityBox.data_pie.series[index] | spendUnits }} {{ seasonalityBox.data_pie.series[index] | fixUnits }} {{ (seasonalityBox.data_pie.series[index] * 100 / yearSeasonality).toFixed(2) }}%
{{item.name}} {{ item.data[index] | spendUnits }} {{ item.data[index] | fixUnits }} {{ (item.data[index] * 100 / yearSeasonality).toFixed(2) }}%

{{journeyBox.title}}

{{yearPurpose | spendUnits}} {{filteredDataWording ? '(Filtered total)' : '(Total)'}}

{{yearPurpose | fixUnits}} {{filteredDataWording ? '(Filtered total)' : '(Total)'}}

Purpose {{activeDisplay}} %
{{ item.name }} {{ item.data[0] | spendUnits }} {{ item.data[0] | fixUnits }} {{ (item.data[0] * 100 / yearPurpose).toFixed(2) }}%
{{item}} {{ journeyBox.data_pie.series[index] | spendUnits }} {{ journeyBox.data_pie.series[index] | fixUnits }} {{ (journeyBox.data_pie.series[index] * 100 / yearPurpose).toFixed(2) }}%
{{item.name}} {{ item.data[index] | spendUnits }} {{ item.data[index] | fixUnits }} {{ (item.data[index] * 100 / yearPurpose).toFixed(2) }}%

{{durationBox.title}}

{{yearDuration | spendUnits}} {{filteredDataWording ? '(Filtered total)' : '(Total)'}}

{{yearDuration | fixUnits}} {{filteredDataWording ? '(Filtered total)' : '(Total)'}}

Duration {{activeDisplay}} %
{{ item.name }} {{ item.data[0] | spendUnits }} {{ item.data[0] | fixUnits }} {{ (item.data[0] * 100 / yearDuration).toFixed(2) }}%
{{item}} {{ durationBox.data_pie.series[index] | spendUnits }} {{ durationBox.data_pie.series[index] | fixUnits }} {{ (durationBox.data_pie.series[index] * 100 / yearDuration).toFixed(2) }}%
{{item.name}} {{ item.data[index] | spendUnits }} {{ item.data[index] | fixUnits }} {{ (item.data[index] * 100 / yearDuration).toFixed(2) }}%