It’s official: Airline websites are slow, but they don’t have to be

It’s official: Airline websites are slow, but they don’t have to be
Illustration by Jeffrey Phillips
Ben Schwarz

Ben Schwarz

September 14, 2026

In this article

Qatar Airways was voted the world’s best airline in 2025. Its booking site ranks 79th. Cathay Pacific, a five-star carrier, ranks last of all.

A single flight booking is about twenty interactions: origin, destination, dates, passengers, fare class, seat map, bags, extras, then payment.

I used Cathay’s site recently and felt all 1.4 seconds of interaction delay first hand. Click the wrong thing and you wait, and regret, until it resolves. Coupled with slow page loads, you’re in for a lengthy session with lots of waiting.

So if booking a flight has always felt like a slog — it isn’t your imagination.

Airline websites are slow. 95% of them fail Google’s Core Web Vitals on mobile.

What was analysed#

Using Airline Website Speed Benchmark data, I studied 111 of the world’s top airlines — pulling real-user Core Web Vitals (CWV) data from the Chrome UX Report, cross referenced with if they passed Google’s site speed ranking assessment, Skytrax service rankings, and the technology stack behind each site.

This study used direct booking engine URLs where available (e.g. book.qantas.com.au not www.qantas.com.au), with the aim of capturing a better understanding of the UX of their core business path.

This avoided capturing metrics for static content pages and FAQs, although in some cases they may be included within the dataset, depending on the site.

Why study airline websites?#

Airline reservation systems are notoriously complex, and usually involve third party booking and reservation systems, like Amadeus or Sabre, which power a significant portion of the industry.

Flight and seat availability is often calculated in real-time, and must reflect current availability and pricing. Serving hundreds of millions of passengers globally each year. It’s the perfect storm when it comes to web perf.

Aggregator sites like Google Flights or Kayak don’t offer real-time quotes, so they’re able to use extensive data caching to achieve near-instant results — That’s also why the price you thought you were going to pay is often no-longer available.

With those details aside, let’s get into some observations:

95% of airline websites fail Core Web Vitals#

Most sites fail Google’s Core Web Vitals assessment, and in a lot of cases: all three underlying CWV metrics.

On the whole, only 5 websites pass criteria on mobile, among them Frontier and Ryanair, both render quickly and respond to interactions in 175ms or less. Outside of a few bright lights, the results are brutal.

Only 5 airline sites pass on mobile Pass (5 sites) Fail (104 sites)
Chrome UX Report field data, August 2026.

Desktops have a marginally better experience compared to mobile devices, but both point to a systemic problem across the industry, not just a few outliers.

Grouping by each metric, pass rates are poor across the board. Only 15% of sites have interactions under 200ms on mobile.

Core Web VitalMobile pass rateDesktop pass rate
Largest Contentful Paint (LCP)24% (26)32% (36)
Cumulative Layout Shift (CLS)45% (49)43% (48)
Interaction to Next Paint (INP)15% (16)60% (66)
Overall pass rate5% (5)13% (14)

Sorting sites by each Core Web Vitals metric, we can see LCP and INP performance ranged from needs-improvement to poor, while CLS is a wider spread.

Largest Contentful Paint81759592110702.50s4.00s10.60s1 airline (1.00s): Tianjin Airlines1 airline · 1.00s8 airlines (1.80s–2.10s): Air Transat, Norwegian, Eastar Jet, JetSMART, Austrian Airlines, Bangkok Airways +2 more8 airlines · 1.80s–2.10s17 airlines (2.20s–2.50s): Frontier Airlines, Air New Zealand, Citilink, Ryanair, SAS Scandinavian, Vietnam Airlines +11 more17 airlines · 2.20s–2.50s5 airlines (2.60s–2.70s): Corsair, STARLUX Airlines, LOT Polish Airlines, flynas, Eurowings5 airlines · 2.60s–2.70s9 airlines (2.80s–2.90s): Xiamen Airlines, Porter Airlines, Emirates, JetBlue, Condor, Asiana Airlines +3 more9 airlines · 2.80s–2.90s4 airlines (3.00s–3.10s): Transavia, Royal Air Maroc, Iberia, ITA Airways4 airlines · 3.00s–3.10s3 airlines (3.20s–3.30s): TUI Airways, Malaysia Airlines, Qatar Airways3 airlines · 3.20s–3.30s3 airlines (3.40s–3.50s): EVA Air, Delta Air Lines, IndiGo3 airlines · 3.40s–3.50s5 airlines (3.60s–3.70s): Hainan Airlines, Spring Airlines, RwandAir, AirAsia, Allegiant Air5 airlines · 3.60s–3.70s9 airlines (3.80s–4.00s): British Airways, Singapore Airlines, Airlink, Air China, Copa Airlines, Ethiopian Airlines +3 more9 airlines · 3.80s–4.00s21 airlines (4.10s–4.90s): Aegean Airlines, flydubai, Breeze Airways, Alaska Airlines, Peach Aviation, KLM +15 more21 airlines · 4.10s–4.90s10 airlines (5.00s–5.80s): Azerbaijan Airlines, Thai Airways, American Airlines, Korean Air, FlySafair, China Eastern +4 more10 airlines · 5.00s–5.80s7 airlines (6.00s–6.70s): SpiceJet, Air India Express, China Southern, Aeromexico, Jetstar, Azul Brazilian Airlines +1 more7 airlines · 6.00s–6.70s3 airlines (7.10s–7.50s): airBaltic, SriLankan Airlines, Hawaiian Airlines3 airlines · 7.10s–7.50s1 airline (8.30s): TAP Air Portugal1 airline · 8.30s3 airlines (10.10s–10.60s): GOL Airlines, Cebu Pacific, Cathay Pacific3 airlines · 10.10s–10.60s Interaction to Next Paint1113145137515850200ms500ms1.85s1 airline (0ms): Tianjin Airlines1 airline · 0ms1 airline (125ms): Spring Airlines1 airline · 125ms3 airlines (150ms): Frontier Airlines, Xiamen Airlines, Air New Zealand3 airlines · 150ms11 airlines (175ms–200ms): Hainan Airlines, Ryanair, Norwegian, SAS Scandinavian, airBaltic, Eastar Jet +5 more11 airlines · 175ms–200ms2 airlines (225ms): Citilink, Air China2 airlines · 225ms13 airlines (250ms–275ms): Corsair, Air Transat, Swiss International, TUI Airways, Airlink, Delta Air Lines +7 more13 airlines · 250ms–275ms14 airlines (300ms–325ms): Vietnam Airlines, Transavia, Icelandair, All Nippon Airways, South African Airways, Austrian Airlines +8 more14 airlines · 300ms–325ms5 airlines (350ms): JetBlue, STARLUX Airlines, Lufthansa, American Airlines, Allegiant Air5 airlines · 350ms13 airlines (375ms–400ms): Air Astana, Singapore Airlines, Asiana Airlines, EasyJet, Aegean Airlines, Air India +7 more13 airlines · 375ms–400ms7 airlines (425ms–450ms): JetSMART, Malaysia Airlines, Pegasus Airlines, Peach Aviation, Turkish Airlines, Garuda Indonesia +1 more7 airlines · 425ms–450ms5 airlines (475ms–500ms): Iberia, Brussels Airlines, Vietravel Airlines, Thai Airways, Vueling5 airlines · 475ms–500ms15 airlines (525ms–675ms): China Airlines, Emirates, flynas, SriLankan Airlines, Copa Airlines, Eurowings +9 more15 airlines · 525ms–675ms8 airlines (700ms–850ms): EgyptAir, Royal Air Maroc, EVA Air, Ethiopian Airlines, AirAsia, VietJet Air +2 more8 airlines · 700ms–850ms3 airlines (900ms–950ms): Kenya Airways, Etihad Airways, Air France3 airlines · 900ms–950ms5 airlines (1.18s–1.23s): RwandAir, Wizz Air, Air India Express, GOL Airlines, Saudia5 airlines · 1.18s–1.23s2 airlines (1.40s): TAP Air Portugal, Cathay Pacific2 airlines · 1.40s1 airline (1.85s): Air Arabia1 airline · 1.85s Cumulative Layout Shift251410146689700.100.251.0525 airlines (0): Tianjin Airlines, Frontier Airlines, Xiamen Airlines, Air New Zealand, Citilink, Hainan Airlines +19 more25 airlines · 014 airlines (0.05): Ryanair, Corsair, SAS Scandinavian, Spring Airlines, Vietnam Airlines, British Airways +8 more14 airlines · 0.0510 airlines (0.10): Icelandair, JetSMART, Finnair, JetBlue, Airlink, Breeze Airways +4 more10 airlines · 0.1014 airlines (0.15): Norwegian, Eastar Jet, All Nippon Airways, STARLUX Airlines, LOT Polish Airlines, Condor +8 more14 airlines · 0.156 airlines (0.20): South African Airways, Swiss International, Eurowings, China Southern, China Eastern, Avianca6 airlines · 0.206 airlines (0.25): Austrian Airlines, Iberia, Brussels Airlines, KLM, Wizz Air, Etihad Airways6 airlines · 0.258 airlines (0.30–0.35): Bangkok Airways, Lufthansa, TUI Airways, Air China, ITA Airways, Saudia +2 more8 airlines · 0.30–0.359 airlines (0.40–0.45): Porter Airlines, Delta Air Lines, IndiGo, American Airlines, Korean Air, Southwest Airlines +3 more9 airlines · 0.40–0.454 airlines (0.50–0.55): Aer Lingus, EasyJet, Alaska Airlines, Jetstar4 airlines · 0.50–0.557 airlines (0.60–0.70): Virgin Atlantic, United Airlines, Allegiant Air, Air France, Vueling, Norse Atlantic Airways +1 more7 airlines · 0.60–0.701 airline (0.75): Qantas1 airline · 0.754 airlines (0.85–0.90): Garuda Indonesia, Volaris, Azul Brazilian Airlines, Hawaiian Airlines4 airlines · 0.85–0.901 airline (1.05): TAP Air Portugal1 airline · 1.05

Many performance experts have been calling for stricter Core Web Vitals thresholds, as they’re seen as too lenient. The data here shows that even with the current thresholds, airlines are failing to meet them.

The world’s “best” airlines have the slowest websites#

You might assume the most prestigious airlines have the best websites. Data says the opposite. All 10 of the Skytrax top-rated airlines fail Core Web Vitals, and rank poorly on our airline benchmark leaderboard.

Service rank does not predict website speed Skytrax service rank Benchmark rank Qatar Airways #1 #79 Singapore Airlines #2 #31 Cathay Pacific #3 #109 Emirates #4 #28 All Nippon Airways #5 #20 Turkish Airlines #6 #78 Korean Air #7 #82 Air France #8 #95 Japan Airlines #9 #106 Hainan Airlines #10 #6
Skytrax World Airline Awards 2025 service rank (left) against each airline’s overall benchmark ranking (right). Lines that plunge downward mean poor performance. All ten fail Core Web Vitals on mobile and on desktop.

450M+ passengers flew with the top 10 Skytrax airlines in 2025, most of them faced frustrating and slow experiences when booking flights online.

AirlineYearly PassengersUX RatingLCPCLSINP
Qatar Airways41M503.20sec0.15525ms
Singapore Airlines27M643.80sec0.00375ms
Cathay Pacific28M1710.60sec0.451.40sec
Emirates53M652.80sec0.00525ms
ANA54M692.20sec0.15300ms
Turkish Airlines92M504.40sec0.10425ms
Korean Air25M495.10sec0.40375ms
Air France42M434.40sec0.60950ms
Japan Airlines46M304.70sec0.15625ms
Hainan Airlines70M793.60sec0.00175ms

Qatar Airways, voted the World’s Best Airline for 2025, ranks 79th for combined Core Web Vitals performance.

Cathay Pacific, a five-star carrier, ranks dead last, and has the single slowest site of the lot: a Largest Contentful Paint of 10.6 seconds and Interaction to Next Paint of 1.4 seconds on mobile.

Delayed interactivity on mobile#

As expected, interactions are worse on mobile. 85% of sites do not respond to user input within 200ms, failing to meet Google’s recommended threshold for a good user experience.

Share of airline sites failing each metric Mobile Desktop 025507510076%68%85%40%55%57%LCPINPCLS
Failure rate of each Core Web Vital, mobile versus desktop. 85% of sites fail INP for mobile.

Picture that in a real booking. One booking is a run of twenty-odd interactions: origin, destination, dates, passengers, fare class, seat map, bags, extras, then payment.

On the worst site of all, Air Arabia, P75 mobile interactions are 1.85 seconds. On desktop, Cathay Pacific is 900ms.

The slowest airline sites, mobile INP 200ms500ms Air ArabiaTAP Air PortugalCathay PacificWizz AirRwandAirAir India Express1.85s1.40s1.40s1.23s1.20s1.18s
The six slowest airline sites by Interaction to Next Paint, against Google’s 200ms (good) and 500ms (poor) thresholds. On mobile, Air Arabia reaches 1.85s.

The slowest of interactions are seemingly blocked by server responses or other dynamic data that block paint.

Interactions can be mapped directly to elements and scripts, so it’s possible to track slow interactions that most frustrate users.

Calibre’s RUM Slow interactions panel shows the overall worst impacting interactions, so they’re easy to prioritise.

Calibre’s RUM Slow interactions panel shows the overall worst impacting interactions, so they’re easy to prioritise.

Slow server response times (Time to First Byte)#

With a slow server, each navigation introduces a delay before the page renders. Airlines do not fare well here either.

Time to First Byte (TTFB) shows a broad range, from Aer Lingus and Eastar Jet’s 300 milliseconds to Air India Express’s 5.5 seconds. A slow TTFB guarantees delayed page navigations.

Time to First Byte5879141212107580800ms1.80s5.50s2 airlines (300ms): Vietravel Airlines, TAP Air Portugal2 airlines · 300ms5 airlines (359ms–420ms): Ryanair, Eastar Jet, Aer Lingus, Wizz Air, Garuda Indonesia5 airlines · 359ms–420ms8 airlines (458ms–564ms): Citilink, Norwegian, JetBlue, Scoot, Korean Air, Aeromexico +2 more8 airlines · 458ms–564ms7 airlines (590ms–684ms): SAS Scandinavian, Delta Air Lines, Iberia, Brussels Airlines, SpiceJet, Azerbaijan Airlines +1 more7 airlines · 590ms–684ms9 airlines (700ms–781ms): Austrian Airlines, Aegean Airlines, Malaysia Airlines, Breeze Airways, IndiGo, Air Canada +3 more9 airlines · 700ms–781ms14 airlines (803ms–942ms): EgyptAir, All Nippon Airways, South African Airways, Swiss International, JetSMART, Bangkok Airways +8 more14 airlines · 803ms–942ms12 airlines (946ms–1.06s): Air Transat, China Airlines, LOT Polish Airlines, Lufthansa, TUI Airways, flynas +6 more12 airlines · 946ms–1.06s12 airlines (1.09s–1.17s): Tianjin Airlines, Air New Zealand, Copa Airlines, Eurowings, Virgin Atlantic, Etihad Airways +6 more12 airlines · 1.09s–1.17s10 airlines (1.23s–1.37s): Frontier Airlines, Vietnam Airlines, Icelandair, Airlink, SriLankan Airlines, Kenya Airways +4 more10 airlines · 1.23s–1.37s7 airlines (1.37s–1.51s): Xiamen Airlines, British Airways, Porter Airlines, Finnair, Royal Air Maroc, EVA Air +1 more7 airlines · 1.37s–1.51s5 airlines (1.54s–1.63s): Spring Airlines, Emirates, flydubai, Peach Aviation, KLM5 airlines · 1.54s–1.63s2 airlines (1.69s–1.70s): Corsair, Air Arabia2 airlines · 1.69s–1.70s8 airlines (1.83s–2.25s): Hainan Airlines, Transavia, Air Astana, Singapore Airlines, Air China, Ethiopian Airlines +2 more8 airlines · 1.83s–2.25s3 airlines (2.39s–2.64s): Oman Air, Qantas, Cathay Pacific3 airlines · 2.39s–2.64s2 airlines (3.20s–3.21s): RwandAir, China Southern2 airlines · 3.20s–3.21s2 airlines (3.90s): airBaltic, Jetstar2 airlines · 3.90s1 airline (5.50s): Air India Express1 airline · 5.50s The slowest airline sites, mobile TTFB 800ms1.80s Air India ExpressairBalticJetstarRwandAirChina SouthernCathay Pacific5.50s3.90s3.90s3.20s3.00s2.60s
Time to First Byte across all airlines, and the six slowest sites, against Google’s 800ms (good) and 1.8s (poor) thresholds. On mobile, Air India Express reaches 5.5 seconds.

So why are airline websites so bad?#

Namely, there are four reasons:

Poorly implemented UI#

Slow loading pages, layout shifts and delayed interactivity. In most cases, simple optimisations could fix the majority of issues.

Dynamic content is often accompanied with poorly constructed skeleton loading states. One click can lead to a page lockup (INP), which triggers a skeleton loader that disorients the user as the page shifts (CLS), followed by a long delay for content to appear (LCP).

Even if you can’t make the page fast (without significant restructuring), you can stop it from shifting awkwardly.

In some cases, UI elements increase in size, or expand to show more information using sub-standard JavaScript animation from a bygone era.

Many of these custom elements can be replaced with web platform native elements, like <details>, <dialog> or popover , which can be styled with CSS, complete with hardware accelerated animation that can be turned on or off with user-preferences.

Forms are also often low quality due to poor quality custom elements that are awkward to use and less accessible too.

Interactions are blocked by server requests#

Every interaction, from selecting a date to choosing a seat, requires a round trip to the server to check availability and pricing. Those requests should not block the main thread or paint, but they do.

For a date picker, this can mean that the page feels unresponsive for several seconds, both before and after you interact with it.

Poorly optimised booking searches#

Most airlines use third-party booking engines, but two sites running the same engine can feel completely different. I collected the data to prove it.

A handful of booking engine vendors run almost everything: Amadeus is behind about two-thirds of the sites. They have multiple products, like Altéa for the full-service carriers and Navitaire for the low-cost ones.

Sabre runs much of the rest, with a smattering of in-house systems and China’s national TravelSky platform making up the remainder.

TTFB grouped by booking vendorGood (under 800ms)Needs improvementPoor (over 1.8s)Amadeus (71)Sabre (12)Built in-house (19)TravelSky (6)0s1s2s3sTAP Air Portugal — 300msTAP Air Portugal · 300msGaruda Indonesia — 400msGaruda Indonesia · 400msRyanair — 400msRyanair · 400msWizz Air — 400msWizz Air · 400msNorwegian — 500msNorwegian · 500msKorean Air — 500msKorean Air · 500msPhilippine Airlines — 500msPhilippine Airlines · 500msScoot — 500msScoot · 500msCitilink — 500msCitilink · 500msIberia — 600msIberia · 600msSAS Scandinavian — 600msSAS Scandinavian · 600msBrussels Airlines — 600msBrussels Airlines · 600msSpiceJet — 600msSpiceJet · 600msMalaysia Airlines — 700msMalaysia Airlines · 700msAir Canada — 700msAir Canada · 700msAustrian Airlines — 700msAustrian Airlines · 700msAegean Airlines — 700msAegean Airlines · 700msIndiGo — 700msIndiGo · 700msBreeze Airways — 700msBreeze Airways · 700msAllegiant Air — 700msAllegiant Air · 700msNorse Atlantic Airways — 700msNorse Atlantic Airways · 700msJapan Airlines — 800msJapan Airlines · 800msSouthwest Airlines — 800msSouthwest Airlines · 800msAll Nippon Airways — 800msAll Nippon Airways · 800msAir India — 800msAir India · 800msSTARLUX Airlines — 800msSTARLUX Airlines · 800msVolaris — 800msVolaris · 800msCebu Pacific — 800msCebu Pacific · 800msJetSMART — 800msJetSMART · 800msSwiss International — 900msSwiss International · 900msSouth African Airways — 900msSouth African Airways · 900msEgyptAir — 900msEgyptAir · 900msBangkok Airways — 900msBangkok Airways · 900msflynas — 900msflynas · 900msQatar Airways — 1.00sQatar Airways · 1.00sLufthansa — 1.00sLufthansa · 1.00sLOT Polish Airlines — 1.00sLOT Polish Airlines · 1.00sChina Airlines — 1.00sChina Airlines · 1.00sITA Airways — 1.00sITA Airways · 1.00sAsiana Airlines — 1.00sAsiana Airlines · 1.00sTUI Airways — 1.00sTUI Airways · 1.00sEurowings — 1.00sEurowings · 1.00sSaudia — 1.10sSaudia · 1.10sAvianca — 1.10sAvianca · 1.10sAir France — 1.10sAir France · 1.10sEtihad Airways — 1.10sEtihad Airways · 1.10sAirAsia — 1.10sAirAsia · 1.10sAzul Brazilian Airlines — 1.10sAzul Brazilian Airlines · 1.10sVietnam Airlines — 1.20sVietnam Airlines · 1.20sKenya Airways — 1.20sKenya Airways · 1.20sThai Airways — 1.20sThai Airways · 1.20sAirlink — 1.20sAirlink · 1.20sFrontier Airlines — 1.20sFrontier Airlines · 1.20sIcelandair — 1.30sIcelandair · 1.30sSriLankan Airlines — 1.30sSriLankan Airlines · 1.30sVueling — 1.30sVueling · 1.30sPorter Airlines — 1.30sPorter Airlines · 1.30sFinnair — 1.40sFinnair · 1.40sRoyal Air Maroc — 1.40sRoyal Air Maroc · 1.40sBritish Airways — 1.50sBritish Airways · 1.50sKLM — 1.50sKLM · 1.50sEVA Air — 1.50sEVA Air · 1.50sPeach Aviation — 1.60sPeach Aviation · 1.60sAir Astana — 1.80sAir Astana · 1.80sSingapore Airlines — 1.90sSingapore Airlines · 1.90sTransavia — 1.90sTransavia · 1.90sQantas — 2.50sQantas · 2.50sCathay Pacific — 2.60sCathay Pacific · 2.60sRwandAir — 3.20sRwandAir · 3.20sJetstar — 3.90sJetstar · 3.90sAir India Express — 5.50sAir India Express · 5.50sJetBlue — 400msJetBlue · 400msAeromexico — 500msAeromexico · 500msGOL Airlines — 500msGOL Airlines · 500msGulf Air — 700msGulf Air · 700msCopa Airlines — 1.10sCopa Airlines · 1.10sLATAM Airlines — 1.30sLATAM Airlines · 1.30sAlaska Airlines — 1.50sAlaska Airlines · 1.50sflydubai — 1.60sflydubai · 1.60sAmerican Airlines — 1.80sAmerican Airlines · 1.80sEthiopian Airlines — 1.80sEthiopian Airlines · 1.80sHawaiian Airlines — 2.00sHawaiian Airlines · 2.00sOman Air — 2.30sOman Air · 2.30sAer Lingus — 300msAer Lingus · 300msEastar Jet — 300msEastar Jet · 300msVietravel Airlines — 300msVietravel Airlines · 300msDelta Air Lines — 500msDelta Air Lines · 500msVietJet Air — 500msVietJet Air · 500msAzerbaijan Airlines — 600msAzerbaijan Airlines · 600msTurkish Airlines — 800msTurkish Airlines · 800msUnited Airlines — 800msUnited Airlines · 800msEasyJet — 900msEasyJet · 900msPegasus Airlines — 1.00sPegasus Airlines · 1.00sCondor — 1.00sCondor · 1.00sAir Transat — 1.00sAir Transat · 1.00sVirgin Atlantic — 1.10sVirgin Atlantic · 1.10sAir New Zealand — 1.10sAir New Zealand · 1.10sFlySafair — 1.30sFlySafair · 1.30sSpring Airlines — 1.60sSpring Airlines · 1.60sEmirates — 1.60sEmirates · 1.60sAir Arabia — 1.70sAir Arabia · 1.70sCorsair — 1.70sCorsair · 1.70sChina Eastern — 1.10sChina Eastern · 1.10sTianjin Airlines — 1.10sTianjin Airlines · 1.10sXiamen Airlines — 1.40sXiamen Airlines · 1.40sAir China — 1.90sAir China · 1.90sHainan Airlines — 2.10sHainan Airlines · 2.10sChina Southern — 3.00sChina Southern · 3.00s
Time to First Byte, grouped by the company behind each reservation system. Most vendors carry both fast and slow airlines; the spread within a vendor dwarfs the gap between them.

Ryanair is powered by Amadeus’ Navitaire product, and it’s one of the fastest sites in the benchmark. Cathay Pacific is powered by another Amadeus product, and it’s the slowest by quite a margin.

Not enough caching, not enough restraint#

While real-time data is essential for a booking, and caching has been jokingly coined as one of the hardest problems in computer science, there are many opportunities to cache more aggressively.

HTML responses should either be fully cached, or delivered in under half a second.

Booking engine requests should be asynchronous, and should only include the exact data needed for the interaction.

If a single click can make dozens of requests to the booking engine, you have a problem. If those requests are not asynchronous, there’s one slow lookup, the user waits.

Are Airlines leaving scary amounts of money on the table?#

In a word, yes. Shopify found in a recent study, that stores at 2.5 second LCP convert about 30% lower than stores at 1.5 seconds. One second.

Slow interactions cost too: every 32ms of INP is worth another 1.5% of conversions.

Run the numbers for any large carrier and there’s potentially billions of dollars to optimise, with a B. Cathay took HK$72.5 billion in passenger revenue last year. Reducing 10.2 seconds of LCP to 3 could do wonders for their bottom line, and customer sentiment.

While airlines likely have different market dynamics than general e-commerce, like price, route availability, and loyalty programs, the principles are no doubt the same: a slow website is a liability for customers.

All multi-billion-dollar companies, all with the same problem: a slow website that frustrates customers and leaks revenue. There’s money to be made here.

Every airline is judged by service. The booking site is a passengers first step — and in most cases, the worst part of the journey.

What this means for everyone else#

Airlines are a fun case to explore, but the pattern lives anywhere conversion meets marketing: retail, banking and travel all look similar under the bonnet.

Like most performance problems, the solution is to focus on the fundamentals. The first step is to measure, and then to act on the data.

  • Monitor performance metrics for your site.
  • Find the highest-traffic pages and optimise them first.
  • Audit API calls and third-party scripts, and remove any that are unnecessary.
  • HTTP Cache is extremely effective for improving performance, and should be used wherever possible.
  • Data should be fetched asynchronously, and should never block users for more than a few hundred milliseconds.
  • Poorly implemented skeleton loaders will haunt your dreams. Ensure layouts are stable.

By following these principles, and always focusing on fixing the next worst-performing page or single interaction, you can make a measurable difference to your site’s performance, and the experience of your users. Higher conversion rates will follow.

Awards and shout-outs#

Frontier Airlines topped our Airline industry benchmark leaderboard with excellent performance on Mobile and Desktop. In the last 9 months they’ve trimmed from 3.29 seconds LCP to 2.60 seconds, while also reducing CLS and TTFB. Big improvements are great, but that doesn’t mean that small improvements landing every couple of weeks aren’t worth it. Small improvements add up, kudos to the team for delivering on that.

Ryanair performs very well across the board. I wrote about Ryanair’s website redesign performance back in 2015, right after it launched. It had a few performance issues that I’d noticed at the time, and the team went ahead and tidied those up.

In the decade the followed, the Ryanair labs team have had an obvious dedication to continuous improvement when it comes to performance and user-experience.

Finally, Hainan Airlines is the only Skytrax top ten site in our benchmark to rank well for performance.

Conclusion#

While the numbers presented in this report are sobering, some airlines are doing it right. Frontier and Ryanair have fast, responsive websites that pass Core Web Vitals and provide a good user experience.

It’s possible to build a fast, responsive airline website, but it requires a focus on performance and user experience, as well as a willingness to continually monitor and improve the site over time. Fixing a big website takes time, the best time to start is now.

Monitor real-user session performance with Calibre, free for 15 days.

Ben Schwarz

Ben Schwarz

Ben is the Founder and CEO of Calibre. He uses his experience in far-reaching Open Source projects and web standards to build tools for a better, more accessible web. Find him on Bluesky Mastodon or LinkedIn.