CINXE.COM

Netlify Blog

<!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>Netlify Blog</title><meta name="description" content="Learn about the modern web stack from step-by-step guides, case studies, site showcases, and examples. See the latest articles from Netlify."><link rel="canonical" href="https://www.netlify.com/blog/"><!-- 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="Netlify Blog"><meta property="og:description" content="Learn about the modern web stack from step-by-step guides, case studies, site showcases, and examples. See the latest articles from Netlify."><meta property="og:image" content="https://www.netlify.com//images/og-image-default.png"><!-- Twitter meta tags --><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="netlify.com"><meta name="twitter:title" content="Netlify Blog"><meta name="twitter:description" content="Learn about the modern web stack from step-by-step guides, case studies, site showcases, and examples. See the latest articles from Netlify."><meta name="twitter:image" content="https://www.netlify.com//images/og-image-default.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.JwSYcX3U.css"> <style>.blog[data-astro-cid-xal3ofsq]{margin-block:var(--space-3xl)}.blog[data-astro-cid-xal3ofsq] ul[data-astro-cid-xal3ofsq]{display:flex;gap:var(--space-l)}.recent-posts[data-astro-cid-xal3ofsq]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:var(--space-xl);column-gap:var(--space-2xl);border-bottom:1px solid var(--neutral-light-200);padding-block:var(--space-2xl)}.blog[data-astro-cid-xal3ofsq] .blog-card+.recent-posts{border-top:1px solid var(--neutral-light-200)}.recent-posts[data-astro-cid-xal3ofsq] .c-basic-card{--card-padding-block-end: 0}.post-grid[data-astro-cid-xal3ofsq]{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));column-gap:var(--space-2xl);row-gap:var(--space-xl)}.post-grid[data-astro-cid-xal3ofsq] .c-card-title{text-wrap:initial}.blog[data-astro-cid-xal3ofsq] .button[data-step=previous] svg{--_icon-rotate: 180deg;--icon-color: var(--teal-400)}.blog[data-astro-cid-xal3ofsq] .button[data-step=next]{margin-inline-start:auto}.blog[data-astro-cid-xal3ofsq] .button[data-step=previous]:hover svg{--_icon-x: 2px} </style> <link rel="stylesheet" href="/_astro/index.WAD5p-0I.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%} .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} img[data-astro-cid-jbhojhg7]{width:100%} .blog-card[data-astro-cid-mrlimrgp]{isolation:isolate}.blog-card[data-astro-cid-mrlimrgp] a[data-astro-cid-mrlimrgp]{z-index:1;text-decoration:none}.blog-card[data-astro-cid-mrlimrgp] a[data-astro-cid-mrlimrgp]:focus-visible{outline:none}.blog-card[data-astro-cid-mrlimrgp] a[data-astro-cid-mrlimrgp]:focus-visible:after{outline:var(--focus-outline);outline-offset:4px}.blog-card[data-astro-cid-mrlimrgp] .c-basic-card .body{position:static}.blog-card[data-astro-cid-mrlimrgp] .c-basic-card{--card-align-items: flex-start;overflow:visible}.blog-card[data-astro-cid-mrlimrgp] .c-card-featured-image{transition:box-shadow .2s ease-out}.blog-card[data-astro-cid-mrlimrgp][data-featured] .author img{--avatar-size: 48px}.blog-card[data-astro-cid-mrlimrgp] .avatar-fallback[data-astro-cid-mrlimrgp]{--icon-color-primary: var(--blue-700);--icon-color-secondary: var(--blue-400);background:var(--blue-100);border-radius:var(--radius-circle);aspect-ratio:1 / 1;width:30px;height:auto;object-fit:contain;overflow:hidden;padding:.6rem .3rem}.blog-card[data-astro-cid-mrlimrgp] .author p{flex-shrink:0}.blog-card[data-astro-cid-mrlimrgp]:hover a[data-astro-cid-mrlimrgp]{text-decoration:underline}.blog-card[data-astro-cid-mrlimrgp]:hover .c-card-featured-image{box-shadow:0 0 0 4px var(--teal-300)} [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)} 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} </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://www.netlify.com/press/windsurf-netlify-ai-ide-native-deployment-integration/" data-announcement-hide-after="2025-04-26"> (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://www.netlify.com/press/windsurf-netlify-ai-ide-native-deployment-integration/" data-astro-cid-o54ltyzl> <p data-astro-cid-o54ltyzl><span data-astro-cid-o54ltyzl>Deploy from Windsurf to the web in just one click with Netlify. </span> <a href="https://www.netlify.com/press/windsurf-netlify-ai-ide-native-deployment-integration/" id="cta-header-announcementBar" data-astro-cid-o54ltyzl>Read about the new partnership</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 wrapper-subnav"> <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.CQtfqDdK.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="tanstack"> <symbol id="ai:local:tanstack" viewBox="0 0 30 30"><g fill="none"><defs><path id="b" fill="#fff" d="M15 30c8.284 0 15-6.716 15-15S23.284 0 15 0 0 6.716 0 15s6.716 15 15 15"/></defs><g clip-path="url(#a)"><mask id="c" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#c)"><path stroke="currentColor" stroke-width="1.185" d="M9.74 20.847a11.9 11.9 0 0 0-5.498-1.32c-5.942 0-10.759 4.212-10.759 9.407"/></g><mask id="d" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#d)"><path stroke="currentColor" stroke-width="1.185" d="M8.185 21.98a12.1 12.1 0 0 0-3.943-.652c-5.942 0-10.759 4.212-10.759 9.407"/></g><mask id="e" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#e)"><path stroke="currentColor" stroke-width="1.185" d="M6.93 23.33c-.86-.193-1.76-.295-2.688-.295-5.942 0-10.759 4.21-10.759 9.406"/></g><mask id="f" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#f)"><path stroke="currentColor" stroke-width="1.185" d="M36.517 28.934c0-5.195-4.817-9.406-10.759-9.406-1.979 0-3.833.467-5.426 1.282"/></g><mask id="g" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#g)"><path stroke="currentColor" stroke-width="1.185" d="M36.517 30.735c0-5.195-4.817-9.407-10.759-9.407-1.412 0-2.76.238-3.996.67"/></g><mask id="h" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#h)"><path stroke="currentColor" stroke-width="1.185" d="M36.517 32.44c0-5.194-4.817-9.405-10.759-9.405-.886 0-1.747.093-2.57.27"/></g><mask id="i" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#i)"><path stroke="currentColor" stroke-width="1.185" d="M15 48.318c6.635 0 12.014-6.451 12.014-14.408S21.635 19.502 15 19.502 2.986 25.952 2.986 33.91 8.365 48.318 15 48.318Z"/></g><mask id="j" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#j)"><path stroke="currentColor" stroke-width="1.09" d="M26.8 9.076a4.834 4.834 0 1 0 0-9.669 4.834 4.834 0 0 0 0 9.669Z"/></g><mask id="k" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#k)"><path fill="currentColor" d="M20.284 4.17a.284.284 0 1 1 0 .57h-1.421a.284.284 0 0 1 0-.57z"/></g><mask id="l" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#l)"><path fill="currentColor" d="M18.774 2.738a.284.284 0 0 1 .336-.22l1.256.26a.284.284 0 0 1-.116.557l-1.256-.26a.284.284 0 0 1-.22-.337"/></g><mask id="m" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#m)"><path fill="currentColor" d="M20.35 5.697a.284.284 0 1 1 .152.549l-1.374.379a.284.284 0 1 1-.151-.548l1.374-.38Z"/></g><mask id="n" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#n)"><path fill="currentColor" d="M20.955 7.238a.284.284 0 0 1 .27.5l-1.137.616a.284.284 0 1 1-.27-.5z"/></g><mask id="o" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#o)"><path fill="currentColor" d="M21.842 8.467a.284.284 0 0 1 .392.412l-.948.9a.284.284 0 1 1-.392-.412z"/></g><mask id="p" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#p)"><path fill="currentColor" d="M23.092 9.52a.284.284 0 1 1 .486.295l-.655 1.083a.284.284 0 1 1-.487-.294z"/></g><mask id="q" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#q)"><path fill="currentColor" d="M24.728 10.367a.284.284 0 1 1 .544.166l-.356 1.162a.284.284 0 1 1-.543-.167z"/></g><mask id="r" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#r)"><path fill="currentColor" d="M26.795 10.498a.284.284 0 0 1 .29.278l.024 1.161a.284.284 0 0 1-.569.012l-.023-1.161a.284.284 0 0 1 .278-.29"/></g><path stroke="currentColor" stroke-width="1.185" d="M15 29.408c7.957 0 14.408-6.45 14.408-14.408S22.958.592 15 .592.592 7.042.592 15 7.042 29.408 15 29.408Z"/><mask id="s" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g mask="url(#s)"><path fill="currentColor" fill-rule="evenodd" d="M10.615 9.113c.413 1.748.493 1.698.877 4.802s.137 3.865 0 5.871l2.463-.538c-.77-2.78-.95-3.97-1.533-6.175q-.584-2.205-1.322-3.96-.21-.552-.36-.535-.192.022-.125.535" clip-rule="evenodd"/><path fill="currentColor" d="m14.066 5.024-.099.308a6.2 6.2 0 0 1-.472 1.127l-.016.028h.003a3.9 3.9 0 0 1 1.668.23l.038.013c1.587.587 2.47 1.62 2.61 3.077l.031.327-.322-.063-2.224-.434-.03-.006.026.032a6.5 6.5 0 0 1 1.467 3.466l.005.046.04.362-.35-.1c-1.882-.533-3.23-1.266-4.04-2.208a19 19 0 0 1-1.594-2.145l-.026-.04v.023q-.04 1.71-.313 2.768l-.008.031c-.237.898-1.035 2.274-2.397 4.15l-.292.402-.142-.477q-.67-2.266-.376-4.173l.003-.024q-.835.752-2.06 1.809l-.045.04-.396.34-.01-.522c-.046-2.439.53-4.061 1.754-4.84q.334-.21.705-.36l.028-.01-.01-.006a7 7 0 0 1-1.078-.878l-.032-.03-.237-.23.288-.161c1.063-.59 2.004-.746 2.813-.448.442.162.83.43 1.167.768q.1.102.19.206l.02.025.005-.023c.133-.743.49-1.316 1.071-1.707l.023-.015q1.111-.729 2.29-.69zm-5.26 1.884c-.585-.216-1.282-.134-2.097.257l-.007.003.016.014q.679.612 1.207.836l.022.01.67.277-.7.186a4 4 0 0 0-1.155.495c-.967.614-1.483 1.901-1.526 3.883v.001l.036-.03q1.37-1.19 2.192-1.946l.025-.024.637-.586-.235.833-.029.11q-.461 1.821.096 4.056l.007.028.01-.013c1.128-1.593 1.797-2.775 2.004-3.532l.007-.025q.316-1.195.311-3.353v-.012l-.146-.393-.024-.032a4 4 0 0 0-.301-.358l-.031-.031a2.7 2.7 0 0 0-.988-.654Zm4.582-1.399h-.002q-.844.064-1.665.603c-.543.356-.849.907-.918 1.672l-.001.019.057.417q1.195 1.844 1.854 2.619l.06.07q1.03 1.2 3.432 1.947l.008.003-.002-.012c-.21-1.254-.77-2.35-1.688-3.293l-.03-.032-.102-.1-.612-.583.829.165q.963.191 2.611.512l.043.008c-.212-1.073-.937-1.84-2.202-2.318l-.042-.016a3.43 3.43 0 0 0-1.998-.136l-.69.159.444-.552q.338-.42.605-1.127l.01-.025Z"/><path stroke="currentColor" stroke-linecap="round" stroke-width=".28" d="M10.615 8.071q-1.091 1.491-1.537 2.748-.447 1.256-.596 2.106m2.133-4.854q-1.408.963-1.91 1.48-.501.516-1.17 1.692"/><path stroke="currentColor" stroke-linecap="round" stroke-width=".28" d="M10.535 8.227q-1.735-.296-2.769.576a5.1 5.1 0 0 0-1.502 2.09m4.477-2.863q.942-.938 2.41-.938t2.635 1.387M10.62 8.03q1.643.731 2.564 1.449a5.8 5.8 0 0 1 1.483 1.707"/><path stroke="currentColor" stroke-linecap="round" stroke-width=".28" d="M10.62 8.078q1.69.053 2.694.5 1.003.448 1.963 1.435"/></g><mask id="t" width="30" height="30" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><use href="#b"/></mask><g stroke="currentColor" stroke-linecap="round" stroke-linejoin="bevel" stroke-width=".377" mask="url(#t)"><path d="m16.978 17.616 3.333.588q.296.109.242.413-.053.303-.374.336l-3.616-.637-1.961-2.022q-.164-.249.026-.438c.19-.189.282-.15.466-.072z" clip-rule="evenodd"/><path d="m20.115 18.99-1.032.692M15.832 17.6l-1.11 1.663m1.897-.913.822 1.128m2.409-1.129.07-.345m-1.196.174.077-.374m-1.203.172.11-.377m-1.408-.383.224-.224m-.94-.458.248-.266"/></g></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h30v30H0z"/></clipPath></defs></g></symbol><use href="#ai:local:tanstack"></use> </svg> <a id="nav-tan-stack" href="http://docs.netlify.com/frameworks/tanstack-start/" data-astro-cid-sdvpe5d5> TanStack </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> <div class="site-subnav-wrapper" data-astro-cid-cxelutgu> <nav class="site-subnav" data-astro-cid-cxelutgu> <ul role="list" class="l-cluster" data-astro-cid-cxelutgu> <li data-astro-cid-cxelutgu> <a class="site-subnav-heading link | font-heading" href="/blog/" id="blog-subNav-overview" aria-current="page" data-astro-cid-cxelutgu> Blog </a> </li> <li data-astro-cid-cxelutgu> <a class="link text--1 font-semibold" id="blog-topicNav-newsAnnouncements" href="/blog/news/" data-astro-cid-cxelutgu> News </a> </li><li data-astro-cid-cxelutgu> <a class="link text--1 font-semibold" id="blog-topicNav-caseStudies" href="/blog/case-studies/" data-astro-cid-cxelutgu> Case Studies </a> </li><li data-astro-cid-cxelutgu> <a class="link text--1 font-semibold" id="blog-topicNav-guidesTutorials" href="/blog/tutorials/" data-astro-cid-cxelutgu> Tutorials </a> </li><li data-astro-cid-cxelutgu> <a class="link text--1 font-semibold" id="blog-topicNav-opinionsInsights" href="/blog/insights/" data-astro-cid-cxelutgu> Insights </a> </li><li data-astro-cid-cxelutgu> <a class="link text--1 font-semibold" id="blog-topicNav-changelog" href="/changelog/" data-astro-cid-cxelutgu> Changelog </a> </li> </ul> </nav> </div> <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.B_9wl4es.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="blog | l-stack l-center l-stack-3xl" data-astro-cid-xal3ofsq> <section class="l-stack l-stack-2xl" data-astro-cid-xal3ofsq> <div data-featured="true" data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="media-inline-end" data-featured-image="true" data-repel-ctas="false" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="16:9"><img src="/_astro/4c84d8e50b235a1a1dbb78c919a3e8fc3bb9627a-1200x676_Z1VFKTE.webp" alt width="1200" height="676" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="blue">News & Announcements</span> </div> <a class="c-card-title block-link" href="/blog/tanstack-start-netlify-official-deployment-partner" data-astro-cid-mrlimrgp> <h3 data-size="large" data-astro-cid-mrlimrgp="true" class="c-card-title heading">TanStack Start on Netlify: Official Deployment Partner</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/b4e9f58d914d1334ea70d53ea55a1f26b26f1445-512x512_ZoiA25.webp" alt="Profile picture of Gehrig Kunz" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Gehrig Kunz</p> </li> </ul> </div> </div> </article> </div> <div class="recent-posts" data-astro-cid-xal3ofsq> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="media-inline-end" data-featured-image="true" data-repel-ctas="false" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="16:9"><img src="/_astro/4a89df9960e06ff6fb766ebca5b2d0db541b377e-2400x1350_Z1nVvnP.webp" alt width="2400" height="1350" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="blue">News & Announcements</span> <span class="metadata">April 3, 2025</span> </div> <a class="c-card-title block-link" href="/blog/announcing-preview-servers-real-time-previews-without-rebuilds" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">Announcing Netlify Preview Servers: real-time previews without rebuilds</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/b4e9f58d914d1334ea70d53ea55a1f26b26f1445-512x512_ZoiA25.webp" alt="Profile picture of Gehrig Kunz" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Gehrig Kunz</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="media-inline-end" data-featured-image="true" data-repel-ctas="false" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="16:9"><img src="/_astro/92838b29ef7af61f9aebe816124fc188a835f198-1201x630_Zlsxk0.webp" alt width="1201" height="630" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="blue">News & Announcements</span> <span class="metadata">April 2, 2025</span> </div> <a class="c-card-title block-link" href="/blog/netlify-windsurf-bringing-deployments-straight-into-your-ai-powered-editor" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">Netlify + Windsurf: Bringing deployments straight into your AI-powered editor</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/cf4624da8c1286738397b6fecb53bad504df140b-400x400_Z1YHRRg.webp" alt="Profile picture of Taylor Barnett-Torabi" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Taylor Barnett-Torabi</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="media-inline-end" data-featured-image="true" data-repel-ctas="false" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="16:9"><img src="/_astro/f302f83ef7f28ec8ae26af30ee080d5fed50c1a0-1200x675_Z12G18S.webp" alt width="1200" height="675" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="blue">News & Announcements</span> <span class="metadata">April 1, 2025</span> </div> <a class="c-card-title block-link" href="/blog/netlify-entertainment-system" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">The Netlify Entertainment System: Play games at build time</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/93e592e97ae44bd1f694c0fcde9de76603c20b95-1987x1987_Z2fBIDR.webp" alt="Profile picture of Ramon Snir" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Ramon Snir</p> </li><li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/b4e9f58d914d1334ea70d53ea55a1f26b26f1445-512x512_ZoiA25.webp" alt="Profile picture of Gehrig Kunz" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Gehrig Kunz</p> </li><li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/2d54c2db008fda43722a34a4f3338831f9150e9f-72x72_Z1zTvyC.webp" alt="Profile picture of Florian Kissling" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Florian Kissling</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="media-inline-end" data-featured-image="true" data-repel-ctas="false" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="16:9"><img src="/_astro/f3f1e052b95c4ea6c426a75de74c602e856a2eaf-720x405_ZpjzIG.webp" alt width="720" height="405" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="blue">News & Announcements</span> <span class="metadata">March 31, 2025</span> </div> <a class="c-card-title block-link" href="/blog/celebrating-a-decade-of-community-driven-innovation" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">Celebrating a decade of community-driven innovation</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/f0e7c8f227a03fe58340c99ef5439d5a896c0733-272x272_1uEmwu.webp" alt="Profile picture of Nahrin Jalal" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Nahrin Jalal</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="media-inline-end" data-featured-image="true" data-repel-ctas="false" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="16:9"><img src="/_astro/5b306c830a8c3c3d5a5c15aa5b24b64b21bd624d-1200x630_48NWQ.webp" 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="beacon" data-color="blue">News & Announcements</span> <span class="metadata">March 27, 2025</span> </div> <a class="c-card-title block-link" href="/blog/why-netlify-is-the-1-platform-for-ai-deployments" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">Why Netlify is becoming the #1 platform for AI codegen deployments </h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/e358e333b111145fca9dd599c95ef5e8276c5e50-800x800_hwPsL.webp" alt="Profile picture of Vanessa Ramos" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Vanessa Ramos</p> </li><li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/b4e9f58d914d1334ea70d53ea55a1f26b26f1445-512x512_ZoiA25.webp" alt="Profile picture of Gehrig Kunz" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Gehrig Kunz</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="media-inline-end" data-featured-image="true" data-repel-ctas="false" class="c-basic-card"> <figure class="c-card-featured-image" data-aspect-ratio="16:9"><img src="/_astro/9c74ea42029a229829f2e06b039f4fb477938c83-2400x1350_WBm09.webp" alt width="2400" height="1350" loading="lazy" decoding="async"></figure> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="red">Opinions & Insights</span> <span class="metadata">March 26, 2025</span> </div> <a class="c-card-title block-link" href="/blog/how-we-run-nextjs" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">How we run Next.js today — and what should change</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/795792fe4d14648b1b96285e46426ed964b802d7-512x512_Zruxyo.webp" alt="Profile picture of Philippe Serhal" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Philippe Serhal</p> </li><li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/be563e8998105c7e95b4db9110fa16b47cb68acd-230x230_1g0beI.webp" alt="Profile picture of Elad Rosenheim" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Elad Rosenheim</p> </li> </ul> </div> </div> </article> </div> </div> </section> <section class="post-grid" data-astro-cid-xal3ofsq> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="vertical" data-featured-image="false" data-repel-ctas="false" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="blue">News & Announcements</span> <span class="metadata">March 19, 2025</span> </div> <a class="c-card-title block-link" href="/blog/the-principles-of-agent-experience-ax-designing-for-the-ai-driven-consumer" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">The Principles of Agent Experience (AX): Designing for the AI-Driven Consumer</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/bbf2243f8171dbddd80ab2103622106cef84d125-512x512_2kWebt.webp" alt="Profile picture of Sean Roberts" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Sean Roberts</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="vertical" data-featured-image="false" data-repel-ctas="false" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="red">Opinions & Insights</span> <span class="metadata">March 11, 2025</span> </div> <a class="c-card-title block-link" href="/blog/a16z-interview-web-pioneering-and-ax" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">a16z interview: Web Pioneering and AX </h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/bbf2243f8171dbddd80ab2103622106cef84d125-512x512_2kWebt.webp" alt="Profile picture of Sean Roberts" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Sean Roberts</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="vertical" data-featured-image="false" data-repel-ctas="false" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="blue">News & Announcements</span> <span class="metadata">February 28, 2025</span> </div> <a class="c-card-title block-link" href="/blog/auth0-extension-identity-changes" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">Netlify + Auth0: Platform extensibility and Identity changes</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/b4e9f58d914d1334ea70d53ea55a1f26b26f1445-512x512_ZoiA25.webp" alt="Profile picture of Gehrig Kunz" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Gehrig Kunz</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="vertical" data-featured-image="false" data-repel-ctas="false" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="red">Opinions & Insights</span> <span class="metadata">February 24, 2025</span> </div> <a class="c-card-title block-link" href="/blog/ai-better-pair-programmer-with-agent-experience" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">AI is a better pair programmer with Agent Experience</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/b4e9f58d914d1334ea70d53ea55a1f26b26f1445-512x512_ZoiA25.webp" alt="Profile picture of Gehrig Kunz" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Gehrig Kunz</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="vertical" data-featured-image="false" data-repel-ctas="false" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="red">Opinions & Insights</span> <span class="metadata">February 21, 2025</span> </div> <a class="c-card-title block-link" href="/blog/from-legacy-to-leading-edge-sustainable-success-with-netlify" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">From Legacy to Leading Edge: Sustainable Success with Netlify</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <img src="/_astro/be8b0e98366235869f1bdb7d299348f007b9f71d-500x500_Z2rwW6f.webp" alt="Profile picture of Ash Hitchcock" data-astro-cid-mrlimrgp="true" data-astro-cid-jbhojhg7="true" width="300" height="300" loading="lazy" decoding="async" class="avatar"> <p data-astro-cid-mrlimrgp>Ash Hitchcock</p> </li> </ul> </div> </div> </article> </div> <div data-astro-cid-mrlimrgp="true" class="card-container blog-card"> <article data-framed="false" data-layout="vertical" data-featured-image="false" data-repel-ctas="false" class="c-basic-card"> <div class="body"> <div class="header l-cluster"> <span class="c-badge" data-mode="light" data-type="beacon" data-color="gray">Tools & Services</span> <span class="metadata">February 21, 2025</span> </div> <a class="c-card-title block-link" href="/blog/secure-local-development-codezero" data-astro-cid-mrlimrgp> <h3 data-size="medium" data-astro-cid-mrlimrgp="true" class="c-card-title heading">Secure local development with Codezero for Netlify</h3> </a> <div class="description"> <ul class="authors" role="list" data-astro-cid-mrlimrgp> <li class="author" data-astro-cid-mrlimrgp> <div class="avatar-fallback" data-astro-cid-mrlimrgp> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" fill="var(--blue-700)"> <path d="M96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128z" fill="var(--icon-color-secondary)" /> <path d="M64 304H384l64 208H0L64 304z" fill="var(--icon-color-primary)" /> </svg> </div> <p data-astro-cid-mrlimrgp>Kathleen Randall</p> </li> </ul> </div> </div> </article> </div> </section> <section class="l-cluster" style="--cluster-justify: space-between" data-astro-cid-xal3ofsq> <a data-type="text" data-icon-position="inline-end" data-inline-icon="true" data-icon-only="false" data-icon-name="arrow" href="/blog/page/2" data-step="next" id="cta-blog-next-page" data-astro-cid-xal3ofsq="true" data-astro-cid-tcbm7f7q="true" class="button"> <span data-astro-cid-tcbm7f7q="true">Next page</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> </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.D8wPkenC.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