1
At a glance the headline numbers for JS libraries impact
Performance impact by framework provider.
11
Providers ranked
After min-sites filter
12,079
Sites in sample
Combined across all items
127ms
Best INP (p75)
Owl Carousel
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
2
The ranking sorted by INP at p75, fastest first
| # | Provider | INP p75 | Passing | Sites | |
|---|---|---|---|---|---|
| 1 | Owl Carousel | 127ms | 96.3% | 166 | |
| 2 | Lodash | 132ms | 94.2% | 896 | |
| 3 | Lazysizes | 137ms | 93.5% | 1,720 | |
| 4 | GSAP | 139ms | 93.8% | 182 | |
| 5 | Moment.js | 139ms | 95.4% | 151 | |
| 6 | Slick Carousel | 140ms | 92.0% | 794 | |
| 7 | Flickity | 141ms | 93.4% | 1,551 | |
| 8 | jQuery | 144ms | 92.3% | 3,185 | |
| 9 | Vue.js | 153ms | 91.2% | 933 | |
| 10 | Swiper | 163ms | 87.5% | 1,535 | |
| 11 | Lit | 163ms | 89.0% | 966 |
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
3
Passing INP per provider which group passes the INP most often
ProviderSitesPassing INPp75
React 0.1% 7 95ms
Angular 0.1% 7 170ms
Owl Carousel 2% 166 127ms
Moment.js 1.8% 151 139ms
Lodash 10.9% 896 132ms
GSAP 2.2% 182 139ms
lazysizes 20.9% 1,720 137ms
Flickity 18.8% 1,551 141ms
jQuery 38.6% 3,185 144ms
Slick Carousel 9.6% 794 140ms
Vue.js 11.3% 933 153ms
Lit 11.7% 966 163ms
Swiper 18.6% 1,535 163ms
Good Needs Improvement Poor Sorted best-passing first · median colored by its own rating · pass = good INP (200ms at p75) · one value per site
96% of Owl Carousel sites pass INP. Swiper trails 8 points behind. computed
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
4
All five vitals at once the whole category without toggling - cell is the pass rate, small number the p75
LCP
INP
CLS
FCP
TTFB
jQuery 38.6%
931.9s
92144ms
910.03
931.3s
95531ms
lazysizes 20.9%
922.0s
94137ms
890.03
931.3s
96519ms
Flickity 18.8%
931.9s
93141ms
920.02
931.2s
95530ms
Swiper 18.6%
931.9s
88163ms
920.03
931.3s
94555ms
Lit 11.7%
941.9s
89163ms
920.03
941.3s
97538ms
Vue.js 11.3%
941.8s
91153ms
900.03
961.2s
96542ms
Lodash 10.9%
931.8s
94132ms
910.03
921.2s
96508ms
Slick Carousel 9.6%
912.0s
92140ms
900.03
941.3s
96513ms
GSAP 2.2%
951.8s
94139ms
980.01
951.2s
93532ms
Owl Carousel 2%
912.0s
96127ms
830.08
891.3s
90524ms
Moment.js 1.8%
931.9s
95139ms
880.03
901.3s
95540ms
React 0.1%
1001.4s
10095ms
1000.01
100839ms
100450ms
Angular 0.1%
1001.9s
100170ms
830.05
1001.2s
100467ms
60%95%+ passing Cell: pass rate, small number = p75 · faded rows: under 100 sites
One row per provider, one column per vital - the cell is the share of sites passing, the small number the p75. No toggling needed to see where the category actually differs.
Owl Carousel leads on INP: 96% of its sites pass. Swiper trails at 88%. computed
The State of Web Vitals · October 2026 · Shopify sites (8,248) · phone field datacorewebvitals.io/state-of-cwv
Related signals A/B testing (12) → Personalization (6) → E-commerce (17) → CDN (16) → 203,892 crawled sites with Chrome field data, representing millions of real page loads · How we measured
203,892 crawled sites with Chrome field data, representing millions of real page loads. How we measured.