1<!DOCTYPE html><!-- Last Published: Thu Oct 01 2026 18:27:39 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="wearerival.webflow.io" data-wf-page="6a82ef693ae3f9d14eb954a1" data-wf-site="633a925bb365d583ba64f172" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Rival 50 â The Top Challenger Brands of 2026</title><meta content="The Rival 50 identifies brands that challenge convention, move culture and create outsized impact on their growth." name="description"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/css/wearerival.webflow.shared.4ae75f5e6.css" rel="stylesheet" type="text/css" integrity="sha384-SudfXm1+plVgqlJu0n7dsNu5Hq8qzj8qY8PnLzux9KjyqxsMkEKvE/NFsMpPcCQh" crossorigin="anonymous"/>
1<script src="https://use.typekit.net/tkb1ded.js" type="text/javascript"></script>
1<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/65ae3d981febf1335196a678_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/65ae3d9e19f5f2827152a87f_webclip.png" rel="apple-touch-icon"/><!-- Google Tag Manager -->
2<script>
vendor: 327 bytes, lines 2-6
2(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 3new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 4j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 5'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 6})(window,document,'script','dataLayer','
6GTM-T3LR6FL
vendor: 3 bytes, line 6
6');
6</script>
6 7<!-- End Google Tag Manager --> 8 9<!-- Sopro integration -->
10<script type="fs-cc"> 11 (function (o, u, t, b, a, s, e) { 12 window[b] = window[b] || {}; (e = e || [])['key'] = o; e['__obr'] = u.location.href; a = []; 13 u.location.search.replace('?', '').split('&').forEach(function (q) { if (q.startsWith(b) || q.startsWith('_obid')) e[q.split('=')[0]] = q.split('=')[1]; }); 14 e['_obid'] = e['_obid'] || (u.cookie.match(/(^|;)\s*_obid\s*=\s*([^;]+)/) || []).pop() || 0; 15 for (k in e) { if (e.hasOwnProperty(k)) a.push(encodeURIComponent(k) + '=' + encodeURIComponent(e[k])); } 16 s = u.createElement('script'); s.src = t + '?' + a.join('&'); u.head.appendChild(s); 17 })('cc28e23b-1fa8-40e3-9678-8daf5470eadf', document, 'https://plugin.sopro.io/hq.js', 'outbase') 18</script>
18 19 20<!-- Finsweet Cookie Consent -->
21<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-out"></script>
21 22 23<!-- 1. Import the @botpoison/browser script -->
24<script src="https://unpkg.com/@botpoison/browser" async></script>
24 25 26<!-- Programatic Function Loading -->
27<script> 28(function(global){global.pageFunctions=global.pageFunctions||{executed:{},functions:{},addFunction:function(id,fn){if(!this.functions[id])this.functions[id]=fn},executeFunctions:function(){if(this.added)return;this.added=true;for(const id in this.functions){if(!this.executed[id]){try{this.functions[id]();this.executed[id]=true}catch(e){console.error(`Error executing function ${id}:`,e)}}}}}})(window); 29</script>
29 30 31<!-- OPEN ALL EXTERNAL LINKS IN A NEW TAB -->
32<script> 33document.addEventListener('DOMContentLoaded', function() { 34 const links = document.getElementsByTagName('a'); 35 for (let link of links) { 36 if (link.hostname !== window.location.hostname) { 37 link.target = '_blank'; 38 link.rel = 'noopener noreferrer'; // Security measure 39 } 40 } 41}); 42</script>
42 43 44<style> 45[data-split-line] { 46 visibility: hidden; 47 width: 100%; 48 } 49.split-line { 50 /*display: block;*/ 51 will-change: transform, opacity; 52 backface-visibility: hidden; 53 -webkit-font-smoothing: antialiased; 54 display: inline-block; /* Ensures proper transformation */ 55 transform-origin: left center; 56 } 57[data-split-line] > div { 58 width: 100%; 59 } 60 61[data-split-line] { 62 transform-style: preserve-3d; 63 perspective: 800px; /* Matches the GSAP value */ 64} 65 66</style> 67 68<!-- Anchor-link offset: keep in-page targets clear of the fixed nav (94px) 69 and, on sections that need it, the announcement bar. --> 70<style> 71html { scroll-padding-top: 110px; } 72</style> 73 74<!-- Sunday Times announcement banner disabled 2026-09-10: as a 172px fixed bar at 75 z-index 300 it covered the 94px nav (z-index 100) and swallowed every nav click. 76 Remove this rule to bring it back, but fix the stacking first. --> 77<style> 78#pop-up-wrapper { display: none !important; } 79</style> 80</head><body><section class="r50-nav"><a href="/rival50" aria-current="page" class="r50-nav-logolink w-inline-block w--current"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d6944a8946da7ca718d1_rival50-logo-navy.svg" loading="lazy" alt="Rival 50" class="r50-nav-logo"/></a><div class="r50-nav-links"><a href="/rival50/about" class="r50-nav-link">ABOUT</a><a href="/rival50/brands" class="r50-nav-link">BRANDS</a><a href="/rival50/insights" class="r50-nav-link">INSIGHTS</a></div><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c4442ab73dfe6d92bb_rival-logo-dark.png" loading="lazy" alt="Rival" class="r50-nav-rival"/></section><section class="r50-ticker"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5ccda72edfcad9b5909_rival50-ticker-headline.svg" loading="lazy" alt="The challenger brands building the future" class="r50-ticker-img"/></section><section class="r50-hero"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block.png" loading="lazy" sizes="100vw" srcset="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-500.png 500w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-800.png 800w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-1080.png 1080w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block-p-1600.png 1600w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c0d0d3aeae25b4cc90_rival50-hero-block.png 1727w" alt="Rival 50" class="r50-hero-img"/><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4.jpg" loading="lazy" sizes="(max-width: 2048px) 100vw, 2048px" srcset="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-500.jpg 500w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-800.jpg 800w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-1080.jpg 1080w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-1600.jpg 1600w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4-p-2000.jpg 2000w, https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6ab6cb3d4234702c30355ff9_r50-wall-2048-v4.jpg 2048w" alt="Rival Fifty" class="r50-wall-img"/><div class="w-embed w-script"><!-- Rival 50 countdown wall v7: photographic plaster wall that cracks toward 9 Nov 2026; the merch hammer is the cursor, click to chip the wall; at zero it falls and reveals the logos. QA: click the timer 4x, or ?r50test=1 / ?r50p=0.8 -->
81<script defer src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6aba42ec7a48767357f11bdf_r50-wall-v7.js"></script>
81</div></section><section class="r50-banner"><h2 class="r50-h2">NOMINATIONS FOR 2026 ARE NOW CLOSED.</h2><div class="r50-btns"><a href="/rival50/2025" class="r50-btn-white">Explore 2025 Rival 50</a></div></section><section class="r50-about"><p class="r50-about-p">The Rival 50 identifies brands that challenge convention, move culture and drive create outsized impact on their growth.</p><p class="r50-about-p2">We analyzed more than 500 brands to get to the top 50 of 2025, and now we're searching for the brands that deserve a spot on the list for 2026.</p><div class="r50-partners"><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c73addaf3982bedabe_rival50-mark-b.svg" loading="lazy" alt="Web Summit" class="r50-partner-ws"/><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c5d0d3aeae25b4cecd_rival50-mark-a.svg" loading="lazy" alt="Imperial Business School" class="r50-partner-imp"/></div></section><section class="r50-pillars"><h2 class="r50-h2">THE THREE PILLARS</h2><div class="r50-cols"><div><h3 class="r50-pillar-h">DIFFERENTIATION</h3><div class="r50-pillar-p">Distinctive point of view</div></div><div><h3 class="r50-pillar-h">RELEVANCE</h3><div class="r50-pillar-p">Understand culture and people</div></div><div><h3 class="r50-pillar-h">TALKABILITY</h3><div class="r50-pillar-p">Ideas people want to talk about</div></div></div></section><section class="r50-process"><h2 class="r50-h2">THE PROCESS</h2><div class="r50-steps"><div class="r50-step"><div class="r50-num">01</div><div class="r50-step-lbl">NOMINATION</div></div><div class="r50-step"><div class="r50-num">02</div><div class="r50-step-lbl">RESEARCH</div></div><div class="r50-step"><div class="r50-num">03</div><div class="r50-step-lbl">SCORING</div></div><div class="r50-step"><div class="r50-num">04</div><div class="r50-step-lbl">JURY</div></div><div class="r50-step"><div class="r50-num">05</div><div class="r50-step-lbl">RANKING</div></div></div></section><section class="r50-video"><div class="r50-well"><div class="r50-video-ratio"><div class="r50-video-frame w-embed"><iframe src="https://player.vimeo.com/video/1133878898?badge=0&autopause=0&app_id=58479" style="position:absolute;top:0;left:0;width:100%;height:100%;border:0" title="Rival 50 Hero" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe></div></div></div></section><section class="r50-footer"><div class="r50-footer-lead">Sign-up to be the first to know when the Rival 50 2026 index is live</div><div class="r50-form w-form"><form method="get" name="" data-name="Html Form" data-wf-page-id="6a82ef693ae3f9d14eb954a1" data-wf-element-id="51657824-c3e1-a30b-35ad-c92507a24821"><input class="r50-input w-input" maxlength="256" name="field" data-name="Field" aria-label="Email address" placeholder="Enter your email" type="email" id="field"/><input type="submit" data-wait="Please wait..." class="r50-submit w-button" value="â"/></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><img src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/6a82d5c84d1b9f0b7e824191_rival50-logo.svg" loading="lazy" alt="Rival 50" class="r50-footer-logo"/></section>
81<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=633a925bb365d583ba64f172" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
81<script src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/js/webflow.schunk.b243a97fed2d3524.js" type="text/javascript" integrity="sha384-1qoY9V20fk3dh/6Nz6DOe3XDw3cDv00UAm/Tu2DA7X9iZPUOIX7ggPewjMTqxCpt" crossorigin="anonymous"></script>
81<script src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/js/webflow.schunk.ecd93df7722c7876.js" type="text/javascript" integrity="sha384-nKCAW46H3EgCjh+sGhvEMHx4XJaeiR6CtbjHnxyy8UKXqOAvPjznuKhsTXW/bS6q" crossorigin="anonymous"></script>
81<script src="https://cdn.prod.website-files.com/633a925bb365d583ba64f172/js/webflow.794874b9.3696457db493705f.js" type="text/javascript" integrity="sha384-21L5Sz/YQasz5FXPmv1MaGPR3v80UBzoKrngqlJ5sQpixuhfVVpCm10azx/xB1p4" crossorigin="anonymous"></script>
81<!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 81-82
81 82<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
82GTM-T3LR6FL
vendor: 83 bytes, lines 82-83
82" 83height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
84<!-- End Google Tag Manager (noscript) --> 85 86<!-- SPLIT TEXT -->
87<script src="https://unpkg.com/split-type"></script>
87 88<!-- GSAP -->
89<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
vendor: 1 bytes, line 89
89
90<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/Flip.min.js"></script>
vendor: 1 bytes, line 90
90
91<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
91 92 93<!-- pop-up banner rival 50 -->
94<script src="https://cdnjs.cloudflare.com/ajax/libs/js-cookie/2.2.1/js.cookie.min.js" >//pop up code</script>
94 95
96<script> 97//pop-up banner rival 50 code 98const delay = 6; // pop-up delay in seconds 99const popupId = "pop-up-wrapper"; // pop-up Id name 100 101document.addEventListener("DOMContentLoaded", function () { 102 if (!document.cookie.includes('alert=true')) { 103 setTimeout(function () { 104 const popup = document.getElementById(popupId); 105 if (popup) { 106 popup.style.display = "flex"; 107 popup.style.opacity = 0; 108 popup.style.transition = "opacity 1s ease"; 109 110 // Force reflow to ensure transition is applied 111 void popup.offsetWidth; 112 113 popup.style.opacity = 1; 114 115 // Set cookie manually 116 document.cookie = "alert=true; max-age=" + 60 * 60 * 24; // 1 day in seconds 117 } 118 }, delay * 1000); 119 } 120}); 121//end of pop up code 122</script>
122 123 124 125 126
127<script> 128 $('.menu_text-link').on('click', function() { 129 $('.navbar_menu-button').click(); 130}); 131</script>
131 132 133<!-- Text animation -->
134<script> 135document.addEventListener("DOMContentLoaded", function () { 136 // Create splits for text elements 137 document.querySelectorAll("[data-split-line='scroll']").forEach((element) => { 138 new SplitType(element, { 139 types: "lines", 140 lineClass: "split-line", 141 tagName: "span", 142 }); 143 }); 144 // Animate lines with subtle opacity and yPercent 145 document 146 .querySelectorAll("[data-split-line='scroll']") 147 .forEach((element, index) => { 148 let tl = gsap.timeline({ 149 scrollTrigger: { 150 trigger: element, 151 start: "top bottom", 152 end: "top 75%", 153 toggleActions: "none play none none", 154 }, 155 }); 156 // Set initial states with 3D perspective on parent 157 gsap.set(element, { 158 perspective: 800, // Adds 3D perspective to parent (adjust value as needed) 159 transformStyle: "preserve-3d", // Ensures 3D transforms work properly 160 }); 161 gsap.set(element.querySelectorAll(".split-line"), { 162 opacity: 0, 163 transformOrigin: "left center", 164 rotationX: -90, 165 yPercent: 50, 166 z: -50, // Adds depth in 3D space 167 }); 168 // Make parent visible immediately 169 tl.set(element, { 170 visibility: "visible", 171 //immediate: true, 172 }); 173 // Animate in the lines with 3D properties 174 tl.to(element.querySelectorAll(".split-line"), { 175 opacity: 1, 176 yPercent: 0, 177 rotationX: 0, 178 z: 0, // Animate back to zero depth 179 duration: 0.7, 180 ease: "expo.out", 181 stagger: { amount: 0.35 }, 182 }); 183 }); 184}); 185</script>
185 186 187<!-- Programatic Function Execution -->
188<script> 189pageFunctions.executeFunctions(); 190</script>
190<script src="https://hubspotonwebflow.com/assets/js/form-124.js" type="text/javascript" integrity="sha384-bjyNIOqAKScdeQ3THsDZLGagNN56B4X2Auu9YZIGu+tA/PlggMk4jbWruG/P6zYj" crossorigin="anonymous"></script>
190</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.