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. 

For the most recent trends, view our headline summary of the latest key data including visits by journey purpose and region of world, with figures updated each month.

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) }}%