CINXE.COM

Deploy Next.js Sites and Apps - Starter Templates & Resources | Netlify

<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v5.3.0"><!-- Page information --><title>Deploy Next.js Sites and Apps - Starter Templates &amp; Resources | Netlify</title><meta name="description" content="Deploy Next.js on Netlify today. With a better runtime and unrivaled support, Netlify is the best place to run Next.js. Learn how to extend Next.js with Netlify."><link rel="canonical" href="https://www.netlify.com/with/nextjs/"><!-- Favicons --><link rel="icon" href="/favicon/favicon.ico" sizes="32x32"><link rel="icon" href="/favicon/icon.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/favicon/apple-touch-icon.png"><link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials"><meta name="apple-mobile-web-app-title" content="Netlify"><meta name="application-name" content="Netlify"><meta name="theme-color" content="#ffffff"><!-- Open Graph meta tags --><meta property="og:type" content="website"><meta property="og:title" content="Deploy Next.js Sites and Apps - Starter Templates &#38; Resources | Netlify"><meta property="og:description" content="Deploy Next.js on Netlify today. With a better runtime and unrivaled support, Netlify is the best place to run Next.js. Learn how to extend Next.js with Netlify."><meta property="og:image" content="https://cdn.sanity.io/images/o0o2tn5x/marketing/ede84bec5540a566a502396b55218f8aac8dcf19-1200x630.png"><!-- Twitter meta tags --><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="netlify.com"><meta name="twitter:title" content="Deploy Next.js Sites and Apps - Starter Templates &#38; Resources | Netlify"><meta name="twitter:description" content="Deploy Next.js on Netlify today. With a better runtime and unrivaled support, Netlify is the best place to run Next.js. Learn how to extend Next.js with Netlify."><meta name="twitter:image" content="https://cdn.sanity.io/images/o0o2tn5x/marketing/ede84bec5540a566a502396b55218f8aac8dcf19-1200x630.png"><!-- Page assets --><link rel="preload" href="/fonts/pacaembu/PacaembuNetlify-Variable.woff2" as="font" type="font/woff2" crossorigin=""><link rel="preload" href="/fonts/mulish/MulishVar-latin.woff2" as="font" type="font/woff2" crossorigin=""><!-- Third-party verification --><meta name="slack-app-id" content="A05P27DR8C8"><!-- Third-party scripts --><script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('consent', 'default', { ad_storage: 'denied', analytics_storage: 'denied', functionality_storage: 'denied', personalization_storage: 'denied', security_storage: 'denied', region: [ 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'EL', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'UK', ], }); gtag('consent', 'default', { ad_storage: 'granted', analytics_storage: 'granted', functionality_storage: 'granted', personalization_storage: 'granted', security_storage: 'granted', }); function OptanonWrapper() { if (!OneTrust.IsAlertBoxClosed()) { document.body.classList.add('onetrust-alert-box-open'); } OneTrust.OnConsentChanged(() => { if (OneTrust.IsAlertBoxClosed()) { document.body.classList.remove('onetrust-alert-box-open'); } }); } </script> <script>(function(){const id = "GTM-T7WNFLD"; (function (w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', id); })();</script><!-- Qualified --><script> (function (w, q) { w['QualifiedObject'] = q; w[q] = w[q] || function () { (w[q].q = w[q].q || []).push(arguments); }; })(window, 'qualified'); </script> <script async src="https://js.qualified.com/qualified.js?token=FvGWn26rk1tuEjBR"></script> <!-- End Qualified --><!-- RSS Feeds --><link rel="alternate" type="application/rss+xml" title="Netlify Changelog" href="https://www.netlify.com/changelog/feed.xml"><link rel="stylesheet" href="/_astro/convince-your-boss.jIVP1guf.css"> <link rel="stylesheet" href="/_astro/_slug_.BzJtx7Ft.css"> <link rel="stylesheet" href="/_astro/_guideSlug_.BA4u75wO.css"> <style>.card[data-astro-cid-dohjnao5]{--card-padding: var(--space-m);padding:var(--card-padding-block, var(--card-padding, var(--space-m))) var(--card-padding-inline, var(--card-padding, var(--space-m)));color:var(--card-text, var(--color-text-1));background:var(--card-bg, var(--color-bg-1));border-radius:var(--card-radius, var(--radius-xl));box-shadow:var(--card-shadow, var(--shadow-light));border:1px solid var(--card-border-color, var(--neutral-light-100));height:100%;overflow:hidden;position:relative}.card[data-astro-cid-dohjnao5] :where(.heading,.ingredient){margin-inline:unset}:where([data-theme=dark])[data-astro-cid-dohjnao5] .card[data-astro-cid-dohjnao5]:not([data-theme]){--card-bg: var(--neutral-dark-600)}.card[data-astro-cid-dohjnao5][data-options*=full-width-media]:has(:first-child>:where(img,.yt-wrapper)){padding-block-start:0}.card[data-astro-cid-dohjnao5][data-options*=full-width-media]:has(:last-child>:where(img,.yt-wrapper)){padding-block-end:0}.card[data-astro-cid-dohjnao5][data-options*=full-width-media] :where(img,.yt-wrapper){--_padding: var(--card-padding, var(--space-m));width:calc(100% + 2 * var(--_padding));transform:translate(calc(-1 * var(--_padding)));max-inline-size:unset}.card[data-astro-cid-dohjnao5][data-options*=repel-last-element]>:nth-last-child(2){margin-block-end:auto}.card[data-astro-cid-dohjnao5] .heading>a:after{content:"";position:absolute;inset:0}.card[data-astro-cid-dohjnao5] .heading>a{text-decoration:none}.pancake[data-astro-cid-5mutinvq]{color:var(--pancake-color-text, var(--color-text-1));background-color:var(--pancake-color-bg, var(--color-bg-1));position:relative}.pancake-margin-top-override[data-astro-cid-5mutinvq]{margin-block-start:var(--margin-block-start)}.pancake-content[data-astro-cid-5mutinvq]{--stack-space: var(--space-2xl);position:relative}.pancake-background-clip[data-astro-cid-5mutinvq]{padding-block-end:0}.pancake-background-clip[data-astro-cid-5mutinvq] .ingredient:last-of-type{position:relative}.pancake-background-clip[data-astro-cid-5mutinvq] .ingredient:last-of-type>*{z-index:0}.pancake-background-clip[data-astro-cid-5mutinvq] .ingredient:last-of-type:before{position:absolute;top:50%;content:"";width:100%;height:50%;background:#fff}.pancake-border-bottom[data-astro-cid-5mutinvq]{border-bottom:1px solid var(--neutral-light-200)} </style> <link rel="stylesheet" href="/_astro/_guideSlug_.JvHpYphR.css"> <style>.hubspot-form-wrapper{--center-max: 35rem}.hs-form-booleancheckbox-display{display:flex;align-items:baseline;gap:var(--space-2xs)}.hs-form :where(.legal-consent-container,[class^=hs_notice_and_consent]){font-size:var(--step--1)}.hs-form .legal-consent-container .hs-form-booleancheckbox-display>span{margin-left:0}.hs-form-required{margin-inline-start:.1em;color:var(--color-text-invalid)}.hs-error-msg{font-size:.8em;color:var(--color-text-invalid)}.hs_error_rollup .hs-error-msgs{font-size:.8em;line-height:normal;color:var(--color-text-invalid);background-color:var(--color-bg-invalid);padding:var(--space-xs) var(--space-s);border-radius:var(--radius-m)}.hs-error-msg{display:block}.hs-form-field:not([hidden]){display:grid;gap:var(--space-3xs)}.hs-submit input{width:100%} [data-astro-cid-patnjmll][data-variant=encapsulated]{--size: 3rem;--icon-size: 1.25rem;display:grid;place-items:center;color:var(--neutral-light-800);background-color:var(--blue-000);width:var(--size);height:var(--size);border-radius:var(--radius-circle)} .astro-code{background-color:var(--blue-900)!important;padding:var(--space-m);border-radius:var(--radius-m);outline-offset:-2px;font-size:var(--step-0)}.c-badge-group[data-astro-cid-mh4d3t3h]{--cluster-gap: var(--card-badge-gap, 12px)}.label[data-astro-cid-mh4d3t3h]{font-weight:700}.card-container[data-astro-cid-ccoymqwb]{display:flex}.heading[data-astro-cid-u4qoyrkz]{max-width:var(--heading-max, 60ch);line-height:var(--line-height-heading)}.text-center[data-astro-cid-u4qoyrkz] .heading[data-astro-cid-u4qoyrkz]{margin-inline:auto}span[data-astro-cid-u4qoyrkz]{display:block}.text-center[data-astro-cid-u4qoyrkz] .heading-eyebrow[data-astro-cid-u4qoyrkz]{margin-inline:auto}.heading-eyebrow[data-astro-cid-u4qoyrkz]{width:fit-content}.heading-eyebrow[data-astro-cid-u4qoyrkz]+[data-astro-cid-u4qoyrkz]{margin-top:var(--space-xs)}.heading[data-astro-cid-u4qoyrkz]>a[data-astro-cid-u4qoyrkz]{text-decoration:none;display:inline-block}.heading[data-astro-cid-u4qoyrkz]:is(p){line-height:var(--line-height)} .author[data-astro-cid-2ri7i3m6]{--sidebar-gap: var(--space-xs);--sidebar-min: 70%;--sidebar-direction: row;flex:1 0;align-items:center;font-size:var(--author-font-size, var(--step--1))}.author-title[data-astro-cid-2ri7i3m6] span[data-astro-cid-2ri7i3m6]{display:block}.avatar[data-astro-cid-2ri7i3m6]{width:100%;height:auto;aspect-ratio:1;max-inline-size:var(--avatar-size, 3rem);object-fit:cover;border-radius:var(--radius-circle);background-color:var(--neutral-dark-100)}.author[data-astro-cid-2ri7i3m6][data-size-variant=large] .avatar[data-astro-cid-2ri7i3m6]{--avatar-size: 4.375rem}.author[data-astro-cid-2ri7i3m6][data-size-variant=large]{--author-font-size: var(--step-0)}.author[data-astro-cid-2ri7i3m6][data-size-variant=inline] .avatar[data-astro-cid-2ri7i3m6]{--avatar-size: 3rem}.author[data-astro-cid-2ri7i3m6][data-size-variant=inline] .author-title[data-astro-cid-2ri7i3m6]{font-weight:var(--font-weight-regular)}.author[data-astro-cid-2ri7i3m6][data-size-variant=inline] :is(.author-name,.author-title,.author-title span)[data-astro-cid-2ri7i3m6]{display:inline-block}.inline-quote[data-astro-cid-w6zxjwyn]{display:grid;grid-template-columns:4px 1fr;grid-column-gap:var(--space-l);grid-row-gap:var(--space-s)}.inline-quote[data-astro-cid-w6zxjwyn]:before{content:"";height:100%;display:inline-block;width:4px;background:var(--gradient-quote-vertical);grid-column:1;grid-row:1 / 3}.inline-quote[data-astro-cid-w6zxjwyn]>[data-astro-cid-w6zxjwyn]{grid-column:2} img[data-astro-cid-jbhojhg7]{width:100%} .logo-marquee[data-astro-cid-h2jlyvcc]{--_speed: 60s;--_gap: var(--logo-marquee-gap, 3rem);display:flex;flex-wrap:nowrap;overflow:hidden;gap:var(--_gap);-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 15%,rgba(0,0,0,1) 85%,rgba(0,0,0,0) 100%)}.logo-marquee[data-astro-cid-h2jlyvcc] :is(picture,img,svg){width:clamp(8rem,1.2vw,10rem);height:100%;max-height:var(--logo-height, 4rem);object-fit:contain}.logo-marquee[data-astro-cid-h2jlyvcc] ul[data-astro-cid-h2jlyvcc]{flex-shrink:0;display:flex;align-items:center;justify-content:space-around;flex-wrap:nowrap;gap:var(--_gap);min-width:100%;animation:ticker var(--_speed) linear infinite}.logo-marquee[data-astro-cid-h2jlyvcc]:where(.reverse) ul[data-astro-cid-h2jlyvcc]{animation-direction:reverse}@keyframes ticker{0%{transform:translate(calc(var(--_gap) * -1))}to{transform:translate(calc(-100% - var(--_gap) * 2))}} .logo-wall[data-astro-cid-6y2sa4q5]{--grid-min: 10rem;--grid-gap: 2rem;--grid-justify: center;display:grid;grid-template-columns:repeat(var(--repeat, var(--count, 6)),1fr);gap:clamp(var(--space-m),4vw,var(--space-xl));margin-inline:auto;inline-size:fit-content}.logo-wall[data-astro-cid-6y2sa4q5] :is(picture,img,svg){width:min(10rem,100%);height:min(5rem,100%);aspect-ratio:5/3;object-fit:contain}@media (max-width: 30rem){.sm-wrap[data-astro-cid-6y2sa4q5]{--repeat: 3;padding-inline:var(--space-l)}} lite-youtube{background-color:#000;position:relative;display:block;contain:content;background-position:center center;background-size:cover;cursor:pointer;max-width:720px}lite-youtube:before{content:attr(data-title);display:block;position:absolute;top:0;background-image:linear-gradient(180deg,#000000ab,#0000008a 14%,#00000026 54%,#0000000d 72%,#0000 94%);height:99px;width:100%;font-family:YouTube Noto,Roboto,Arial,Helvetica,sans-serif;color:#eee;text-shadow:0 0 2px rgba(0,0,0,.5);font-size:18px;padding:25px 20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box}lite-youtube:hover:before{color:#fff}lite-youtube:after{content:"";display:block;padding-bottom:56.25%}lite-youtube>iframe{width:100%;height:100%;position:absolute;top:0;left:0;border:0}lite-youtube>.lty-playbtn{display:block;width:100%;height:100%;background:no-repeat center/68px 48px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');position:absolute;cursor:pointer;z-index:1;filter:grayscale(100%);transition:filter .1s cubic-bezier(0,0,.2,1);border:0}lite-youtube:hover>.lty-playbtn,lite-youtube .lty-playbtn:focus{filter:none}lite-youtube.lyt-activated{cursor:unset}lite-youtube.lyt-activated:before,lite-youtube.lyt-activated>.lty-playbtn{opacity:0;pointer-events:none}.lyt-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}lite-youtube>iframe{all:unset!important;width:100%!important;height:100%!important;position:absolute!important;inset:0!important;border:0!important}.yt-wrapper[data-astro-cid-aomsn35f]{width:100%;position:relative;isolation:isolate}lite-youtube[data-astro-cid-aomsn35f]{border-radius:var(--border-radius);border:1px solid var(--border-color);max-width:none}lite-youtube[data-astro-cid-aomsn35f]:before{display:none}lite-youtube[data-astro-cid-aomsn35f]>.lty-playbtn{position:absolute;inset:0;margin:auto;height:auto;filter:none;width:min(100px,12vw);aspect-ratio:1;isolation:isolate;background-color:var(--neutral-light-000);background-size:40%;background-repeat:no-repeat;background-position:calc(50% + 2px) center;border-radius:var(--radius-circle);background-image:var(--play-btn-svg);box-shadow:0 0 15px var(--neutral-dark-200);transform:scale(1);transition:transform .4s var(--ease-out)}lite-youtube[data-astro-cid-aomsn35f]:hover .lty-playbtn{transform:scale(1.05)}.caption[data-astro-cid-aomsn35f]{color:var(--color-text-2)} .prose[data-astro-cid-cnvtppup]{max-width:var(--prose-max-width, 100%)} .cta-group[data-astro-cid-sc466a3x]{align-items:var(--ctas-align, center)}.button[data-astro-cid-sc466a3x]{width:var(--cta-min-width)} .cta-arrow-link:hover{--_icon-x: 2px}.cta-arrow-link svg{--button-icon-size: .7em;transform:rotate(var(--_icon-rotate, 0)) translate(var(--_icon-x, 0));transition:transform .2s var(--ease-out)}.cta-arrow-link[href*="//"]:not([href*="netlify.com"]){--_icon-rotate: -45deg}.cta-arrow-link[href^="#"]{--_icon-rotate: 90deg} .button[data-astro-cid-tcbm7f7q][data-icon-name=arrow][data-icon-position=inline-end]:hover{--_icon-x: 2px}.button[data-astro-cid-tcbm7f7q][data-icon-name=arrow] svg[data-astro-cid-tcbm7f7q]{--button-icon-size: .7em;transform:rotate(var(--_icon-rotate, 0)) translate(var(--_icon-x, 0));transition:transform .2s var(--ease-out)}.button[data-astro-cid-tcbm7f7q][data-icon-name=arrow][data-icon-position=inline-end][href*="//"]:not([href*="netlify.com"]){--_icon-rotate: -45deg}.button[data-astro-cid-tcbm7f7q][data-icon-name=arrow][data-icon-position=inline-end][href^="#"]{--_icon-rotate: 90deg}.button[data-astro-cid-tcbm7f7q]::-webkit-details-marker{display:none} </style></head> <body> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T7WNFLD" height="0" width="0" style="display:none;visibility:hidden"> </iframe></noscript> <header class="site-header"> <script id="announcement-render" data-announcement-url="https://biilmann.blog/articles/introducing-ax/?utm_source=ntl-announcement" data-announcement-hide-after="2025-03-01"> (function () { const storageUrl = localStorage.getItem('Netlify_hide-announcement-bar'); const scriptTarget = document.querySelector('#announcement-render'); if (!scriptTarget) return; const url = scriptTarget.getAttribute('data-announcement-url'); const hideAfter = scriptTarget.getAttribute('data-announcement-hide-after'); function isExpired(date) { if (!date) return; let hideAfterSplit = date.split(/[^\d]/).map((entry) => parseInt(entry, 10)); let compareDate = new Date(hideAfterSplit[0], hideAfterSplit[1] - 1, hideAfterSplit[2] + 1); return compareDate && new Date() > compareDate; } if (storageUrl === url || isExpired(hideAfter)) { document.documentElement.setAttribute('data-announcement-state', 'hidden'); } })(); </script> <div class="announcement-bar" data-href="https://biilmann.blog/articles/introducing-ax/?utm_source=ntl-announcement" data-astro-cid-o54ltyzl> <p data-astro-cid-o54ltyzl><span data-astro-cid-o54ltyzl> Find out if you’re ready for the</span> <a href="https://biilmann.blog/articles/introducing-ax/?utm_source=ntl-announcement" id="cta-header-announcementBar" data-astro-cid-o54ltyzl>new era of Agent Experience (AX)</a></p> <button class="close" type="reset" id="cta-header-announcementBar-close" data-astro-cid-o54ltyzl> <span class="visually-hidden" data-astro-cid-o54ltyzl>Close announcement bar</span> <svg width="0.75em" height="1em" viewBox="0 0 384 512" aria-hidden="true" style="--button-icon-size: 1.25rem" data-astro-cid-o54ltyzl="true" data-icon="close"> <use href="#ai:local:close"></use> </svg> </button> </div> <script type="module">(function(){const e=document.querySelector(".announcement-bar"),n=document.querySelector(".announcement-bar > .close");if(!e||!n)return;const r=e.getAttribute("data-href");new ResizeObserver(([t])=>{document.body.style.setProperty("--announcement-bar-height",`${t.borderBoxSize[0].blockSize}px`)}).observe(e),n.addEventListener("click",t=>{t.preventDefault(),r&&localStorage.setItem("Netlify_hide-announcement-bar",r),e.setAttribute("hidden","true")})})();</script> <section class="wrapper l-breakout"> <nav id="site-nav" class="site-navigation" aria-labelledby="site-nav-label" data-astro-cid-2ioqeek6> <h2 id="site-nav-label" class="visually-hidden" data-astro-cid-2ioqeek6>Site navigation</h2> <a id="mainNav-netlifyLogo" href="/" data-astro-cid-jwiz4kkf> <span class="visually-hidden" data-astro-cid-jwiz4kkf>Go to homepage</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 209" fill="none" aria-hidden="true" data-astro-cid-jwiz4kkf> <g clip-path="url(#clip0_235_8)" data-astro-cid-jwiz4kkf> <path d="M117.436 207.036V154.604L118.529 153.51H129.452L130.545 154.604V207.036L129.452 208.13H118.529L117.436 207.036Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M117.436 53.5225V1.09339L118.529 0H129.452L130.545 1.09339V53.5225L129.452 54.6159H118.529L117.436 53.5225Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M69.9539 169.238H68.4094L60.6869 161.512V159.967L78.7201 141.938L86.8976 141.942L87.9948 143.031V151.209L69.9539 169.238Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M69.9462 38.8917H68.4017L60.6792 46.6181V48.1626L78.7124 66.192L86.8899 66.1882L87.9871 65.0986V56.9212L69.9462 38.8917Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M1.09339 97.5104H75.3711L76.4645 98.6038V109.526L75.3711 110.62H1.09339L0 109.526V98.6038L1.09339 97.5104Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M440.999 97.5104H510.91L512.004 98.6038V109.526L510.91 110.62H436.633L435.539 109.526L439.905 98.6038L440.999 97.5104Z" class="spark" data-astro-cid-jwiz4kkf></path> <path d="M212.056 108.727L210.963 109.821H177.079L175.986 110.914C175.986 113.101 178.173 119.657 186.916 119.657C190.196 119.657 193.472 118.564 194.566 116.377L195.659 115.284H208.776L209.869 116.377C208.776 122.934 203.313 132.774 186.916 132.774C168.336 132.774 159.589 119.657 159.589 104.357C159.589 89.0576 168.332 75.9408 185.822 75.9408C203.313 75.9408 212.056 89.0576 212.056 104.357V108.731V108.727ZM195.659 97.7971C195.659 96.7037 194.566 89.0538 185.822 89.0538C177.079 89.0538 175.986 96.7037 175.986 97.7971L177.079 98.8905H194.566L195.659 97.7971Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M242.66 115.284C242.66 117.47 243.753 118.564 245.94 118.564H255.776L256.87 119.657V130.587L255.776 131.681H245.94C236.103 131.681 227.36 127.307 227.36 115.284V91.2368L226.266 90.1434H218.617L217.523 89.05V78.1199L218.617 77.0265H226.266L227.36 75.9332V66.0965L228.453 65.0031H241.57L242.663 66.0965V75.9332L243.757 77.0265H255.78L256.874 78.1199V89.05L255.78 90.1434H243.757L242.663 91.2368V115.284H242.66Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M283.1 131.681H269.983L268.889 130.587V56.2636L269.983 55.1702H283.1L284.193 56.2636V130.587L283.1 131.681Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M312.61 68.2871H299.493L298.399 67.1937V56.2636L299.493 55.1702H312.61L313.703 56.2636V67.1937L312.61 68.2871ZM312.61 131.681H299.493L298.399 130.587V78.1237L299.493 77.0304H312.61L313.703 78.1237V130.587L312.61 131.681Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M363.98 56.2636V67.1937L362.886 68.2871H353.05C350.863 68.2871 349.769 69.3805 349.769 71.5672V75.9408L350.863 77.0342H361.793L362.886 78.1276V89.0576L361.793 90.151H350.863L349.769 91.2444V130.591L348.676 131.684H335.559L334.466 130.591V91.2444L333.372 90.151H325.723L324.629 89.0576V78.1276L325.723 77.0342H333.372L334.466 75.9408V71.5672C334.466 59.5438 343.209 55.1702 353.046 55.1702H362.882L363.976 56.2636H363.98Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M404.42 132.774C400.046 143.704 395.677 150.261 380.373 150.261H374.906L373.813 149.167V138.237L374.906 137.144H380.373C385.836 137.144 386.929 136.05 388.023 132.77V131.677L370.536 89.05V78.1199L371.63 77.0265H381.466L382.56 78.1199L395.677 115.284H396.77L409.887 78.1199L410.98 77.0265H420.817L421.91 78.1199V89.05L404.424 132.77L404.42 132.774Z" class="text" data-astro-cid-jwiz4kkf></path> <path d="M135.454 131.681L134.361 130.587L134.368 98.9172C134.368 93.4541 132.22 89.2182 125.625 89.0806C122.234 88.9926 118.354 89.0729 114.209 89.2488L113.59 89.8834L113.598 130.587L112.504 131.681H99.3913L98.2979 130.587V77.5388L99.3913 76.4454L128.901 76.1778C143.685 76.1778 149.668 86.3356 149.668 97.8009V130.587L148.575 131.681H135.454Z" class="text" data-astro-cid-jwiz4kkf></path> </g> <defs data-astro-cid-jwiz4kkf> <clipPath id="clip0_235_8" data-astro-cid-jwiz4kkf> <rect width="512" height="208.126" fill="white" data-astro-cid-jwiz4kkf></rect> </clipPath> </defs> </svg> </a> <a class="skip-to-content" href="#main" data-astro-cid-2ioqeek6>Skip to content</a> <ul data-variant="compact" class="menu" role="list" data-astro-cid-2ioqeek6> <li data-astro-cid-2ioqeek6> <button id="main-nav-compact-search" class="site-search-toggle" data-site-search-open class="search-toggle" data-astro-cid-3dk7mn5f> <span class="visually-hidden" data-astro-cid-3dk7mn5f>Search</span> <svg width="16" height="20" aria-hidden="true" data-astro-cid-3dk7mn5f="true" data-icon="search"> <symbol id="ai:local:search" viewBox="0 0 22 24"><path fill="currentcolor" d="M9.413.473a9.081 9.081 0 0 1 6.454 15.47l5.526 5.524-2.122 2.121-5.872-5.872A9.081 9.081 0 1 1 9.413.472m0 3a6.081 6.081 0 1 0 0 12.162 6.081 6.081 0 0 0 0-12.162"/></symbol><use href="#ai:local:search"></use> </svg> </button> </li> <li data-astro-cid-2ioqeek6> <a id="main-nav-compact-login" href="https://app.netlify.com/login" data-astro-cid-2ioqeek6> Log in </a> </li> </ul> <button id="main-nav-compact-hamburger" type="button" class="nav-toggle" aria-expanded="false" aria-controls="main-menu" data-site-nav-toggle data-astro-cid-qsvltxvz> <span class="visually-hidden" data-astro-cid-qsvltxvz>Toggle main menu</span> <svg width="1.24em" height="1em" aria-hidden="true" data-astro-cid-qsvltxvz="true" data-icon="menu"> <symbol id="ai:local:menu" viewBox="0 0 31 25"><path fill="currentcolor" d="M.581.719h30v4h-30zm0 10h30v4h-30zm0 10h30v4h-30z"/></symbol><use href="#ai:local:menu"></use> </svg> </button> <ul class="menu" role="list" data-astro-cid-2ioqeek6> <li class="has-submenu" data-astro-cid-2ioqeek6> <span id="main-nav-platform" data-astro-cid-2ioqeek6>Platform</span> <submenu-utils data-astro-cid-sdvpe5d5="true"> <button class="submenu-toggle" aria-haspopup="true" aria-expanded="false" data-astro-cid-sdvpe5d5> <span class="visually-hidden" data-astro-cid-sdvpe5d5>Toggle platform submenu</span> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="chevron"> <symbol id="ai:local:chevron" viewBox="0 0 512 512"><path fill="currentcolor" d="M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z"/></symbol><use href="#ai:local:chevron"></use> </svg> </button> <div id="platform-submenu" class="submenu" data-theme="light" data-astro-cid-sdvpe5d5> <div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>The Netlify Platform</h3> <p><strong>Instantly build and deploy</strong> your sites to our global network from Git. Custom domains, https, deploy previews, rollbacks and much more.</p> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-explore-the-platform" href="/platform/" data-astro-cid-sdvpe5d5> Explore the platform </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-netlify-connect" href="/platform/connect/" data-astro-cid-sdvpe5d5> Netlify Connect </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-netlify-core" href="/platform/core/" data-astro-cid-sdvpe5d5> Netlify Core </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-netlify-create" href="/platform/create/" data-astro-cid-sdvpe5d5> Netlify Create </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Key Features</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-platform-primitives" href="/platform/primitives/" data-astro-cid-sdvpe5d5> Platform Primitives </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-enterprise-team-management" href="/platform/core/enterprise-team-management/" data-astro-cid-sdvpe5d5> Enterprise Team Management </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-sdk" href="/platform/software-development-kit/" data-astro-cid-sdvpe5d5> SDK </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-security" href="/security/" data-astro-cid-sdvpe5d5> Security </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-edge-functions" href="/platform/core/edge/#edge-functions/" data-astro-cid-sdvpe5d5> Edge Functions </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-analytics" href="/platform/core/analytics/" data-astro-cid-sdvpe5d5> Analytics </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-deploy-previews" href="/platform/core/deploy-previews/" data-astro-cid-sdvpe5d5> Deploy Previews </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-split-testing" href="https://docs.netlify.com/site-deploys/split-testing/" data-astro-cid-sdvpe5d5> Split Testing </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-forms" href="/platform/core/forms/" data-astro-cid-sdvpe5d5> Forms </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-integrations" href="/integrations/" data-astro-cid-sdvpe5d5> Integrations </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-changelog" href="/changelog/" data-astro-cid-sdvpe5d5> Changelog </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Ecosystem</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-tech-partners" href="/partners/technology/" data-astro-cid-sdvpe5d5> Tech Partners </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-agency-partners" href="/partners/agency/" data-astro-cid-sdvpe5d5> Agency Partners </a> </li> </ul> </div> </div> </submenu-utils> <script type="module" src="/_astro/SiteNavigationSubmenu.astro_astro_type_script_index_0_lang.C3dcV_OH.js"></script> </li><li class="has-submenu" data-astro-cid-2ioqeek6> <span id="main-nav-solutions" data-astro-cid-2ioqeek6>Solutions</span> <submenu-utils data-astro-cid-sdvpe5d5="true"> <button class="submenu-toggle" aria-haspopup="true" aria-expanded="false" data-astro-cid-sdvpe5d5> <span class="visually-hidden" data-astro-cid-sdvpe5d5>Toggle solutions submenu</span> <svg width="1em" height="1em" viewBox="0 0 512 512" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="chevron"> <use href="#ai:local:chevron"></use> </svg> </button> <div id="solutions-submenu" class="submenu" data-theme="light" data-astro-cid-sdvpe5d5> <div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Why Netlify?</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-resources-guides" href="/resources/" data-astro-cid-sdvpe5d5> Resources &amp; Guides </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-customers" href="/customers/" data-astro-cid-sdvpe5d5> Customers </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-case-studies" href="/resources/case-studies/" data-astro-cid-sdvpe5d5> Case Studies </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-roi-calculator" href="/roi-calculator/" data-astro-cid-sdvpe5d5> ROI Calculator </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-security-at-netlify" href="/security/" data-astro-cid-sdvpe5d5> Security at Netlify </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-whitepaper" href="/whitepaper/" data-astro-cid-sdvpe5d5> Whitepaper </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Use Cases</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-company-websites" href="/for/company-websites/" data-astro-cid-sdvpe5d5> Company Websites </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-e-commerce" href="/for/ecommerce/" data-astro-cid-sdvpe5d5> E-commerce </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-web-apps" href="/for/web-applications/" data-astro-cid-sdvpe5d5> Web Apps </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-large-sites" href="/blog/2020/06/16/building-large-sites-on-netlify/" data-astro-cid-sdvpe5d5> Large Sites </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Don&#39;t see your solution?</h3> <p><strong>Don’t see your solution? </strong>We can help. <a href="https://www.netlify.com/enterprise/contact/?attr=homepage&ref=&id=nav-solutions-chat-with-netlify-expert">Chat with a Netlify expert</a></p> </div> </div> </submenu-utils> </li><li class data-astro-cid-2ioqeek6> <a id="main-nav-integrations" href="/integrations/" data-astro-cid-2ioqeek6> Integrations </a> </li><li class="has-submenu" data-astro-cid-2ioqeek6> <span id="main-nav-start-building" data-astro-cid-2ioqeek6>Start Building</span> <submenu-utils data-astro-cid-sdvpe5d5="true"> <button class="submenu-toggle" aria-haspopup="true" aria-expanded="false" data-astro-cid-sdvpe5d5> <span class="visually-hidden" data-astro-cid-sdvpe5d5>Toggle start building submenu</span> <svg width="1em" height="1em" viewBox="0 0 512 512" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="chevron"> <use href="#ai:local:chevron"></use> </svg> </button> <div id="start-building-submenu" class="submenu" data-theme="light" data-astro-cid-sdvpe5d5> <div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Where to start</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <a id="nav-docs" href="https://docs.netlify.com/" data-astro-cid-sdvpe5d5> Docs </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-developer-hub" href="https://developers.netlify.com/" data-astro-cid-sdvpe5d5> Developer Hub </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-templates" href="/integrations/templates/" data-astro-cid-sdvpe5d5> Templates </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-composable-commerce-101" href="/composable-commerce/" data-astro-cid-sdvpe5d5> Composable Commerce 101 </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-work-with-a-partner-agency" href="/agency-directory/" data-astro-cid-sdvpe5d5> Work with a Partner Agency </a> </li> </ul> </div><div class="section l-stack" data-astro-cid-sdvpe5d5> <h3 data-astro-cid-sdvpe5d5>Project kickstarts</h3> <ul class="l-stack" role="list" data-astro-cid-sdvpe5d5> <li data-astro-cid-sdvpe5d5> <svg width="0.8em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="astro"> <symbol id="ai:local:astro" viewBox="0 0 85 107"><path fill="currentColor" d="M27.59 91.137c-4.834-4.42-6.246-13.704-4.232-20.43 3.492 4.241 8.33 5.584 13.342 6.343 7.737 1.17 15.336.732 22.523-2.804.822-.405 1.582-.943 2.48-1.489.675 1.957.85 3.932.615 5.943-.573 4.896-3.01 8.678-6.885 11.545-1.55 1.147-3.19 2.172-4.79 3.253-4.917 3.323-6.247 7.22-4.4 12.888.044.139.084.277.183.614-2.51-1.124-4.344-2.76-5.742-4.911-1.475-2.27-2.177-4.78-2.214-7.498-.019-1.322-.019-2.656-.197-3.96-.434-3.178-1.926-4.601-4.737-4.683-2.884-.084-5.166 1.699-5.771 4.507-.046.216-.113.429-.18.68zM0 69.587s14.314-6.973 28.668-6.973L39.49 29.12c.405-1.62 1.588-2.72 2.924-2.72s2.518 1.1 2.924 2.72L56.16 62.614c17 0 28.668 6.973 28.668 6.973S60.514 3.352 60.467 3.219C59.769 1.261 58.591 0 57.003 0H27.827c-1.588 0-2.718 1.261-3.464 3.22C24.311 3.35 0 69.586 0 69.586"/></symbol><use href="#ai:local:astro"></use> </svg> <a id="nav-astro" href="https://docs.netlify.com/frameworks/astro/" data-astro-cid-sdvpe5d5> Astro </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="nextjs"> <symbol id="ai:local:nextjs" viewBox="0 0 24 24"><path fill="currentcolor" d="M11.573 0a5 5 0 0 0-.359.007L10.85.04c-3.407.307-6.6 2.146-8.622 4.972a11.9 11.9 0 0 0-2.119 5.243c-.096.659-.108.854-.108 1.747s.012 1.089.108 1.748c.652 4.506 3.86 8.292 8.209 9.695.779.25 1.6.422 2.534.525.363.04 1.935.04 2.299 0 1.611-.178 2.977-.577 4.323-1.264.207-.106.247-.134.219-.158-.02-.013-.9-1.193-1.955-2.62l-1.919-2.592-2.404-3.558a339 339 0 0 0-2.422-3.556c-.009-.002-.018 1.579-.023 3.51-.007 3.38-.01 3.515-.052 3.595a.43.43 0 0 1-.206.214c-.075.037-.14.044-.495.044H7.81l-.108-.068a.44.44 0 0 1-.157-.171l-.05-.106.006-4.703.007-4.705.072-.092a.7.7 0 0 1 .174-.143c.096-.047.134-.051.54-.051.478 0 .558.018.682.154a467 467 0 0 1 2.895 4.361l4.735 7.17 1.9 2.879.096-.063a12.3 12.3 0 0 0 2.466-2.163 11.94 11.94 0 0 0 2.824-6.134c.096-.66.108-.854.108-1.748 0-.893-.012-1.088-.108-1.747-.652-4.506-3.859-8.292-8.208-9.695a12.6 12.6 0 0 0-2.499-.523A33 33 0 0 0 11.573 0m4.068 7.217c.347 0 .408.005.486.047a.47.47 0 0 1 .237.277c.018.06.023 1.365.018 4.304l-.006 4.218-.744-1.14-.746-1.14v-3.066c0-1.982.01-3.097.023-3.15a.48.48 0 0 1 .233-.296c.096-.05.13-.054.5-.054z"/></symbol><use href="#ai:local:nextjs"></use> </svg> <a id="nav-next-js" href="/with/nextjs/" data-astro-cid-sdvpe5d5> Next.js </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="nuxtjs"> <symbol id="ai:local:nuxtjs" viewBox="0 0 24 24"><path fill="currentcolor" d="M13.464 19.83h8.922c.283 0 .562-.073.807-.21a1.6 1.6 0 0 0 .591-.574 1.53 1.53 0 0 0 .216-.783 1.53 1.53 0 0 0-.217-.782L17.792 7.414a1.6 1.6 0 0 0-.591-.573 1.65 1.65 0 0 0-.807-.21c-.283 0-.562.073-.807.21a1.6 1.6 0 0 0-.59.573L13.463 9.99 10.47 4.953a1.6 1.6 0 0 0-.591-.573 1.65 1.65 0 0 0-.807-.21c-.284 0-.562.073-.807.21a1.6 1.6 0 0 0-.591.573L.216 17.481a1.53 1.53 0 0 0-.217.782c0 .275.074.545.216.783a1.6 1.6 0 0 0 .59.574c.246.137.525.21.808.21h5.6c2.22 0 3.856-.946 4.982-2.79l2.733-4.593 1.464-2.457 4.395 7.382h-5.859Zm-6.341-2.46-3.908-.002 5.858-9.842 2.923 4.921-1.957 3.29c-.748 1.196-1.597 1.632-2.916 1.632"/></symbol><use href="#ai:local:nuxtjs"></use> </svg> <a id="nav-nuxt" href="/with/nuxt/" data-astro-cid-sdvpe5d5> Nuxt </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="gatsby"> <symbol id="ai:local:gatsby" viewBox="0 0 24 24"><path fill="currentcolor" d="M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.6 0 12 0m0 2.571c3.171 0 5.915 1.543 7.629 3.858l-1.286 1.115C16.886 5.572 14.571 4.286 12 4.286c-3.343 0-6.171 2.143-7.286 5.143l9.857 9.857c2.486-.857 4.373-3 4.973-5.572h-4.115V12h6c0 4.457-3.172 8.228-7.372 9.17L2.83 9.944C3.772 5.743 7.543 2.57 12 2.57zm-9.429 9.6 9.344 9.258c-2.4-.086-4.801-.943-6.601-2.743s-2.743-4.201-2.743-6.515"/></symbol><use href="#ai:local:gatsby"></use> </svg> <a id="nav-gatsby" href="/with/gatsby/" data-astro-cid-sdvpe5d5> Gatsby </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="wordpress"> <symbol id="ai:local:wordpress" viewBox="0 0 24 24"><path fill="currentcolor" d="M21.469 6.825c.84 1.537 1.318 3.3 1.318 5.175 0 3.979-2.156 7.456-5.363 9.325l3.295-9.527c.615-1.54.82-2.771.82-3.864 0-.405-.026-.78-.07-1.11m-7.981.105c.647-.03 1.232-.105 1.232-.105.582-.075.514-.93-.067-.899 0 0-1.755.135-2.88.135-1.064 0-2.85-.15-2.85-.15-.585-.03-.661.855-.075.885 0 0 .54.061 1.125.09l1.68 4.605-2.37 7.08L5.354 6.9c.649-.03 1.234-.1 1.234-.1.585-.075.516-.93-.065-.896 0 0-1.746.138-2.874.138-.2 0-.438-.008-.69-.015C4.911 3.15 8.235 1.215 12 1.215c2.809 0 5.365 1.072 7.286 2.833-.046-.003-.091-.009-.141-.009-1.06 0-1.812.923-1.812 1.914 0 .89.513 1.643 1.06 2.531.411.72.89 1.643.89 2.977 0 .915-.354 1.994-.821 3.479l-1.075 3.585-3.9-11.61zM12 22.784c-1.059 0-2.081-.153-3.048-.437l3.237-9.406 3.315 9.087q.036.078.078.149c-1.12.393-2.325.609-3.582.609M1.211 12c0-1.564.336-3.05.935-4.39L7.29 21.709A10.79 10.79 0 0 1 1.211 12M12 0C5.385 0 0 5.385 0 12s5.385 12 12 12 12-5.385 12-12S18.615 0 12 0"/></symbol><use href="#ai:local:wordpress"></use> </svg> <a id="nav-wordpress" href="/with/wordpress/" data-astro-cid-sdvpe5d5> Wordpress </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="react"> <symbol id="ai:local:react" viewBox="0 0 24 24"><path fill="currentcolor" d="M14.23 12.004a2.236 2.236 0 0 1-2.235 2.236 2.236 2.236 0 0 1-2.236-2.236 2.236 2.236 0 0 1 2.235-2.236 2.236 2.236 0 0 1 2.236 2.236m2.648-10.69c-1.346 0-3.107.96-4.888 2.622-1.78-1.653-3.542-2.602-4.887-2.602-.41 0-.783.093-1.106.278-1.375.793-1.683 3.264-.973 6.365C1.98 8.917 0 10.42 0 12.004c0 1.59 1.99 3.097 5.043 4.03-.704 3.113-.39 5.588.988 6.38.32.187.69.275 1.102.275 1.345 0 3.107-.96 4.888-2.624 1.78 1.654 3.542 2.603 4.887 2.603.41 0 .783-.09 1.106-.275 1.374-.792 1.683-3.263.973-6.365C22.02 15.096 24 13.59 24 12.004c0-1.59-1.99-3.097-5.043-4.032.704-3.11.39-5.587-.988-6.38a2.17 2.17 0 0 0-1.092-.278zm-.005 1.09v.006c.225 0 .406.044.558.127.666.382.955 1.835.73 3.704-.054.46-.142.945-.25 1.44a23.5 23.5 0 0 0-3.107-.534A24 24 0 0 0 12.769 4.7c1.592-1.48 3.087-2.292 4.105-2.295zm-9.77.02c1.012 0 2.514.808 4.11 2.28-.686.72-1.37 1.537-2.02 2.442a23 23 0 0 0-3.113.538 15 15 0 0 1-.254-1.42c-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05q.684.704 1.36 1.564c-.44-.02-.89-.034-1.345-.034q-.691-.001-1.36.034c.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093q.61.874 1.183 1.86.557.961 1.018 1.946c-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87a25.6 25.6 0 0 1-4.412.005 27 27 0 0 1-1.183-1.86q-.557-.961-1.018-1.946a25 25 0 0 1 1.013-1.954c.38-.66.773-1.286 1.18-1.868A25 25 0 0 1 12 8.098zm-3.635.254c-.24.377-.48.763-.704 1.16q-.336.585-.635 1.174c-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0q1.044.153 2.006.387c-.18.632-.405 1.282-.66 1.933a26 26 0 0 0-1.345-2.32zm3.063.675q.727.226 1.375.498c1.732.74 2.852 1.708 2.852 2.476-.005.768-1.125 1.74-2.857 2.475-.42.18-.88.342-1.355.493a24 24 0 0 0-1.1-2.98c.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98a23 23 0 0 0-1.086 2.964c-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474s1.12-1.742 2.852-2.476c.42-.18.88-.342 1.356-.494m11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39a26 26 0 0 0 1.341-2.338zm-9.945.02c.2.392.41.783.64 1.175q.345.586.705 1.143a22 22 0 0 1-2.006-.386c.18-.63.406-1.282.66-1.933zM17.92 16.32c.112.493.2.968.254 1.423.23 1.868-.054 3.32-.714 3.708-.147.09-.338.128-.563.128-1.012 0-2.514-.807-4.11-2.28.686-.72 1.37-1.536 2.02-2.44 1.107-.118 2.154-.3 3.113-.54zm-11.83.01c.96.234 2.006.415 3.107.532.66.905 1.345 1.727 2.035 2.446-1.595 1.483-3.092 2.295-4.11 2.295a1.2 1.2 0 0 1-.553-.132c-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64q.661.032 1.345.034.691.001 1.36-.034c-.44.572-.895 1.095-1.345 1.565q-.684-.706-1.36-1.565"/></symbol><use href="#ai:local:react"></use> </svg> <a id="nav-react" href="/with/react/" data-astro-cid-sdvpe5d5> React </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="vue"> <symbol id="ai:local:vue" viewBox="0 0 24 24"><path fill="currentcolor" d="M24 1.61h-9.94L12 5.16 9.94 1.61H0l12 20.78ZM12 14.08 5.16 2.23h4.43L12 6.41l2.41-4.18h4.43Z"/></symbol><use href="#ai:local:vue"></use> </svg> <a id="nav-vue" href="/with/vue/" data-astro-cid-sdvpe5d5> Vue </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="svelte"> <symbol id="ai:local:svelte" viewBox="0 0 24 24"><path fill="currentcolor" d="M10.354 21.125a4.44 4.44 0 0 1-4.765-1.767 4.1 4.1 0 0 1-.703-3.107 4 4 0 0 1 .134-.522l.105-.321.287.21a7.2 7.2 0 0 0 2.186 1.092l.208.063-.02.208a1.25 1.25 0 0 0 .226.83 1.34 1.34 0 0 0 1.435.533 1.2 1.2 0 0 0 .343-.15l5.59-3.562a1.16 1.16 0 0 0 .524-.778 1.24 1.24 0 0 0-.211-.937 1.34 1.34 0 0 0-1.435-.533 1.2 1.2 0 0 0-.343.15l-2.133 1.36a4 4 0 0 1-1.135.499 4.44 4.44 0 0 1-4.765-1.766 4.1 4.1 0 0 1-.702-3.108 3.86 3.86 0 0 1 1.742-2.582l5.589-3.563a4 4 0 0 1 1.135-.499 4.44 4.44 0 0 1 4.765 1.767 4.1 4.1 0 0 1 .703 3.107 4 4 0 0 1-.134.522l-.105.321-.286-.21a7.2 7.2 0 0 0-2.187-1.093l-.208-.063.02-.207a1.25 1.25 0 0 0-.226-.831 1.34 1.34 0 0 0-1.435-.532 1.2 1.2 0 0 0-.343.15L8.62 9.368a1.16 1.16 0 0 0-.524.778 1.24 1.24 0 0 0 .211.937 1.34 1.34 0 0 0 1.435.533 1.2 1.2 0 0 0 .344-.151l2.132-1.36a4 4 0 0 1 1.135-.498 4.44 4.44 0 0 1 4.765 1.766 4.1 4.1 0 0 1 .702 3.108 3.86 3.86 0 0 1-1.742 2.583l-5.589 3.562a4 4 0 0 1-1.135.499m10.358-17.95C18.484-.015 14.082-.96 10.9 1.068L5.31 4.63a6.4 6.4 0 0 0-2.896 4.295 6.75 6.75 0 0 0 .666 4.336 6.4 6.4 0 0 0-.96 2.396 6.83 6.83 0 0 0 1.168 5.167c2.229 3.19 6.63 4.135 9.812 2.108l5.59-3.562a6.4 6.4 0 0 0 2.896-4.295 6.76 6.76 0 0 0-.665-4.336 6.4 6.4 0 0 0 .958-2.396 6.83 6.83 0 0 0-1.167-5.168"/></symbol><use href="#ai:local:svelte"></use> </svg> <a id="nav-svelte" href="/with/svelte/" data-astro-cid-sdvpe5d5> Svelte </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="sitecore"> <symbol id="ai:local:sitecore" viewBox="0 0 50 50"><path fill="currentColor" d="M25 2C12.317 2 2 12.318 2 25s10.317 23 23 23 23-10.318 23-23S37.683 2 25 2m0 6c9.374 0 17 7.626 17 17s-7.626 17-17 17S8 34.374 8 25 15.626 8 25 8m9.244 5.21-6.531 4.546.426.73c.007.015.821 1.435.861 3.514.033 1.654 0 9-11 9-3 0-7-1-7-1s3 3 11 3c10.842 0 10.999-11.512 11-12.002l.004-.996L39.133 20a15.1 15.1 0 0 0-4.889-6.79m.694 8.79C34.629 25.204 32.804 35 22 35c-3.375 0-6.494-.665-8.883-1.379C14.864 34.993 18.375 37 24 37c7.335 0 11.096-6.431 11.133-6.496l.53-.93 2.849 1.899A14.9 14.9 0 0 0 40 25a15 15 0 0 0-.322-3zm1.343 10.389C34.845 34.386 30.792 39 24 39c-2.383 0-4.43-.335-6.166-.836A14.85 14.85 0 0 0 25 40c5.236 0 9.847-2.701 12.531-6.777z"/></symbol><use href="#ai:local:sitecore"></use> </svg> <a id="nav-sitecore" href="/with/sitecore/" data-astro-cid-sdvpe5d5> Sitecore </a> </li><li data-astro-cid-sdvpe5d5> <svg width="1em" height="1em" aria-hidden="true" data-astro-cid-sdvpe5d5="true" data-icon="jamstack"> <symbol id="ai:local:jamstack" viewBox="0 0 24 24"><path fill="currentcolor" d="M12 0C5.365 0 0 5.364 0 12s5.365 12 12 12 12-5.364 12-12V0zm.496 3.318h8.17v8.17h-8.17zm-9.168 9.178h8.16v8.149c-4.382-.257-7.904-3.767-8.16-8.149m9.168.016h8.152a8.684 8.684 0 0 1-8.152 8.148z"/></symbol><use href="#ai:local:jamstack"></use> </svg> <a id="nav-jamstack" href="/jamstack/" data-astro-cid-sdvpe5d5> Jamstack </a> </li><li data-astro-cid-sdvpe5d5> <a id="nav-more" href="/integrations/frameworks/" data-astro-cid-sdvpe5d5> +More </a> </li> </ul> </div> </div> </submenu-utils> </li><li class data-astro-cid-2ioqeek6> <a id="main-nav-docs" href="https://docs.netlify.com/" data-astro-cid-2ioqeek6> Docs </a> </li><li class data-astro-cid-2ioqeek6> <a id="main-nav-pricing" href="/pricing/" data-astro-cid-2ioqeek6> Pricing </a> </li><li class="nav-search" data-astro-cid-2ioqeek6> <button id="cta-main-nav-search" class="site-search-toggle" data-site-search-open class="search-toggle" data-astro-cid-3dk7mn5f> <span class="visually-hidden" data-astro-cid-3dk7mn5f>Search</span> <svg width="16" height="20" viewBox="0 0 22 24" aria-hidden="true" data-astro-cid-3dk7mn5f="true" data-icon="search"> <use href="#ai:local:search"></use> </svg> </button> </li><li class data-astro-cid-2ioqeek6> <a id="main-nav-contact" href="/contact/" data-astro-cid-2ioqeek6> Contact </a> </li><li class data-astro-cid-2ioqeek6> <a id="main-nav-login" href="https://app.netlify.com/login" data-astro-cid-2ioqeek6> Log in </a> </li> </ul> <a id="signup" href="https://app.netlify.com/signup" class="button" data-type="primary" data-astro-cid-2ioqeek6> Sign up</a> </nav> <site-search class="className" data-astro-cid-pkfvzmd6="true"> <dialog id="site-search-dialog" class="l-center" data-theme="light" data-astro-cid-pkfvzmd6> <button class="close" type="reset" onclick="this.closest('dialog').close('cancel')" data-astro-cid-pkfvzmd6> <span class="visually-hidden" data-astro-cid-pkfvzmd6>Close search modal</span> <svg width="0.75em" height="1em" aria-hidden="true" data-astro-cid-pkfvzmd6="true" data-icon="close"> <symbol id="ai:local:close" viewBox="0 0 384 512"><path fill="currentcolor" d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3l105.4 105.3c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256z"/></symbol><use href="#ai:local:close"></use> </svg> </button> <div class="l-center l-stack" data-astro-cid-pkfvzmd6> <div class="search-input" data-astro-cid-pkfvzmd6> <label class="visually-hidden" for="site-search" data-astro-cid-pkfvzmd6>Search Netlify:</label> <input id="site-search" type="text" placeholder="Start typing to search" autofocus data-astro-cid-pkfvzmd6> </div> <article class="results" data-astro-cid-pkfvzmd6></article> </div> </dialog> </site-search> <script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.17.0/dist/algoliasearch-lite.umd.js" integrity="sha256-Lf9DrpGmcRip6OQzbcL6lnvNmoZNSKpyQX5pMlwatWE=" crossorigin="anonymous" defer></script> <script type="module" src="/_astro/SiteSearch.astro_astro_type_script_index_0_lang.HzBFYGfW.js"></script> </section> <script> const header = document.querySelector('.site-header'); document.documentElement.style.setProperty('--site-header-height', `${header.getBoundingClientRect().height}px`); const resizeObserver = new ResizeObserver(([el]) => { document.documentElement.style.setProperty('--site-header-height', `${el.contentRect.height}px`); }); header && resizeObserver.observe(header); </script> </header> <script type="module">const t=document.querySelector("[data-site-nav-toggle]");t?.addEventListener("click",function(){let e=this.getAttribute("aria-expanded")==="true"||!1;document.documentElement.toggleAttribute("data-site-nav-open",!e),this.setAttribute("aria-expanded",String(!e))});</script> <main id="main"> <div class="l-stack l-stack-3xl"><section class="pancake | l-section" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.0" data-theme="dark-gradient" data-astro-cid-5mutinvq style="--breakout-area: content;--pancake-align-items: center;"> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq="true" data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;--pancake-align-items: center;"> <div class="ingredient l-breakout ingredient-custom-image" data-astro-cid-gfez5emt style="--stack-space: var(--space-l);--max-width: 86px;"> <img src="/_astro/e637ca9cc7f8c117e852023a66505d728cf3ac75-86x87_2nJttY.svg" alt data-sb-object-id="image-e637ca9cc7f8c117e852023a66505d728cf3ac75-86x87-svg" data-astro-cid-jbhojhg7="true" width="86" height="87" loading="lazy" decoding="async"> </div> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h1 data-sb-field-path=".ingredients.1" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-heading text-5 font-semibold text-center"><span data-astro-cid-u4qoyrkz style="">Next.js on Netlify</span> </h1> </div> <div class="ingredient l-breakout ingredient-call-to-action-group" data-astro-cid-gfez5emt style="--stack-space: var(--space-xl);"> <div class="cta-group | l-cluster" data-sb-field-path=".ingredients.2" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: center;--cluster-gap: var(--space-m);--cta-min-width: auto;"> <a class="button" data-type="primary" id="cta-next-hero-request-demo" href="/contact?attr=cta-next-hero" data-sb-field-path=".items.0" data-astro-cid-sc466a3x="true">Request demo</a><a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" id="cta-withNext-getStartedWithTemplate" data-sb-field-path=".items.1" href="#templates" data-astro-cid-sc466a3x="true" data-astro-cid-tcbm7f7q="true" class="button cta-arrow-link"> <span data-astro-cid-tcbm7f7q="true">Get started with a template</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <symbol id="ai:local:arrow" viewBox="0 0 448 512"><path fill="currentcolor" d="M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h306.7L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"/></symbol><use href="#ai:local:arrow"></use> </svg></span> </a> </div> </div> </div> </section> <section class="pancake | l-section pancake-margin-top-override" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.1" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-xl);--pancake-align-items: center;"> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq="true" data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-xl);--pancake-align-items: center;"> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h3 data-sb-field-path=".ingredients.0" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-primary text-05 font-regular text-center"><span data-astro-cid-u4qoyrkz style="">Leading web teams run Next.js on Netlify</span> </h3> </div> <div class="ingredient l-breakout ingredient-logos" data-astro-cid-gfez5emt style="--stack-space: var(--space-xl);"> <div class="l-center l-stack" data-astro-cid-tzrpxpba> <div class="logo-marquee l-grid" data-sb-field-path=".ingredients.1" count="10" data-astro-cid-tzrpxpba="true" data-astro-cid-h2jlyvcc> <ul role="list" data-astro-cid-h2jlyvcc> <li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/64e2c93cdcc6421b0e14f8fe13fe21093d0e03fe-3984x540.png?auto=format" alt="Sennheiser" height="540" width="3984" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/dc5de42aa955df094081619ad145949134528ed5-120x27.svg?auto=format" alt="Navan" height="27" width="120" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/fdfe781527e6e4cede0c63e93e0e6f3edd81d2a4-150x32.svg?auto=format" alt="Gemini" height="32" width="150" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/2415bf7522831f59b92c78fe95a44cccf648af6b-500x82.svg?auto=format" alt="UW Health" height="82" width="500" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/f1cd28e466fbeeaaf01c2e9b154225101e4e7f14-1823x289.svg?auto=format" alt="Bejamas" height="289" width="1823" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/f72431884fcf944a17c42b6eac115cfa04dc6e49-1200x241.svg?auto=format" alt="Docusign" height="241" width="1200" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/fd2a0abca635e30b8577b4e073976316f1a5125a-1901x607.png?auto=format" alt="DevClass" height="607" width="1901" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/cf1b385b25e6175a71ca6880e95dd67aff156280-1000x199.svg?auto=format" alt="Asana" height="199" width="1000" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/9976a76ed6116802b99384d4ecc665534f82e6cf-1200x551.png?auto=format" alt="Rapha" height="551" width="1200" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/a0b089cda9284482a2a0e140b74986a2afde4c47-149x19.svg?auto=format" alt="Mammut" height="19" width="149" data-astro-cid-tzrpxpba> </li> </ul><ul role="list" aria-hidden="true" data-astro-cid-h2jlyvcc> <li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/64e2c93cdcc6421b0e14f8fe13fe21093d0e03fe-3984x540.png?auto=format" alt="Sennheiser" height="540" width="3984" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/dc5de42aa955df094081619ad145949134528ed5-120x27.svg?auto=format" alt="Navan" height="27" width="120" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/fdfe781527e6e4cede0c63e93e0e6f3edd81d2a4-150x32.svg?auto=format" alt="Gemini" height="32" width="150" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/2415bf7522831f59b92c78fe95a44cccf648af6b-500x82.svg?auto=format" alt="UW Health" height="82" width="500" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/f1cd28e466fbeeaaf01c2e9b154225101e4e7f14-1823x289.svg?auto=format" alt="Bejamas" height="289" width="1823" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/f72431884fcf944a17c42b6eac115cfa04dc6e49-1200x241.svg?auto=format" alt="Docusign" height="241" width="1200" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/fd2a0abca635e30b8577b4e073976316f1a5125a-1901x607.png?auto=format" alt="DevClass" height="607" width="1901" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/cf1b385b25e6175a71ca6880e95dd67aff156280-1000x199.svg?auto=format" alt="Asana" height="199" width="1000" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/9976a76ed6116802b99384d4ecc665534f82e6cf-1200x551.png?auto=format" alt="Rapha" height="551" width="1200" data-astro-cid-tzrpxpba> </li><li data-astro-cid-tzrpxpba> <img src="https://cdn.sanity.io/images/o0o2tn5x/marketing/a0b089cda9284482a2a0e140b74986a2afde4c47-149x19.svg?auto=format" alt="Mammut" height="19" width="149" data-astro-cid-tzrpxpba> </li> </ul> </div> </div> </div> </div> </section> <section class="pancake | l-section pancake-margin-top-override" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.2" data-theme="light-gradient" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-xl);--pancake-align-items: center;--rotation-gradient-bg: 180deg;"> <picture class="pancake-graphics" data-options="" gradientAngle="180" data-astro-cid-5mutinvq="true" data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-xl);--pancake-align-items: center;--rotation-gradient-bg: 180deg;"> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h2 data-sb-field-path=".ingredients.0" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-heading text-3 font-semibold text-center"><span data-astro-cid-u4qoyrkz style="">Deploy Next.js the better way</span> </h2> </div> <div class="ingredient l-breakout ingredient-import" data-astro-cid-gfez5emt style=""> <div class="pitch | l-center l-stack text-center text-05" data-astro-cid-twjk2sg2> <p data-astro-cid-twjk2sg2>Teams running Next.js projects on Netlify have access to</p> <div class="wrapper" data-astro-cid-twjk2sg2> <p class="c-badge heading text-05" data-astro-cid-twjk2sg2>The latest framework features</p> <span data-astro-cid-twjk2sg2>+</span> <p class="c-badge heading text-05" data-astro-cid-twjk2sg2>Netlify platform primitives</p> </div> <p data-astro-cid-twjk2sg2>Powerful tools for scaling high-impact experiences</p> </div> </div> </div> </section> <section class="pancake | l-section pancake-margin-top-override" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.3" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-3xs);--pancake-align-items: left;"> <content-aware-pattern-tiles minTileSize="25" maxTileSize="50" minContentDist="48" density="0.5" data-astro-cid-7t2o67cz="true"> <!-- add tile SVG to the dom rather than requesting assets on the client --> <div class="tile-source" style="display: none;" data-astro-cid-7t2o67cz> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M51 100C78.062 100 100 78.062 100 51C100 23.938 78.062 2 51 2C23.938 2 2 23.938 2 51C2 78.062 23.938 100 51 100ZM51 102C79.1665 102 102 79.1665 102 51C102 22.8335 79.1665 0 51 0C22.8335 0 0 22.8335 0 51C0 79.1665 22.8335 102 51 102Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 202 202" height="202" width="202"> <path fill="#EDF4FF" d="M0 202C0 201.333 0.00323693 200.666 0.00969594 200C1.07641 90.0255 90.0255 1.07641 200 0.00969594C200.666 0.00323693 201.333 0 202 0V202H0ZM200 200V2.00979C91.1301 3.07637 3.07637 91.1301 2.00979 200H200Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M4.45856e-06 0C0.668191 0 1.33488 0.00642504 2 0.0192166C56.7448 1.07206 100.928 45.2552 101.981 100C101.994 100.665 102 101.332 102 102L0 102L4.45856e-06 0ZM2 2.0196L2 100L99.9804 100C98.9281 46.3598 55.6402 3.07188 2 2.0196Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 202 202" height="202" width="202"> <path fill="#EDF4FF" d="M8.8297e-06 0C0.667436 0 1.33411 0.00323699 2.00001 0.00969603C111.974 1.07642 200.924 90.0255 201.99 200C201.997 200.666 202 201.333 202 202L0 202L8.8297e-06 0ZM2.00001 2.00979L2 200L199.99 200C198.924 91.1301 110.87 3.07637 2.00001 2.00979Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M0 102C0 101.332 0.00642498 100.665 0.0192165 100C1.07205 45.2552 45.2551 1.07205 100 0.0192165C100.665 0.00642497 101.332 0 102 0V102H0ZM100 100V2.0196C46.3598 3.07188 3.07188 46.3598 2.0196 100H100Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M100 2H2V100H100V2ZM0 0V102H102V0H0Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 202 202" height="202" width="202"> <path fill="#EDF4FF" d="M200 2H2V200H200V2ZM0 0V202H202V0H0Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 302" height="302" width="102"> <path fill="#EDF4FF" d="M100 2H2V300H100V2ZM0 0V302H102V0H0Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </div> </content-aware-pattern-tiles> <script type="module">function g(s,e){return[...e].map(n=>{const i=s.getBoundingClientRect(),o=n.getBoundingClientRect(),c=o.left-i.left,a=o.top-i.top;return{x:c,y:a,width:o.width,height:o.height}})}function p(s,e=300){let n;return function(...i){clearTimeout(n),n=setTimeout(()=>s.apply(this,i),e)}}class f extends HTMLElement{static observedAttributes=["minTileSize","maxTileSize","minContentDist"];connectedCallback(){const e=this.querySelector(".tile-source"),n=this.parentNode;if(!e||!n)return;const i=parseFloat(this.getAttribute("minTileSize")),o=parseFloat(this.getAttribute("maxTileSize")),c=parseFloat(this.getAttribute("minContentDist")),a=parseFloat(this.getAttribute("density")),l=new Worker(new URL("/_astro/tiles-worker-CXJ7JtVM.js",import.meta.url),{type:"module"}),d=[...e.querySelectorAll(".tile-source > svg")].map(t=>t.outerHTML);e.remove();const u=n.querySelectorAll(":where(h1, h2, h3, h4, h5, h6, p, button, a, img, video, svg, iframe, li, .card, .c-card, .ingredient-logos):not([data-pattern-overlap])"),h=p(()=>{const{width:t,height:r}=this.getBoundingClientRect();if(t<=0||r<=0)return;const m=g(this,u);l.postMessage({width:t,height:r,tileSVGs:d,domRects:m,minTileSize:i,maxTileSize:o,minContentDist:c,density:a,dpr:window.devicePixelRatio})},300);[this,...u].forEach(t=>{new ResizeObserver(h).observe(t)}),l.onmessage=t=>{const r=URL.createObjectURL(t.data);this.style.backgroundImage=`url(${r})`}}}customElements.define("content-aware-pattern-tiles",f);</script> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq="true" data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;--margin-block-start: var(--space-3xs);--pancake-align-items: left;"> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h3 data-sb-field-path=".ingredients.0" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-heading text-2 font-semibold text-left"><span data-astro-cid-u4qoyrkz style="">Built-in Next.js support</span> </h3> </div> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style="--stack-space: var(--space-s);--max-width: 60ch;"> <p data-sb-field-path=".ingredients.1" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-primary text-05 font-regular text-left"><span data-astro-cid-u4qoyrkz style="">Ship Next.js websites, ecommerce stores, and web apps with the platform built for the modern developer.</span> </p> </div> <div class="ingredient l-breakout ingredient-import" data-astro-cid-gfez5emt style=""> <div class="cards" data-sb-object-id="src/data/next-built-in-support-cards.json" data-astro-cid-iiyc7mc2> <div data-sb-field-path=".cards.0" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="true" data-repel-ctas="true" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="2:1"><img src="/images/next-runtime.png" alt width="1200" height="630" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="blue">Documentation</span> </div> <h3 class="c-card-title heading">Next.js runtime v5</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Improved site reliability, performance, and ease of maintenance and deployment for Next.js projects.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://nextjs-platform-starter.netlify.app/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <symbol id="ai:local:bolt" viewBox="0 0 448 512"><path fill="currentColor" d="M321.7 0c19.1 0 32.9 18.3 27.6 36.6L295.8 224H381c19.3 0 34.9 15.6 34.9 34.9 0 10.3-4.5 20-12.3 26.6L144.9 505.2c-5.2 4.4-11.8 6.8-18.6 6.8-19.1 0-32.9-18.3-27.6-36.6L152.2 288H65.7C47.1 288 32 272.9 32 254.3c0-9.9 4.3-19.2 11.8-25.6L303.1 6.9c5.2-4.5 11.8-6.9 18.6-6.9m-36.1 85L104.4 240H184c7.5 0 14.6 3.5 19.2 9.5s6 13.8 3.9 21l-44.8 157L345.5 272H264c-7.5 0-14.6-3.5-19.2-9.5s-6-13.8-3.9-21z"/></symbol><use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/frameworks/next-js/overview/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.1" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="true" data-repel-ctas="true" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="2:1"><img src="/images/app-router.png" alt width="1200" height="630" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="blue">Documentation</span> </div> <h3 class="c-card-title heading">App Router</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Full support of newer App Router and classic Pages Router. Map each file to a route with a file-system router and unlock React’s latest features, such as <a href="https://legacy.reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html">Server Components</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/API/Streams_API">Streaming</a>, and <a href="https://react.dev/reference/rsc/use-server">Server Actions and Mutations</a> on Netlify.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://nextjs-platform-starter.netlify.app/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/frameworks/next-js/overview/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.2" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="true" data-repel-ctas="true" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="2:1"><img src="/images/time-based-ISR.png" alt width="1200" height="630" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="blue">Documentation</span> </div> <h3 class="c-card-title heading">On-demand and Time-based revalidation (ISR)</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Easily define component-specific revalidation strategies to build fresh, dynamic, interactive experiences.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://nextjs-platform-starter.netlify.app/revalidation" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/platform/caching/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.3" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="false" data-repel-ctas="true" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="blue">Documentation</span> </div> <h3 class="c-card-title heading">Cache tags</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Easily assign content tags to invalidate, purge, and control content effortlessly.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://cache-tags-and-purge-api.netlify.app/cache-tag" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/platform/caching/#add-cache-tags" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.4" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="false" data-repel-ctas="true" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="blue">Documentation</span> </div> <h3 class="c-card-title heading">End-to-end framework testing</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Comprehensive end-to-end (E2E) testing ensures full compatibility with the latest framework features and enhancements.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://nextjs-platform-starter.netlify.app/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/frameworks/next-js/overview/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.5" data-callout="true" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="false" data-repel-ctas="true" class="c-basic-card"> <div class="body"> <h3 class="c-card-title heading">Looking for a feature?</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>If you’d like to know about Next.js support for a feature not listed here, browse our docs or reach out for a demo. We’d love to show you around.</p> </div> </div> </div> <div class="ctas"> <a data-type="secondary" data-inline-icon="false" data-icon-only="false" href="/contact/?attr=cta-next-looking-for-a-feature-request-demo" data-astro-cid-tcbm7f7q="true" class="button"> Request demo </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/frameworks/next-js/overview/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Browse the docs</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div> </div> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.4" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h3 data-sb-field-path=".ingredients.0" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-heading text-2 font-semibold text-left"><span data-astro-cid-u4qoyrkz style="">Get more from your framework with platform primitives</span> </h3> </div> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style="--stack-space: var(--space-s);--max-width: 60ch;"> <p data-sb-field-path=".ingredients.1" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-primary text-05 font-regular text-left"><span data-astro-cid-u4qoyrkz style="">Unlock advanced functionality and controls for dynamic websites with our framework-agnostic runtime features.</span> </p> </div> <div class="ingredient l-breakout ingredient-import" data-astro-cid-gfez5emt style=""> <div class="cards primitives-cards" data-sb-object-id="src/data/next-platform-primitives-cards.json" data-astro-cid-6irl4bqx="true" data-astro-cid-iiyc7mc2> <div data-sb-field-path=".cards.0" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="false" data-repel-ctas="true" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="teal">Blog</span> <span class="metadata">September 28, 2023</span> </div> <h3 class="c-card-title heading">Fine-grained cache control</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Precise control over CDN content, ensuring that updates are deployed efficiently and serving dynamic content stays in alignment with customers’ needs and business strategies.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://netlify-edge-cache-demo.netlify.app/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://www.netlify.com/blog/swr-and-fine-grained-cache-control/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.1" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="false" data-repel-ctas="true" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="teal">Blog</span> <span class="metadata">April 30, 2024</span> </div> <h3 class="c-card-title heading">Image CDN</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Go beyond basic image handling, with advanced image manipulation across any framework, ensuring optimal performance and user experience.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://nextjs-platform-starter.netlify.app/image-cdn" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://www.netlify.com/blog/netlify-image-cdn-seamlessly-resize-crop-and-deliver-optimized-media-globally/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.2" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="false" data-repel-ctas="true" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="blue">Documentation</span> </div> <h3 class="c-card-title heading">Blobs</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>Gain streamlined access to unstructured data storage, enhancing functionality like cross-device cart syncing in e-commerce applications and more.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="bolt" href="https://nextjs-platform-starter.netlify.app/blobs" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Live demo</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="bolt"> <use href="#ai:local:bolt"></use> </svg></span> </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/blobs/overview/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.3" data-callout="true" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="false" data-repel-ctas="true" class="c-basic-card"> <div class="body"> <h3 class="c-card-title heading">Want to see more?</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>There’s lots to explore with the Netlify platform. Let us show you around.</p> </div> </div> </div> <div class="ctas"> <a data-type="secondary" data-inline-icon="false" data-icon-only="false" href="/contact?attr=cta-next-want-to-see-more" data-astro-cid-tcbm7f7q="true" class="button"> Request demo </a> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="https://docs.netlify.com/platform/primitives/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">See the primitives guide</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div> </div> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.5" data-theme="light-gradient" data-astro-cid-5mutinvq style="--breakout-area: content;--padding-block-start: var(--space-0);"> <content-aware-pattern-tiles minTileSize="25" maxTileSize="50" minContentDist="48" density="0.5" data-astro-cid-7t2o67cz="true"> <!-- add tile SVG to the dom rather than requesting assets on the client --> <div class="tile-source" style="display: none;" data-astro-cid-7t2o67cz> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M51 100C78.062 100 100 78.062 100 51C100 23.938 78.062 2 51 2C23.938 2 2 23.938 2 51C2 78.062 23.938 100 51 100ZM51 102C79.1665 102 102 79.1665 102 51C102 22.8335 79.1665 0 51 0C22.8335 0 0 22.8335 0 51C0 79.1665 22.8335 102 51 102Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 202 202" height="202" width="202"> <path fill="#EDF4FF" d="M0 202C0 201.333 0.00323693 200.666 0.00969594 200C1.07641 90.0255 90.0255 1.07641 200 0.00969594C200.666 0.00323693 201.333 0 202 0V202H0ZM200 200V2.00979C91.1301 3.07637 3.07637 91.1301 2.00979 200H200Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M4.45856e-06 0C0.668191 0 1.33488 0.00642504 2 0.0192166C56.7448 1.07206 100.928 45.2552 101.981 100C101.994 100.665 102 101.332 102 102L0 102L4.45856e-06 0ZM2 2.0196L2 100L99.9804 100C98.9281 46.3598 55.6402 3.07188 2 2.0196Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 202 202" height="202" width="202"> <path fill="#EDF4FF" d="M8.8297e-06 0C0.667436 0 1.33411 0.00323699 2.00001 0.00969603C111.974 1.07642 200.924 90.0255 201.99 200C201.997 200.666 202 201.333 202 202L0 202L8.8297e-06 0ZM2.00001 2.00979L2 200L199.99 200C198.924 91.1301 110.87 3.07637 2.00001 2.00979Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M0 102C0 101.332 0.00642498 100.665 0.0192165 100C1.07205 45.2552 45.2551 1.07205 100 0.0192165C100.665 0.00642497 101.332 0 102 0V102H0ZM100 100V2.0196C46.3598 3.07188 3.07188 46.3598 2.0196 100H100Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 102" height="102" width="102"> <path fill="#EDF4FF" d="M100 2H2V100H100V2ZM0 0V102H102V0H0Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 202 202" height="202" width="202"> <path fill="#EDF4FF" d="M200 2H2V200H200V2ZM0 0V202H202V0H0Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 102 302" height="302" width="102"> <path fill="#EDF4FF" d="M100 2H2V300H100V2ZM0 0V302H102V0H0Z" clip-rule="evenodd" fill-rule="evenodd"></path> </svg> </div> </content-aware-pattern-tiles> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq="true" data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;--padding-block-start: var(--space-0);"> <div class="ingredient l-breakout ingredient-custom-image" data-astro-cid-gfez5emt style="--max-width: 48px;--align-self: center;"> <img src="/_astro/243d4c4fd5a002038b94432551a025fb6ef0c6ad-48x49_Z88rXh.svg" alt data-sb-object-id="image-243d4c4fd5a002038b94432551a025fb6ef0c6ad-48x49-svg" data-astro-cid-jbhojhg7="true" width="48" height="49" loading="lazy" decoding="async"> </div> <div id="templates" class="ingredient l-breakout ingredient-section-header" data-astro-cid-gfez5emt style=""> <div class="b-heading text-center" id="templates" data-sb-field-path=".ingredients.1" _type="sectionHeader" _key="5ba50813c9e9" data-astro-cid-wk2votdk style="--heading-space: var(--space-s);--subheading-space: var(--space-l);--supporting-space: var(--space-s);"> <p class="preheading a-fade-in" data-variant data-sb-field-path=".preheading" data-astro-cid-wk2votdk style="--heading-space: var(--space-s);--subheading-space: var(--space-l);--supporting-space: var(--space-s);"> One-click starters </p> <h2 class="heading" data-sb-field-path=".heading" data-astro-cid-wk2votdk="true">Try it for yourself</h2> <div class="prose l-stack l-stack-medium supporting font-primary text-05" data-sb-field-path=".supporting.content" _type="markdownBlock" data-astro-cid-wk2votdk="true" data-astro-cid-cnvtppup style=""> <p>Pick a high-performing Next.js template that meets your needs and get started in one click.</p> </div> </div> </div> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style="--stack-space: var(--space-2xl);"> <h3 data-sb-field-path=".ingredients.2" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-heading text-2 font-semibold text-left"><span data-astro-cid-u4qoyrkz style="">Netlify platform showcase</span> </h3> </div> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style="--stack-space: var(--space-s);"> <p data-sb-field-path=".ingredients.3" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-primary text-05 font-regular text-left"><span data-astro-cid-u4qoyrkz style="">These hand-picked Next.js templates showcase the power of the Netlify platform.</span> </p> </div> <div class="ingredient l-breakout ingredient-import" data-astro-cid-gfez5emt style=""> <div class="next-platform-template-cards"> <div class="card-container" data-astro-cid-ccoymqwb> <div data-featured-image="true" data-type="platform" data-astro-cid-ccoymqwb="true" class="c-card c-ecosystem-card"><figure class="c-card-featured-image" data-aspect-ratio="2:1"><img src="/_astro/e9b32523327424712f0fac279c77dbbff9629f18-1671x945_1N2qVl.webp" alt width="1671" height="945" loading="lazy" decoding="async"></figure><div class="body | l-stack" data-astro-cid-ccoymqwb> <div class="l-sidebar-last" data-astro-cid-ccoymqwb> <a href="https://github.com/netlify-templates/next-platform-starter" data-astro-cid-ccoymqwb> <h3 data-astro-cid-ccoymqwb="true" class="c-card-title heading">Next.js Platform Starter</h3> </a> <a class="github" href="https://github.com/netlify-templates/next-platform-starter" data-astro-cid-ccoymqwb> <svg width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="false" style="--icon-size: 1.5rem" data-astro-cid-ccoymqwb="true" data-astro-cid-patnjmll="true" class="icon" data-icon="nextjs"> <title>Github Page</title> <use href="#ai:local:nextjs"></use> </svg> </a> </div> <div class="description" data-astro-cid-ccoymqwb> <div class="prose l-stack" data-astro-cid-ccoymqwb="true" data-astro-cid-cnvtppup style=""> <p>On-demand revalidation, image optimization, edge routing, blobs and more. Powered by our platform primitives.</p> </div> </div> <div class="ctas" data-astro-cid-ccoymqwb> <a data-type="primary" data-variant="ui" data-inline-icon="false" data-icon-only="false" href="https://app.netlify.com/start/deploy?repository=https://github.com/netlify-templates/next-platform-starter" data-astro-cid-ccoymqwb="true" data-astro-cid-tcbm7f7q="true" class="button"> Deploy to Netlify </a> <a data-type="default" data-variant="ui" data-inline-icon="false" data-icon-only="false" href="https://nextjs-platform-starter.netlify.app/" data-astro-cid-ccoymqwb="true" data-astro-cid-tcbm7f7q="true" class="button"> View Demo </a> </div> </div> </div> </div> </div> </div> <div class="ingredient l-breakout ingredient-call-to-action-group" data-astro-cid-gfez5emt style="--stack-space: var(--space-xl);"> <div class="cta-group | l-cluster" data-sb-field-path=".ingredients.5" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: center;--cluster-gap: var(undefined);--cta-min-width: auto;"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" id="cta-withNextjs-seeMoreTemplates" data-sb-field-path=".items.0" href="https://app.netlify.com/start-with-template" data-astro-cid-sc466a3x="true" data-astro-cid-tcbm7f7q="true" class="button cta-arrow-link"> <span data-astro-cid-tcbm7f7q="true">See more templates</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.6" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="ingredient l-breakout ingredient-section-header" data-astro-cid-gfez5emt style=""> <div class="b-heading text-center" data-sb-field-path=".ingredients.0" _key="71562662-1558-4eb8-bf93-8ec1fe571065" _type="sectionHeader" data-astro-cid-wk2votdk style="--heading-space: var(--space-s);--subheading-space: var(--space-l);--supporting-space: var(--space-s);"> <p class="preheading a-fade-in" data-variant data-sb-field-path=".preheading" data-astro-cid-wk2votdk style="--heading-space: var(--space-s);--subheading-space: var(--space-l);--supporting-space: var(--space-s);"> Built on Netlify </p> <h2 class="heading" data-sb-field-path=".heading" data-astro-cid-wk2votdk="true">See what others have built with 
Next.js on Netlify</h2> </div> </div> <div class="ingredient l-breakout ingredient-import" data-astro-cid-gfez5emt style="--stack-space: var(--space-2xl);"> <div class="cards" data-sb-object-id="src/data/next-built-on-netlify-cards.json" data-astro-cid-iiyc7mc2> <div data-sb-field-path=".cards.0" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="true" data-repel-ctas="true" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="3:1"><img src="/images/docusign-card-featured-image (1).png" alt width="1200" height="630" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="gray">Case Study</span> </div> <h3 class="c-card-title heading">DocuSign Empowers Dev Teams with Netlify and Next.js</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>With the goal of accelerating time-to-market and providing a better developer experience, the DocuSign development team re-architected their marketing site with Next.js and Netlify.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="/blog/docusign-drupal-migration/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.1" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="true" data-repel-ctas="true" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="3:1"><img src="/images/uw-health-card-featured-image.png" alt width="1200" height="630" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="gray">Case Study</span> </div> <h3 class="c-card-title heading">How UW Health Serves Dynamic Data on their Jamstack Site with Netlify and Next.js</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>UW Health leveraged Netlify redirects and many other platform features to mitigate risks with an incremental migration from their previous stack.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="/blog/2021/09/20/how-uw-health-serves-dynamic-data-on-their-jamstack-site-with-netlify-and-next.js/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div><div data-sb-field-path=".cards.2" data-callout="false" data-astro-cid-iiyc7mc2="true" class="card-container"> <div data-framed="true" data-layout="vertical" data-featured-image="true" data-repel-ctas="true" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="3:1"><img src="/images/senheiser-featured-image.png" alt width="1200" height="630" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="light" data-color="gray">Case Study</span> </div> <h3 class="c-card-title heading">Sennheiser’s Large-Scale Migration to Composable Commerce</h3> <div class="description"> <div class="prose l-stack" slot="description" data-astro-cid-iiyc7mc2="true" data-astro-cid-cnvtppup style=""> <p>With the help of agency AKQA and a composable design system built with Netlify and headless Shopify, Sennheiser were able to build their minimum viable product in only 11 weeks.</p> </div> </div> </div> <div class="ctas"> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="/blog/sennheisers-large-scale-migration-to-headless-commerce/" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Learn more</span><span class="icon-wrapper" data-astro-cid-tcbm7f7q="true"><svg width="0.88em" height="1em" viewBox="0 0 448 512" aria-hidden="true" data-astro-cid-tcbm7f7q="true" data-astro-cid-patnjmll="true" class="icon" data-icon="arrow"> <use href="#ai:local:arrow"></use> </svg></span> </a> </div></div> </div> </div> </div> </div> </section> <section class="pancake | l-section pancake-border-bottom" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.7" data-theme="light" data-astro-cid-5mutinvq style="--breakout-area: content;--padding-block-start: var(--space-0);"> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq="true" data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;--padding-block-start: var(--space-0);"> <div class="ingredient l-breakout ingredient-testimonial" data-astro-cid-gfez5emt style=""> <div class="testimonial l-stack l-stack-medium l-center-xy" data-sb-field-path=".ingredients.0" data-type="false" data-show-logo="false" data-astro-cid-fkbbckhy style="--testimonial-graphic-bg-color: #f25930;--mark-color: #2e51ed;--mark-bg: tranparent;"><article class="testimonial-card | card l-stack l-center" data-theme="light" data-sb-object-id="AUF29vg7aeC8SCjWe7LSm2" data-astro-cid-fkbbckhy style="--testimonial-graphic-bg-color: #f25930;--mark-color: #2e51ed;--mark-bg: tranparent;"><figure class="l-sidebar-first" data-astro-cid-fkbbckhy style="--testimonial-graphic-bg-color: #f25930;--mark-color: #2e51ed;--mark-bg: tranparent;"><div class="testimonial-body | l-stack" data-astro-cid-fkbbckhy style="--testimonial-graphic-bg-color: #f25930;--mark-color: #2e51ed;--mark-bg: tranparent;"><blockquote class="quote" data-astro-cid-fkbbckhy style="--testimonial-graphic-bg-color: #f25930;--mark-color: #2e51ed;--mark-bg: tranparent;"><div class="prose l-stack" data-sb-field-path=".quote" data-astro-cid-fkbbckhy="true" data-astro-cid-cnvtppup style=""> <p>We selected Next.js on Netlify for our customer Spirent, a multinational telecommunications testing company. The customer is impressed by the <mark>ease in their web team’s workflow</mark> and the overall <mark>better site performance</mark> for their visitors.</p> </div> </blockquote><figcaption data-astro-cid-fkbbckhy style="--testimonial-graphic-bg-color: #f25930;--mark-color: #2e51ed;--mark-bg: tranparent;"><div class="author | l-sidebar-first" data-size-variant="inline" data-sb-object-id="8sOqd6BtQqVn4plEKfuqEs" data-astro-cid-fkbbckhy="true" data-astro-cid-2ri7i3m6> <img src="/_astro/f4c19dc359acfdcf2e4d44128c635a1f90256c99-164x164_b0fg9.webp" alt data-astro-cid-2ri7i3m6="true" data-astro-cid-jbhojhg7="true" width="140" height="140" loading="lazy" decoding="async" class="avatar"> <dl data-astro-cid-2ri7i3m6> <dt class="author-name | font-semibold tracking-tight" data-astro-cid-2ri7i3m6>Yashar Rassoulli</dt> <dd class="author-title | leading-snug" data-astro-cid-2ri7i3m6> <span data-astro-cid-2ri7i3m6>Former CTO,</span> <span data-astro-cid-2ri7i3m6>Orium</span> </dd> </dl> </div> </figcaption></div><div class="testimonial-graphic" data-astro-cid-fkbbckhy style="--testimonial-graphic-bg-color: #f25930;--mark-color: #2e51ed;--mark-bg: tranparent;"><img src="/_astro/5e1cca89c8f65fa05dc004633911d1a3ee30ec51-228x59_Z27nRWA.svg" alt="Orium logo" data-sb-field-path=".ingredients.0" data-astro-cid-fkbbckhy="true" data-astro-cid-jbhojhg7="true" width="228" height="59" loading="lazy" decoding="async" class="company-logo"></div></figure></article></div> </div> </div> </section> <section class="pancake | l-section" data-sb-field-path="24Pzcu3WAMcIgV6DCZijHx:pancakes.8" data-theme="light" data-astro-cid-5mutinvq style="--breakout-area: content;"> <picture class="pancake-graphics" data-options="" data-astro-cid-5mutinvq="true" data-astro-cid-dxfgtee3 style="--graphic-object-fit: cover;"> </picture> <div class="pancake-content | l-stack l-stack-medium" data-astro-cid-5mutinvq style="--breakout-area: content;"> <div class="ingredient l-breakout ingredient-heading" data-astro-cid-gfez5emt style=""> <h3 data-sb-field-path=".ingredients.0" data-astro-cid-u4qoyrkz="true" class="heading l-stack l-stack-3xs font-heading text-4 font-semibold text-center"><span data-astro-cid-u4qoyrkz style="">Ready to try Next.js on Netlify?</span> </h3> </div> <div class="ingredient l-breakout ingredient-call-to-action-group" data-astro-cid-gfez5emt style="--stack-space: var(--space-xl);"> <div class="cta-group | l-cluster" data-sb-field-path=".ingredients.1" data-cta-min-width="false" data-astro-cid-sc466a3x style="--cluster-justify: center;--cluster-gap: var(undefined);--cta-min-width: auto;"> <a class="button" data-type="primary" id="cta-next-ready-to-try" href="/contact?attr=cta-next-ready-to-try" data-sb-field-path=".items.0" data-astro-cid-sc466a3x="true">Request demo</a> </div> </div> </div> </section> </div> </main> <footer class="site-footer | l-breakout l-stack" data-astro-cid-gcn2mc3v> <div class="wrapper | l-cluster" data-astro-cid-7kdedvnl> <a href="/" id="cta-footer-netlifyLogo" data-astro-cid-3ynf2cxt> <span class="visually-hidden" data-astro-cid-3ynf2cxt>Go to Netlify homepage</span> <svg class="logo" width="128" height="113" viewBox="0 0 128 113" fill="none" xmlns="http://www.w3.org/2000/svg" data-astro-cid-3ynf2cxt> <g clip-path="url(#clip0_236_138)" data-astro-cid-3ynf2cxt> <path d="M34.593 94.0509H33.3844L27.3514 88.0179V86.8094L36.5743 77.5866H42.9639L43.8158 78.4385V84.8281L34.593 94.0509Z" fill="#05BDBA" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M27.3514 25.816V24.6074L33.3844 18.5744H34.593L43.8158 27.7972V34.1868L42.9639 35.0388H36.5743L27.3514 25.816Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M35.8412 61.4491H0.73307L0 60.716V51.9192L0.73307 51.1861H35.8412L36.5743 51.9192V60.716L35.8412 61.4491Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M127.277 61.4491H92.1687L91.4356 60.716V51.9192L92.1687 51.1861H127.277L128.01 51.9192V60.716L127.277 61.4491Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M58.9428 27.0642V0.73307L59.6759 0H68.4727L69.2058 0.73307V27.0642L68.4727 27.7972H59.6759L58.9428 27.0642Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M58.9428 111.902V85.5711L59.6759 84.838H68.4727L69.2058 85.5711V111.902L68.4727 112.635H59.6759L58.9428 111.902Z" class="spark" data-astro-cid-3ynf2cxt></path> <path d="M80.4594 74.6047H71.6824L70.9493 73.8717V53.3259C70.9493 49.6705 69.5129 46.8372 65.1046 46.7382C62.836 46.6787 60.2405 46.7382 57.4668 46.8471L57.0507 47.2731V73.8618L56.3176 74.5948H47.5406L46.8075 73.8618V38.7636L47.5406 38.0305H67.2939C74.9713 38.0305 81.1925 44.2517 81.1925 51.9291V73.8717L80.4594 74.6047Z" class="text" data-astro-cid-3ynf2cxt></path> </g> <defs data-astro-cid-3ynf2cxt> <clipPath id="clip0_236_138" data-astro-cid-3ynf2cxt> <rect width="128" height="112.635" fill="white" data-astro-cid-3ynf2cxt></rect> </clipPath> </defs> </svg> </a> <ul role="list" class="social | l-cluster" data-astro-cid-7kdedvnl> <li data-astro-cid-7kdedvnl> <a id="cta-footer-git-hub" href="https://github.com/netlify" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" class="icon" data-astro-cid-7kdedvnl="true" data-icon="github"> <symbol id="ai:local:github" viewBox="0 0 98 96"><path fill="currentcolor" fill-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a47 47 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0" clip-rule="evenodd"/></symbol><use href="#ai:local:github"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>GitHub</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-linked-in" href="https://www.linkedin.com/company/netlify" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" class="icon" data-astro-cid-7kdedvnl="true" data-icon="linkedin"> <symbol id="ai:local:linkedin" viewBox="0 0 448 512"><path fill="currentcolor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></symbol><use href="#ai:local:linkedin"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>LinkedIn</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-bluesky" href="https://bsky.app/profile/netlify.com" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" class="icon" data-astro-cid-7kdedvnl="true" data-icon="bluesky"> <symbol id="ai:local:bluesky" viewBox="0 0 600 530"><path fill="currentColor" d="M135.72 44.03C202.216 93.951 273.74 195.17 300 249.49c26.262-54.316 97.782-155.54 164.28-205.46C512.26 8.009 590-19.862 590 68.825c0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.38-3.69-10.832-3.708-7.896-.017-2.936-1.193.516-3.707 7.896-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.45-163.25-81.433C20.15 217.613 9.997 86.535 9.997 68.825c0-88.687 77.742-60.816 125.72-24.795z"/></symbol><use href="#ai:local:bluesky"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>Bluesky</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-x-formerly-known-as-twitter" href="https://twitter.com/netlify" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" class="icon" data-astro-cid-7kdedvnl="true" data-icon="twitter"> <symbol id="ai:local:twitter" viewBox="0 0 512 512"><style>@keyframes appear{0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{opacity:1;transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{transform:scale3d(1.001,1.001,1.001)}}</style><path fill="currentcolor" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8l164.9-188.5L26.8 48h145.6l100.5 132.9zm-24.8 373.8h39.1L151.1 88h-42z" class="icon-twitter-x"/></symbol><use href="#ai:local:twitter"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>X (formerly known as Twitter)</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-you-tube" href="https://www.youtube.com/@NetlifyApp" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" class="icon" data-astro-cid-7kdedvnl="true" data-icon="youtube"> <symbol id="ai:local:youtube" viewBox="0 0 22 16"><path fill="currentcolor" d="M10.994.524s-6.508 0-8.142.435c-.874.25-1.594.99-1.839 1.9C.59 4.536.59 8.007.59 8.007s0 3.484.424 5.134c.245.91.952 1.636 1.84 1.887 1.646.448 8.14.448 8.14.448s6.521 0 8.155-.435a2.62 2.62 0 0 0 1.826-1.887c.437-1.663.437-5.134.437-5.134s.013-3.484-.437-5.16A2.6 2.6 0 0 0 19.148.984c-1.634-.46-8.154-.46-8.154-.46M8.923 4.8l5.415 3.207L8.923 11.2z"/></symbol><use href="#ai:local:youtube"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>YouTube</span> </a> </li><li data-astro-cid-7kdedvnl> <a id="cta-footer-discourse" href="https://answers.netlify.com/" target="_blank" rel="noopener noreferrer" data-astro-cid-7kdedvnl> <svg width="20" height="20" class="icon" data-astro-cid-7kdedvnl="true" data-icon="discourse"> <symbol id="ai:local:discourse" viewBox="0 0 24 24"><path fill="currentcolor" d="M12.103 0C18.666 0 24 5.485 24 11.997c0 6.51-5.33 11.99-11.9 11.99L0 24V11.79C0 5.28 5.532 0 12.103 0m.116 4.563a7.4 7.4 0 0 0-6.337 3.57 7.25 7.25 0 0 0-.148 7.22L4.4 19.61l4.794-1.074a7.42 7.42 0 0 0 8.136-1.39 7.26 7.26 0 0 0 1.737-7.997 7.375 7.375 0 0 0-6.84-4.585z"/></symbol><use href="#ai:local:discourse"></use> </svg> <span class="visually-hidden" data-astro-cid-7kdedvnl>Discourse</span> </a> </li> </ul> </div> <nav data-astro-cid-goxdehyl> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Why Netlify?</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl="true" data-icon="chevron"> <use href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-why-netlify-customers" href="/customers/"> Customers </a> </li><li> <a id="cta-footer-sm-why-netlify-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-sm-why-netlify-security" href="/security/"> Security </a> </li><li> <a id="cta-footer-sm-why-netlify-agency-partner-program" href="/partners/agency/"> Agency Partner Program </a> </li><li> <a id="cta-footer-sm-why-netlify-technology-partner-program" href="/partners/technology/"> Technology Partner Program </a> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Why Netlify?</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-why-netlify-customers" href="/customers/"> Customers </a> </li><li> <a id="cta-footer-why-netlify-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-why-netlify-security" href="/security/"> Security </a> </li><li> <a id="cta-footer-why-netlify-agency-partner-program" href="/partners/agency/"> Agency Partner Program </a> </li><li> <a id="cta-footer-why-netlify-technology-partner-program" href="/partners/technology/"> Technology Partner Program </a> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Products</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl="true" data-icon="chevron"> <use href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-products-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-sm-products-netlify-connect" href="/platform/connect/"> Netlify Connect </a> </li><li> <a id="cta-footer-sm-products-netlify-core" href="/platform/core/"> Netlify Core </a> </li><li> <a id="cta-footer-sm-products-netlify-create" href="/platform/create/"> Netlify Create </a> </li><li> <a id="cta-footer-sm-products-netlify-sdk" href="/platform/software-development-kit/"> Netlify SDK </a> </li><li> <a id="cta-footer-sm-products-pricing" href="/pricing/"> Pricing </a> </li><li> <a id="cta-footer-sm-products-changelog" href="/changelog/"> Changelog </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-sm-products-add-ons" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Add-ons</span> <svg width="0.88em" height="1em" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="plus"> <symbol id="ai:local:plus" viewBox="0 0 448 512"><path fill="currentcolor" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h144v144c0 17.7 14.3 32 32 32s32-14.3 32-32V288h144c17.7 0 32-14.3 32-32s-14.3-32-32-32H256z"/></symbol><use href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="minus"> <symbol id="ai:local:minus" viewBox="0 0 448 512"><path fill="currentcolor" d="M432 256c0 17.7-14.3 32-32 32H48c-17.7 0-32-14.3-32-32s14.3-32 32-32h352c17.7 0 32 14.3 32 32"/></symbol><use href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-analytics" href="/platform/core/analytics/" data-astro-cid-suxz6fv2> Analytics </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-functions" href="/platform/core/functions/" data-astro-cid-suxz6fv2> Functions </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-forms" href="/platform/core/forms/" data-astro-cid-suxz6fv2> Forms </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-products-large-media" href="/platform/core/large-media/" data-astro-cid-suxz6fv2> Large Media </a> </li> </ul> </details> <script type="module">(function(){const o=Array.from(document.querySelectorAll("[id^='footer-popover']"));document.addEventListener("click",t=>{o.map(e=>{e.hasAttribute("open")&&!e.contains(t.target)&&e.removeAttribute("open")})})})();</script> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Products</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-products-composable-web-platform" href="/platform/"> Composable Web Platform </a> </li><li> <a id="cta-footer-products-netlify-connect" href="/platform/connect/"> Netlify Connect </a> </li><li> <a id="cta-footer-products-netlify-core" href="/platform/core/"> Netlify Core </a> </li><li> <a id="cta-footer-products-netlify-create" href="/platform/create/"> Netlify Create </a> </li><li> <a id="cta-footer-products-netlify-sdk" href="/platform/software-development-kit/"> Netlify SDK </a> </li><li> <a id="cta-footer-products-pricing" href="/pricing/"> Pricing </a> </li><li> <a id="cta-footer-products-changelog" href="/changelog/"> Changelog </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-products-add-ons" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Add-ons</span> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="plus"> <use href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="minus"> <use href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-products-analytics" href="/platform/core/analytics/" data-astro-cid-suxz6fv2> Analytics </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-products-functions" href="/platform/core/functions/" data-astro-cid-suxz6fv2> Functions </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-products-forms" href="/platform/core/forms/" data-astro-cid-suxz6fv2> Forms </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-products-large-media" href="/platform/core/large-media/" data-astro-cid-suxz6fv2> Large Media </a> </li> </ul> </details> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Explore</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl="true" data-icon="chevron"> <use href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-explore-docs" href="https://docs.netlify.com/"> Docs </a> </li><li> <a id="cta-footer-sm-explore-integrations" href="/integrations/"> Integrations </a> </li><li> <a id="cta-footer-sm-explore-jamstack-book" href="/oreilly-jamstack/"> Jamstack Book </a> </li><li> <a id="cta-footer-sm-explore-community" href="https://answers.netlify.com/"> Community </a> </li><li> <a id="cta-footer-sm-explore-resources-guides" href="/resources/"> Resources &amp; Guides </a> </li><li> <a id="cta-footer-sm-explore-remotely-interesting" href="https://remotelyinteresting.netlify.com/"> Remotely Interesting </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-sm-explore-technologies" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Technologies</span> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="plus"> <use href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="minus"> <use href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-explore-jamstack" href="/jamstack/" data-astro-cid-suxz6fv2> Jamstack </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-explore-react" href="/with/react/" data-astro-cid-suxz6fv2> React </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-sm-explore-next-js" href="/with/nextjs/" data-astro-cid-suxz6fv2> Next.js </a> </li> </ul> </details> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Explore</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-explore-docs" href="https://docs.netlify.com/"> Docs </a> </li><li> <a id="cta-footer-explore-integrations" href="/integrations/"> Integrations </a> </li><li> <a id="cta-footer-explore-jamstack-book" href="/oreilly-jamstack/"> Jamstack Book </a> </li><li> <a id="cta-footer-explore-community" href="https://answers.netlify.com/"> Community </a> </li><li> <a id="cta-footer-explore-resources-guides" href="/resources/"> Resources &amp; Guides </a> </li><li> <a id="cta-footer-explore-remotely-interesting" href="https://remotelyinteresting.netlify.com/"> Remotely Interesting </a> </li><li> <details class="popover" data-astro-cid-suxz6fv2> <summary id="cta-footer-explore-technologies" data-astro-cid-suxz6fv2> <span data-astro-cid-suxz6fv2>Technologies</span> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-plus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="plus"> <use href="#ai:local:plus"></use> </svg> <svg width="0.88em" height="1em" viewBox="0 0 448 512" class="icon icon-minus" aria-hidden="true" data-astro-cid-suxz6fv2="true" data-icon="minus"> <use href="#ai:local:minus"></use> </svg> </summary> <ul role="list" data-astro-cid-suxz6fv2> <li data-astro-cid-suxz6fv2> <a id="cta-footer-explore-jamstack" href="/jamstack/" data-astro-cid-suxz6fv2> Jamstack </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-explore-react" href="/with/react/" data-astro-cid-suxz6fv2> React </a> </li><li data-astro-cid-suxz6fv2> <a id="cta-footer-explore-next-js" href="/with/nextjs/" data-astro-cid-suxz6fv2> Next.js </a> </li> </ul> </details> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Company</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl="true" data-icon="chevron"> <use href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-company-blog" href="/blog/"> Blog </a> </li><li> <a id="cta-footer-sm-company-about" href="/about/"> About </a> </li><li> <a id="cta-footer-sm-company-careers" href="/careers/"> Careers </a> </li><li> <a id="cta-footer-sm-company-compose-conference" href="/conference/"> Compose Conference </a> </li><li> <a id="cta-footer-sm-company-code-of-conduct" href="/code-of-conduct/"> Code of Conduct </a> </li><li> <a id="cta-footer-sm-company-press" href="/press/"> Press </a> </li><li> <a id="cta-footer-sm-company-jamstack-fund" href="/jamstack-fund/"> Jamstack Fund </a> </li><li> <a id="cta-footer-sm-company-netlify-store" href="https://swag.netlify.com/"> Netlify Store </a> </li><li> <a id="cta-footer-sm-company-sustainability" href="/sustainability/"> Sustainability </a> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Company</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-company-blog" href="/blog/"> Blog </a> </li><li> <a id="cta-footer-company-about" href="/about/"> About </a> </li><li> <a id="cta-footer-company-careers" href="/careers/"> Careers </a> </li><li> <a id="cta-footer-company-compose-conference" href="/conference/"> Compose Conference </a> </li><li> <a id="cta-footer-company-code-of-conduct" href="/code-of-conduct/"> Code of Conduct </a> </li><li> <a id="cta-footer-company-press" href="/press/"> Press </a> </li><li> <a id="cta-footer-company-jamstack-fund" href="/jamstack-fund/"> Jamstack Fund </a> </li><li> <a id="cta-footer-company-netlify-store" href="https://swag.netlify.com/"> Netlify Store </a> </li><li> <a id="cta-footer-company-sustainability" href="/sustainability/"> Sustainability </a> </li> </ul> </section> <details class="section l-stack" data-variant="narrow" data-astro-cid-goxdehyl> <summary data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Contact Us</h2> <svg width="1em" height="1em" viewBox="0 0 512 512" class="icon icon-chevron" aria-hidden="true" data-astro-cid-goxdehyl="true" data-icon="chevron"> <use href="#ai:local:chevron"></use> </svg> </summary> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-sm-contact-us-sales" href="/contact/?attr=homepage&#38;ref=sales&#38;id=cta-footer-sales"> Sales </a> </li><li> <a id="cta-footer-sm-contact-us-support" href="/support/"> Support </a> </li><li> <a id="cta-footer-sm-contact-us-status" href="https://netlifystatus.com/"> Status </a> </li><li> <a id="cta-footer-sm-contact-us-forums" href="https://answers.netlify.com/"> Forums </a> </li><li> <a id="cta-footer-sm-contact-us-hire-an-agency" href="/agency-directory/"> Hire an Agency </a> </li> </ul> </details> <section class="section l-stack" data-variant="wide" data-astro-cid-goxdehyl> <h2 class="text-0 font-bold tracking-tight" data-astro-cid-goxdehyl>Contact Us</h2> <ul class="l-stack l-stack-xs" role="list"> <li> <a id="cta-footer-contact-us-sales" href="/contact/?attr=homepage&#38;ref=sales&#38;id=cta-footer-sales"> Sales </a> </li><li> <a id="cta-footer-contact-us-support" href="/support/"> Support </a> </li><li> <a id="cta-footer-contact-us-status" href="https://netlifystatus.com/"> Status </a> </li><li> <a id="cta-footer-contact-us-forums" href="https://answers.netlify.com/"> Forums </a> </li><li> <a id="cta-footer-contact-us-hire-an-agency" href="/agency-directory/"> Hire an Agency </a> </li> </ul> </section> </nav> <section class="newsletter-form | l-stack l-stack-small l-center" data-astro-cid-gtbzbcej> <h2 class="text-0" data-astro-cid-gtbzbcej>Stay up to date with Netlify news</h2> <article class="hubspot-form-wrapper | l-overlay-stack l-center"><div id="hubspot-form-site-footer" data-hubspot-form-id="52611e5e-cc55-4960-bf4a-a2adb36291f6"></div><form method="POST" class="hs-form l-cluster" action="https://www.netlify.com/thanks-for-signing-up/" data-astro-cid-gtbzbcej="true"><div class="hs-form-field" class="hs-fieldtype-input"><label for="email">Email</label><input name="email" id="email" required value type="email"></div><div class="hs-form-field" class="hs-fieldtype-input"><label for="utm_campaign">UTM Campaign</label><input name="utm_campaign" id="utm_campaign" value type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input"><label for="utm_content">UTM Content</label><input name="utm_content" id="utm_content" value type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input"><label for="utm_medium">UTM Medium</label><input name="utm_medium" id="utm_medium" value type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input"><label for="utm_source">UTM Source</label><input name="utm_source" id="utm_source" value type="hidden"></div><div class="hs-form-field" class="hs-fieldtype-input"><label for="utm_term">UTM Term</label><input name="utm_term" id="utm_term" value type="hidden"></div><input type="hidden" name="hubspotformid" value="52611e5e-cc55-4960-bf4a-a2adb36291f6"><input type="hidden" name="hubspotutk" value=""><div class="hs-submit"><input type="submit" data-type="secondary" value="Subscribe"></div></form></article><script>(function(){const formId = "52611e5e-cc55-4960-bf4a-a2adb36291f6"; const submitBtnVariant = "secondary"; if (formId && submitBtnVariant) { if (window?.hsFormButtons) { window.hsFormButtons[formId] = `button-${submitBtnVariant}`; } else { window.hsFormButtons = { [formId]: `button-${submitBtnVariant}`, }; } } })();</script><script type="module" src="/_astro/HubSpotForm.astro_astro_type_script_index_0_lang.CkxKWqLg.js"></script> </section> <div class="wrapper | l-cluster" data-astro-cid-k5rle6j4> <ul role="list" class="legal | l-cluster" data-astro-cid-k5rle6j4> <li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-trust-center" href="/trust-center/" data-astro-cid-k5rle6j4> Trust Center </a> </li><li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-privacy" href="/privacy/" data-astro-cid-k5rle6j4> Privacy </a> </li><li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-gdpr-ccpa" href="/gdpr-ccpa/" data-astro-cid-k5rle6j4> GDPR/CCPA </a> </li><li data-astro-cid-k5rle6j4> <a id="cta-legal-footer-abuse" href="mailto:fraud@netlify.com?subject=Abuse%20report&#38;body=Please%20include%20the%20site%20URL%20and%20reason%20for%20your%20report%2C%20and%20we%20will%20reply%20promptly." data-astro-cid-k5rle6j4> Abuse </a> </li><li data-astro-cid-k5rle6j4> <button type="button" id="cta-legal-footer-cookie-settings-toggle" data-type="reset" data-astro-cid-k5rle6j4> Cookie Settings </button> </li> </ul> <p class="copyright" data-astro-cid-k5rle6j4>© 2025 Netlify</p> </div> </footer> <script type="module">document.querySelector("#cta-legal-footer-cookie-settings-toggle")?.addEventListener("click",e=>{e.preventDefault(),window.OneTrust&&window.OneTrust.ToggleInfoDisplay()});</script> <!-- required for all HubSpot forms --> <script defer src="https://js.hsforms.net/forms/v2.js"></script> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/7477936.js"></script> </body> </html> <script type="module">window.addEventListener("stackbitObjectsChanged",e=>{e.preventDefault(),e.detail.changedObjectIds.some(d=>e.detail.visibleObjectIds.includes(d))&&window.location.reload()});</script>

Pages: 1 2 3 4 5 6 7 8 9 10