CINXE.COM
Netlify Large Media
<!doctype html> <html lang="en" data-announcement-data="{"hideAfter":"2024-12-05","_rev":"kvS2VbyGavV4rIgsjX2Bwj","text":"Gartner recognizes Netlify as a Visionary in ","_id":"announcement-www","url":"https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow","_createdAt":"2020-12-02T17:00:32Z","_type":"announcement","_updatedAt":"2024-11-08T16:32:30Z","cta":"2024 Gartner® Magic Quadrant™ for Cloud Application Platforms > "}"> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>Netlify Large Media</title><link rel="canonical" href="https://www.netlify.com/platform/core/large-media/"/> <link rel="preconnect" href="https://netlify-eleventy-api-img.netlify.app/"> <link rel="preload" href="/v3/_fonts/PacaembuVar-subset.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/v3/_fonts/MulishVar-subset.woff2" as="font" type="font/woff2" crossorigin> <link rel="alternate" type="application/rss+xml" title="Netlify Blog RSS Feed" href="https://www.netlify.com/community-feed.xml/"/> <link rel="search" type="application/opensearchdescription+xml" title="Netlify" href="/v3/static/opensearch.xml"/> <!-- Favicons --> <!-- Default favicon --> <link rel="icon" href="/favicon.ico" sizes="32x32"> <!-- SVG favicon with dark/lightmode support --> <link rel="icon" href="/icon.svg" type="image/svg+xml"> <!-- Apple touch icon --> <link rel="apple-touch-icon" href="/apple-touch-icon.png"> <!-- Android manifest --> <link rel="manifest" href="/manifest.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"/> <meta name="description" content="Manage binary files of any size right in your repo, just like code."/> <meta itemprop="name" content="Netlify Large Media"/> <meta itemprop="description" content="Manage binary files of any size right in your repo, just like code."/> <meta itemprop="image" content="https://www.netlify.com/v3/static/og-image.png"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="twitter:site" content="@netlify"/> <meta name="twitter:title" content="Netlify Large Media"/> <meta name="twitter:description" content="Manage binary files of any size right in your repo, just like code."/> <meta name="twitter:creator" content="@netlify"/> <meta name="twitter:image" content="https://www.netlify.com/v3/static/og-image.png"/> <meta name="og:image" content="https://www.netlify.com/v3/static/og-image.png"/> <meta name="og:image:secure_url" content="https://www.netlify.com/v3/static/og-image.png"/> <meta name="image" property="og:image" content="https://www.netlify.com/v3/static/og-image.png"/> <meta property="og:site_name" content="Netlify"/> <meta property="og:title" content="Netlify Large Media"/> <meta property="og:description" content="Manage binary files of any size right in your repo, just like code."/> <meta name="google-site-verification" content="CAxgIAbLi9W2LTON4EwPKPD4nc0M7CV7xXkrwRMLpsU"/> <!-- Needed for Hugues Tennier's ownership of Google Search Console --> <script> document.documentElement.classList.add("js"),"open"in document.createElement("details")==!0&&document.documentElement.classList.add("enhanced-js"),("https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow"===localStorage.getItem("Netlify_hide-announcement-bar")||function(e){let t=e.split(/[^\d]/).map((e=>parseInt(e,10))),n=new Date(t[0],t[1]-1,t[2]+1);return n&&new Date>n}("2024-12-05"))&&document.documentElement.setAttribute("data-announcement-state","hidden"); </script> <link rel="stylesheet" href="/css/global.css"> <link rel="stylesheet" href="/css/marketing.css"> <link rel="stylesheet" href="/css/marketing-dark.css"> <style> @layer legacy { *{box-sizing:border-box;margin:0;padding:0}body{color:var(--color-gray-L800);line-height:1.5;font-family:var(--font-secondary);padding:0;overflow-x:hidden;overflow-y:scroll}a{color:currentColor}:focus-visible{transition:outline-offset .1s ease-out}abbr[title]{text-decoration:none}img{display:block;max-width:100%}#main{isolation:isolate}:where(h1,h2,h3,h4,h5,h6,main){scroll-margin-top:calc(1em + var(--ntl-page-header-height))}.pancake{margin-top:3rem}.compat-grid,.grid,.pancake{padding:0 1rem}.compat-grid,.grid,.pancake{display:grid;grid-template-columns:[full-start] minmax(2rem,1fr) [standard-start] 0 [narrow-start] minmax(1rem,67.5rem) [narrow-end] 0 [standard-end] minmax(2rem,1fr) [full-end];position:relative;padding:0}@media (min-width:50rem){.compat-grid,.grid,.pancake{grid-template-columns:[full-start] minmax(2rem,1fr) [standard-start] 3.75rem [narrow-start] minmax(1rem,67.5rem) [narrow-end] 3.75rem [standard-end] minmax(2rem,1fr) [full-end]}}@keyframes slideUpBounce{0%{opacity:0;transform:translateY(20px)}60%{opacity:1}60%{transform:translateY(-5px)}100%{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}100%{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.js [data-animate-on-scroll-element]{opacity:0}.js [data-animate-on-scroll=animated] [data-animate-on-scroll-element]{animation-fill-mode:forwards;animation-name:var(--animation-on-scroll-name,slideUpBounce);animation-timing-function:var(--animation-on-scroll-timing-function,ease-in-out);animation-duration:var(--animation-on-scroll-duration,1000ms);animation-delay:var(--animation-on-scroll-delay,0)}}[hidden]{display:none!important}[data-announcement-state=hidden] .ntl-announcement-bar{display:none!important}a{text-decoration-skip-ink:all}a{text-underline-offset:clamp(2px,.1em,3px)}@media (min-resolution:1.5x){a{text-underline-offset:clamp(1.5px,.0825em,3px)}}a{text-decoration-thickness:1px}:where(h1,h2,h3,h4,h5,.heading) a{text-decoration-thickness:clamp(1.5px,.0875em,4px)}@font-face{font-family:Pacaembu;src:url(/v3/_fonts/PacaembuVar-subset.woff2) format("woff2");unicode-range:U+5,U+20,U+21,U+24,U+25,U+27,U+2B-2E,U+30-3A,U+3F,U+41-5A,U+61-7A,U+D7,U+2019;font-weight:100 1000;font-display:swap}@font-face{font-family:Mulish;src:url(/v3/_fonts/MulishVar-subset.woff2) format("woff2");unicode-range:U+5,U+20,U+21,U+24,U+25,U+27,U+2B-2E,U+30-3A,U+3F,U+41-5A,U+61-7A,U+D7,U+2019;font-weight:200 900;font-display:swap}:root{--color-white:#ffffff;--color-teal-T900:var(--teal-800, #014847);--color-teal-T800:var(--teal-700, #016968);--color-teal-T700:var(--teal-500, #04a29f);--color-teal-T600:var(--teal-400, #05bdba);--color-teal-T500:var(--teal-200, #32e6e2);--color-teal-T400:var(--teal-200, #32e6e2);--color-teal-T300:var(--teal-100, #8efbf7);--color-teal-T200:var(--teal-100, #8efbf7);--color-teal-T100:var(--teal-000, #d3f8f6);--color-teal-T050:var(--teal-000, #d3f8f6);--color-blue-B900:var(--blue-900, #1b205b);--color-blue-B800:var(--blue-900, #1b205b);--color-blue-B700:var(--blue-800, #2036a1);--color-blue-B600:var(--blue-800, #2036a1);--color-blue-B500:var(--blue-700, #2e51ed);--color-blue-B400:var(--blue-500, #5d8df5);--color-blue-B300:var(--blue-400, #80abfa);--color-blue-B200:var(--blue-300, #9cbef6);--color-blue-B100:var(--blue-100, #cde2ff);--color-blue-B050:var(--blue-000, #ebf1fb);--color-gray-L800:var(--neutral-light-800, #181a1c);--color-gray-L700:var(--neutral-light-700, #353a3e);--color-gray-L600:var(--neutral-light-600, #778089);--color-gray-L500:var(--neutral-light-500, #778089);--color-gray-L400:var(--neutral-light-400, #9da7b2);--color-gray-L300:var(--neutral-light-200, #e9ebed);--color-gray-L200:var(--neutral-light-100, #f6f6f7);--color-gray-L100:var(--neutral-light-100, #f6f6f7);--color-gray-L000:var(--neutral-light-000, #ffffff);--color-gray-D800:var(--neutral-dark-800, #12181f);--color-gray-D700:var(--neutral-dark-700, #1e242c);--color-gray-D600:var(--neutral-dark-700, #1e242c);--color-gray-D500:var(--neutral-dark-600, #272f38);--color-gray-D400:var(--neutral-dark-400, #4d565f);--color-gray-D300:var(--neutral-dark-300, #7e8792);--color-gray-D200:var(--neutral-dark-200, #b9c2cd);--color-gray-D100:var(--neutral-dark-100, #e6ecf2);--color-gray-D000:var(--neutral-dark-000, #ffffff);--color-yellow-Y900:var(--gold-700, #8c4c0d);--color-yellow-Y800:var(--gold-600, #a85d13);--color-yellow-Y700:var(--gold-500, #d5771a);--color-yellow-Y600:var(--gold-400, #f98e21);--color-yellow-Y500:var(--gold-300, #fbb13d);--color-yellow-Y400:var(--gold-200, #facd6f);--color-yellow-Y300:var(--gold-100, #f6e0a5);--color-yellow-Y200:var(--gold-000, #fbf0cc);--color-yellow-Y100:var(--gold-000, #fbf0cc);--color-yellow-Y050:var(--gold-000, #fbf0cc);--color-red-R900:var(--red-800, #800a20);--color-red-R800:var(--red-800, #800a20);--color-red-R700:var(--red-700, #af2536);--color-red-R600:var(--red-600, #d62740);--color-red-R500:var(--red-500, #fe4e5c);--color-red-R400:var(--red-300, #ffada9);--color-red-R300:var(--red-200, #ffbdba);--color-red-R200:var(--red-100, #fbd3d0);--color-red-R100:var(--red-000, #fee9e7);--color-red-R050:var(--red-000, #fee9e7);--color-pink:var(--red-500, #fe4e5c);--color-pink-dark:var(--red-600, #d62740);--color-pink-accessible:var(--red-600, #d62740);--color-orange:var(--gold-500, #d5771a);--color-orange-dark:var(--gold-600, #a85d13);--color-blue:var(--blue-400, #80abfa);--color-blue-dark:var(--blue-700, #2e51ed);--color-blue-dark-b:var(--blue-900, #1b205b);--color-violet:var(--pink-500, #df5adc);--color-violet-dark:var(--pink-800, #6c1d6b);--color-gold:var(--gold-300, #fbb13d);--color-yellow:var(--gold-300, #fbb13d);--color-yellow-dark:var(--gold-500, #d5771a);--color-plan-starter:var(--teal-800, #014847);--color-plan-pro:var(--red-600, #d62740);--color-plan-pro-accessible:var(--color-pink-accessible);--color-plan-business:var(--blue-700, #2e51ed);--color-plan-enterprise:var(--neutral-light-700, #353a3e);--gradient-1:linear-gradient(to bottom, #230a5c 0%, #3e119c 100%);--font-headline:Pacaembu,sans-serif;--font-primary:Pacaembu,sans-serif;--font-secondary:Mulish,sans-serif;--font-monospace:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;--radius-1:0.125rem;--radius-2:0.25rem;--radius-3:0.5rem;--radius-4:1rem;--radius-circle:50%;--radius-pill:360px;--space-1:0.25rem;--space-2:0.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:4rem;--pancake-block-space:5rem;--ease-out:cubic-bezier(0.5, 1, 0.89, 1);--border-radius:6px;--border-radius-large:12px;--color-focus-ring:var(--color-teal-T500);--grid-gutter:2.5rem;--shadow-light:0px 2px 4px rgba(14, 30, 37, 0.12);--shadow-heavy:-10px 10px 80px rgba(0, 0, 0, 0.1);--shadow-hover:0 4px 12px rgba(0, 0, 0, 0.25);--shadow-deep:0px 16px 24px rgba(0, 0, 0, 0.07),0px 6px 30px rgba(0, 0, 0, 0.06),0px 8px 10px rgba(0, 0, 0, 0.1);--shadow-coheeze-shallow:0px 2px 4px rgba(51, 55, 59, 0.08),0px 1px 10px rgba(51, 55, 59, 0.06);--shadow-coheeze-deepest:0px 24px 38px rgba(0, 0, 0, 0.14),0px 9px 46px rgba(0, 0, 0, 0.04);--shadow-coheeze-shallow-filter:drop-shadow(0px 1px 10px rgba(51, 55, 59, 0.06)) drop-shadow(0px 2px 4px rgba(51, 55, 59, 0.08));--shadow-coheeze-deep-filter:drop-shadow(0px 6px 30px rgba(51, 55, 59, 0.04)) drop-shadow(0px 8px 24px rgba(51, 55, 59, 0.04)) drop-shadow(0px 4px 8px rgba(0, 0, 0, 0.08))}[class*=pancake-theme]{padding:7em 0;margin:0}.pancake-theme-dark+.pancake-theme-dark,.pancake-theme-light+.pancake-theme-light,.pancake-theme-white+.pancake-theme-white{padding-top:0}.pancake-theme-light{background-color:var(--color-gray-L200)}.pancake-theme-dark{background-color:var(--color-gray-D800);color:var(--color-gray-D000)}.pancake-theme-dark .heading{color:var(--color-gray-D000)}.pancake-theme-dark .call-to-action{--call-to-action-foreground:var(--color-gray-D000)}.pancake-theme-white+.pancake-theme-white{padding-top:0}.type-a,.type-b{font-size:calc(var(--type-fontsize-min) + (var(--type-fontsize-max) - var(--type-fontsize-min))/ 2);line-height:1.5}@supports (font-size:clamp(1em,2vw,2em)){.type-a,.type-b{font-size:clamp(var(--type-fontsize-min),var(--type-fontsize-value),var(--type-fontsize-max))}}.type-a strong,.type-b strong{font-weight:inherit}.type-a{font-family:var(--font-headline);font-weight:400}.type-a-2{font-weight:400}.type-a-3{font-weight:680;letter-spacing:-.01em}.type-a-4,.type-a-5{font-family:var(--font-headline);font-weight:680;letter-spacing:-.02em;line-height:1.4}.type-a--1{--type-fontsize-min:0.875em;--type-fontsize-max:1em;--type-fontsize-value:0.83em + 0.23vw}.type-a-0{font-size:1em;line-height:1.5}.type-a-0.type--nested{font-size:1rem}.type-a-1{--type-fontsize-min:1.125em;--type-fontsize-max:1.4375em;--type-fontsize-value:1.02em + 0.53vw}.type-a-2{--type-fontsize-min:1.25em;--type-fontsize-max:2em;--type-fontsize-value:1em + 1.33vw;line-height:1.4}.type-a-3{--type-fontsize-min:1.4375em;--type-fontsize-max:2.8125em;--type-fontsize-value:0.91em + 2.55vw}.type-a-4{--type-fontsize-min:1.625em;--type-fontsize-max:4em;--type-fontsize-value:0.73em + 4.36vw}.type-a-5{--type-fontsize-min:1.8125em;--type-fontsize-max:5.625em;--type-fontsize-value:0.4em + 7vw}.type-b{font-family:var(--font-secondary);font-weight:400}.type-b-1,.type-b-2{font-weight:600}.type-b--1{--type-fontsize-min:0.8125em;--type-fontsize-max:0.9375em;--type-fontsize-value:0.76rem + 0.24vw}.type-b-0{font-size:1em;line-height:1.5}.type-b-0.type--nested{font-size:1rem}.type-b-1{--type-fontsize-min:1.0625em;--type-fontsize-max:1.3125em;--type-fontsize-value:0.96em + 0.49vw}.type-b-2{--type-fontsize-min:1.1875em;--type-fontsize-max:1.875em;--type-fontsize-value:0.92em + 1.34vw}.type-uppercase{text-transform:uppercase}.pancake-intro-title{margin-bottom:.5em}.pancake-intro-text{max-width:65ch;margin-bottom:2em}.pancake-intro-align-center{text-align:center}.pancake-intro-align-center .pancake-intro-text{margin-left:auto;margin-right:auto}:root{--theme-background:var(--color-gray-L000);--theme-foreground:var(--color-gray-L800)}.theme-dark{--theme-background:var(--color-gray-L800);--theme-foreground:var(--color-gray-L000)}.theme-dark-translucent{--theme-background:hsla(0 0% 0% / 0.2);--theme-foreground:var(--color-gray-L000)}.page-bg-wrapper{position:relative}.preheader{font-weight:500;text-transform:uppercase;letter-spacing:.04em;border:none;color:var(--color-gray-L600);text-align:center;display:flex;justify-content:center;grid-column:full;min-height:1em;position:relative;margin-bottom:1em;padding:0 1em}@media (min-width:37.5rem){.preheader{grid-column:standard}}.preheader-align-left{justify-content:flex-start;text-align:left;padding-left:0}.heading{color:var(--heading-color,var(--color-gray-L800));position:relative}.heading-center{text-align:center}.paragraph a:hover{color:var(--color-accent,currentColor);text-decoration:none}.paragraph-center{text-align:center}.paragraph-lh-inherit{line-height:inherit}.paragraph-margin{margin-top:1.5em;margin-bottom:1.5em}.button-group{--button-group-margin:0.75em;display:flex;flex-wrap:wrap;list-style:none;align-items:center;justify-content:center;margin-left:calc(-1 * var(--button-group-margin));margin-right:calc(-1 * var(--button-group-margin))}.button-group li{margin-bottom:1em;margin-left:var(--button-group-margin);margin-right:var(--button-group-margin)}@media (min-width:37.5rem){.button-group{justify-content:unset}}.button-group-center{justify-content:center}.icon-arrow{fill:var(--theme-icon-color,currentColor)}.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.call-to-action{--call-to-action-foreground:var(--color-gray-L800);font-weight:700;font-size:1em;line-height:1.5;display:inline-block;align-items:center;color:var(--call-to-action-foreground)}.call-to-action .icon{display:inline;white-space:nowrap;margin-inline-start:.1em}.call-to-action .icon svg{fill:var(--color-teal-T600);width:.75em;height:auto;margin-left:.5em;flex-shrink:0}.call-to-action[href*="://"]:not([href*="netlify.com"]) .icon svg{transform:rotate(-45deg)}.call-to-action[href^="#"] .icon svg{transform:rotate(90deg)}.call-to-action-arrow-prefix .icon svg{margin-left:0;margin-right:.5em;transform:rotate(180deg)}.call-to-action span{text-decoration:underline}.call-to-action:hover span{-webkit-text-decoration-color:var(--color-teal-T600);text-decoration-color:var(--color-teal-T600)}.call-to-action-ru{text-decoration:none}.call-to-action-ru:focus,.call-to-action-ru:hover{text-decoration:underline}.call-to-action-button{font-family:var(--font-headline);--button-color-foreground:var(--theme-background, var(--color-gray-L000));--button-color-background:var(--color-accent, var(--theme-foreground, var(--color-gray-L800)));font-size:1em;color:var(--button-color-foreground);border-radius:var(--border-radius);border:1px var(--button-color-border) solid;padding:.5em 1.5em;text-decoration:none;text-align:center;cursor:pointer;background-color:var(--button-color-background);transition:background-color,border-color;transition-duration:.2s;outline-offset:3px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.call-to-action-button span{text-decoration:none}.call-to-action-button>svg{fill:currentColor}.call-to-action-button:focus-visible{transition:outline-offset .1s ease-out,background-color .2s,border-color .2s;outline-offset:4px}.call-to-action-large{font-size:1.25em}.call-to-action-full{width:100%;text-align:center}.call-to-action-variant-teal{--button-color-foreground:var(--color-teal-T900);--button-color-background:var(--color-teal-T500);--button-color-border:var(--color-teal-T500)}.call-to-action-variant-teal:disabled{--button-color-foreground:var(--color-teal-T700);--button-color-background:var(--color-teal-T100);--button-color-border:var(--color-teal-T100);cursor:not-allowed}.call-to-action-variant-teal:active:not([disabled]),.call-to-action-variant-teal:hover:not([disabled]){--button-color-background:var(--color-teal-T200);--button-color-border:var(--color-teal-T200)}.call-to-action-variant-blue{--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-blue-B500);--button-color-border:var(--color-blue-B500)}.call-to-action-variant-blue:active:not([disabled]),.call-to-action-variant-blue:hover:not([disabled]){--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-blue-B700);--button-color-border:var(--color-blue-B700)}.call-to-action-variant-black{--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-gray-L800);--button-color-border:var(--color-gray-L800)}.call-to-action-variant-black:active:not([disabled]),.call-to-action-variant-black:hover:not([disabled]){--button-color-foreground:var(--color-blue-B050);--button-color-background:var(--color-blue-B700);--button-color-border:var(--color-blue-B700)}.call-to-action-variant-ghost{--button-color-background:transparent;--button-color-foreground:var(--color-blue-B500);--button-color-border:var(--color-blue-B500)}.call-to-action-variant-ghost:hover:not([disabled]){--button-color-foreground:var(--color-blue-B800);--button-color-border:var(--color-blue-B800)}button.call-to-action-variant-text{font-family:inherit;background-color:transparent;border:none}.hero-intro{--color-accent:var(--color-teal-T900);margin-top:0}.hero-intro-p{color:var(--color-gray-D800);margin:1rem auto;max-width:65ch}.hero-intro-hed{color:var(--color-gray-L800)}.hero-intro-align-center .hero-intro-hed{text-align:center}.hero-intro-align-center .hero-intro-p{text-align:center}@media (min-width:37.5em){.hero-intro-align-md-center .hero-intro-hed{text-align:center}.hero-intro-align-md-center .hero-intro-p{text-align:center}}.hero-intro-cta{margin-top:1.6875em}@media (min-width:37.5em){.hero-intro-cta{text-align:center}}.hero-intro-extra{margin:1em 0;border-top:1px solid rgba(255,255,255,.4);padding-top:1em;font-weight:700}.pre-footer{text-align:center}.pre-footer .heading{margin-bottom:.7em}.pre-footer-subhed{color:var(--color-gray-darkest-L700);margin-left:auto;margin-right:auto;margin-bottom:2.8em;max-width:30em}.pre-footer-theme-dark{--heading-color:var(--color-white);padding:3rem 0;color:var(--color-white);background-color:var(--color-gray-D800)}.pre-footer-theme-dark .call-to-action{--call-to-action-foreground:var(--color-white)}.product-feature-grid{--illustrationColumnSize:1.25fr;display:grid;grid-template-columns:var(--illustrationColumnSize) 1fr;grid-gap:5em;align-items:center}@media (max-width:47.5rem){.product-feature-grid{grid-template-columns:1fr}}[class*=product-feature-grid] .call-to-action{margin-top:1em}.product-feature-grid+.product-feature-grid{margin-top:5em}.product-feature-grid-description{margin-top:1.5em}.product-feature-grid-description+.type-a-2{margin-top:1.5em}.product-forms-illustration-dashboard{width:18em;height:auto}@media (max-width:47.5rem){.product-feature-grid-illustration{order:-1}}@media (max-width:37.5rem){.product-feature-grid-narrow-illustration{order:-1}}.product-feature-grid-illustration img,.product-feature-grid-illustration svg,.product-feature-grid-narrow-illustration img,.product-feature-grid-narrow-illustration svg{max-width:100%;display:block;margin:0 auto;height:auto}.product-feature-grid-narrow{--illustrationColumnSize:12.5em;display:grid;grid-template-columns:1fr var(--illustrationColumnSize);max-width:45em;margin-left:auto;margin-right:auto;grid-gap:3em;align-items:center}@media (max-width:37.5rem){.product-feature-grid-narrow{grid-template-columns:1fr}}.product-feature-grid-narrow+.product-feature-grid-narrow{margin-top:5em}.product-feature-grid-narrow-alternate{--illustrationColumnSize:12.5em;grid-template-columns:var(--illustrationColumnSize) 1fr}@media (max-width:37.5rem){.product-feature-grid-narrow-alternate{grid-template-columns:1fr}}.product-feature-grid-full [class*="-content"]{grid-column:1/-1}.pancake>*{grid-column:standard}.hero-intro-p{color:var(--color-gray-L800)}.pancake-intro-paragraph{max-width:50ch;margin:2em auto}.products-largemedia-builds{margin:6em 0}.products-largemedia-pancake{margin-top:6em} } </style> <link rel="stylesheet" href="/css/beon.css"> <!-- OneTrust --> <link rel="stylesheet" href="/css/onetrust.css"> <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> <!-- Google Tag Manager --> <script> (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', 'GTM-T7WNFLD'); </script> <!-- End Google Tag Manager --> <!-- 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 --> <script src="https://js.hsforms.net/forms/v2.js"></script> </head> <body> <svg width="0" height="0" aria-hidden="true" style="position: absolute"> <defs> <symbol viewBox="0 0 85 107" id="icon-astro"> <path d="M27.5893 91.1365C22.7555 86.7178 21.3443 77.4335 23.3583 70.7072C26.8503 74.948 31.6888 76.2914 36.7005 77.0497C44.4374 78.2199 52.0358 77.7822 59.2231 74.2459C60.0453 73.841 60.8052 73.3027 61.7036 72.7574C62.378 74.714 62.5535 76.6892 62.3179 78.6996C61.7452 83.5957 59.3086 87.3778 55.4332 90.2448C53.8835 91.3916 52.2437 92.4167 50.6432 93.4979C45.7262 96.8213 44.3959 100.718 46.2435 106.386C46.2874 106.525 46.3267 106.663 46.426 107C43.9155 105.876 42.0817 104.24 40.6844 102.089C39.2086 99.8193 38.5065 97.3081 38.4696 94.5909C38.4511 93.2686 38.4511 91.9345 38.2733 90.6309C37.8391 87.4527 36.3471 86.0297 33.5364 85.9478C30.6518 85.8636 28.37 87.6469 27.7649 90.4554C27.7187 90.6707 27.6517 90.8837 27.5847 91.1341L27.5893 91.1365Z" fill="currentColor"/> <path d="M0 69.5866C0 69.5866 14.3139 62.6137 28.6678 62.6137L39.4901 29.1204C39.8953 27.5007 41.0783 26.3999 42.4139 26.3999C43.7495 26.3999 44.9325 27.5007 45.3377 29.1204L56.1601 62.6137C73.1601 62.6137 84.8278 69.5866 84.8278 69.5866C84.8278 69.5866 60.5145 3.35233 60.467 3.21944C59.7692 1.2612 58.5911 0 57.0029 0H27.8274C26.2392 0 25.1087 1.2612 24.3634 3.21944C24.3108 3.34983 0 69.5866 0 69.5866Z" fill="currentColor"/> </symbol> <symbol viewBox="0 0 448 512" id="icon-arrow"> <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 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z"></path> </symbol> <symbol viewBox="0 0 384 512" id="icon-close"> <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.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"></path> </symbol> <symbol viewBox="0 0 22 24" id="icon-search"> <path fill="currentcolor" d="M9.41345,0.47253 C14.4289798,0.47253 18.49487,4.53842023 18.49487,9.55395 C18.49487,12.0451846 17.4917537,14.3021289 15.8674001,15.9429038 L21.392653,21.4668327 L19.271347,23.5881673 L13.3990455,17.7163323 C12.1958116,18.3049607 10.8432164,18.63537 9.41345,18.63537 C4.39792023,18.63537 0.33203,14.5694798 0.33203,9.55395 C0.33203,4.53842023 4.39792023,0.47253 9.41345,0.47253 Z M9.41345,3.47253 C6.05477448,3.47253 3.33203,6.19527448 3.33203,9.55395 C3.33203,12.9126255 6.05477448,15.63537 9.41345,15.63537 C12.7721255,15.63537 15.49487,12.9126255 15.49487,9.55395 C15.49487,6.19527448 12.7721255,3.47253 9.41345,3.47253 Z"></path> </symbol> <symbol viewBox="0 0 512 512" id="icon-chevron"> <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"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-nextjs"> <path fill="currentcolor" d="M11.5725 0c-.1763 0-.3098.0013-.3584.0067-.0516.0053-.2159.021-.3636.0328-3.4088.3073-6.6017 2.1463-8.624 4.9728C1.1004 6.584.3802 8.3666.1082 10.255c-.0962.659-.108.8537-.108 1.7474s.012 1.0884.108 1.7476c.652 4.506 3.8591 8.2919 8.2087 9.6945.7789.2511 1.6.4223 2.5337.5255.3636.04 1.9354.04 2.299 0 1.6117-.1783 2.9772-.577 4.3237-1.2643.2065-.1056.2464-.1337.2183-.1573-.0188-.0139-.8987-1.1938-1.9543-2.62l-1.919-2.592-2.4047-3.5583c-1.3231-1.9564-2.4117-3.556-2.4211-3.556-.0094-.0026-.0187 1.5787-.0235 3.509-.0067 3.3802-.0093 3.5162-.0516 3.596-.061.115-.108.1618-.2064.2134-.075.0374-.1408.0445-.495.0445h-.406l-.1078-.068a.4383.4383 0 01-.1572-.1712l-.0493-.1056.0053-4.703.0067-4.7054.0726-.0915c.0376-.0493.1174-.1125.1736-.143.0962-.047.1338-.0517.5396-.0517.4787 0 .5584.0187.6827.1547.0353.0377 1.3373 1.9987 2.895 4.3608a10760.433 10760.433 0 004.7344 7.1706l1.9002 2.8782.096-.0633c.8518-.5536 1.7525-1.3418 2.4657-2.1627 1.5179-1.7429 2.4963-3.868 2.8247-6.134.0961-.6591.1078-.854.1078-1.7475 0-.8937-.012-1.0884-.1078-1.7476-.6522-4.506-3.8592-8.2919-8.2087-9.6945-.7672-.2487-1.5836-.42-2.4985-.5232-.169-.0176-1.0835-.0366-1.6123-.037zm4.0685 7.217c.3473 0 .4082.0053.4857.047.1127.0562.204.1642.237.2767.0186.061.0234 1.3653.0186 4.3044l-.0067 4.2175-.7436-1.14-.7461-1.14v-3.066c0-1.982.0093-3.0963.0234-3.1502.0375-.1313.1196-.2346.2323-.2955.0961-.0494.1313-.054.4997-.054z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-jamstack"> <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.149zm9.168.016h8.152a8.684 8.684 0 01-8.152 8.148z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-react"> <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.236zm2.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.38-.318-.184-.688-.277-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.44-.96-.236-2.006-.417-3.107-.534-.66-.905-1.345-1.727-2.035-2.447 1.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.442-1.107.117-2.154.298-3.113.538-.112-.49-.195-.964-.254-1.42-.23-1.868.054-3.32.714-3.707.19-.09.4-.127.563-.132zm4.882 3.05c.455.468.91.992 1.36 1.564-.44-.02-.89-.034-1.345-.034-.46 0-.915.01-1.36.034.44-.572.895-1.096 1.345-1.565zM12 8.1c.74 0 1.477.034 2.202.093.406.582.802 1.203 1.183 1.86.372.64.71 1.29 1.018 1.946-.308.655-.646 1.31-1.013 1.95-.38.66-.773 1.288-1.18 1.87-.728.063-1.466.098-2.21.098-.74 0-1.477-.035-2.202-.093-.406-.582-.802-1.204-1.183-1.86-.372-.64-.71-1.29-1.018-1.946.303-.657.646-1.313 1.013-1.954.38-.66.773-1.286 1.18-1.868.728-.064 1.466-.098 2.21-.098zm-3.635.254c-.24.377-.48.763-.704 1.16-.225.39-.435.782-.635 1.174-.265-.656-.49-1.31-.676-1.947.64-.15 1.315-.283 2.015-.386zm7.26 0c.695.103 1.365.23 2.006.387-.18.632-.405 1.282-.66 1.933-.2-.39-.41-.783-.64-1.174-.225-.392-.465-.774-.705-1.146zm3.063.675c.484.15.944.317 1.375.498 1.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.493-.28-.958-.646-1.956-1.1-2.98.45-1.017.81-2.01 1.085-2.964zm-13.395.004c.278.96.645 1.957 1.1 2.98-.45 1.017-.812 2.01-1.086 2.964-.484-.15-.944-.318-1.37-.5-1.732-.737-2.852-1.706-2.852-2.474 0-.768 1.12-1.742 2.852-2.476.42-.18.88-.342 1.356-.494zm11.678 4.28c.265.657.49 1.312.676 1.948-.64.157-1.316.29-2.016.39.24-.375.48-.762.705-1.158.225-.39.435-.788.636-1.18zm-9.945.02c.2.392.41.783.64 1.175.23.39.465.772.705 1.143-.695-.102-1.365-.23-2.006-.386.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.295-.22-.005-.406-.05-.553-.132-.666-.38-.955-1.834-.73-3.703.054-.46.142-.944.25-1.438zm4.56.64c.44.02.89.034 1.345.034.46 0 .915-.01 1.36-.034-.44.572-.895 1.095-1.345 1.565-.455-.47-.91-.993-1.36-1.565z"></path> </symbol> <symbol viewBox="0 0 448 512" id="icon-linkedin"> <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.3zM135.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.5zm282.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.9V416z"/> </symbol> <symbol viewBox="0 0 24 24" id="icon-vue"> <path fill="currentcolor" d="M24,1.61H14.06L12,5.16,9.94,1.61H0L12,22.39ZM12,14.08,5.16,2.23H9.59L12,6.41l2.41-4.18h4.43Z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-svelte"> <path fill="currentcolor" d="M10.354 21.125a4.44 4.44 0 0 1-4.765-1.767 4.109 4.109 0 0 1-.703-3.107 3.898 3.898 0 0 1 .134-.522l.105-.321.287.21a7.21 7.21 0 0 0 2.186 1.092l.208.063-.02.208a1.253 1.253 0 0 0 .226.83 1.337 1.337 0 0 0 1.435.533 1.231 1.231 0 0 0 .343-.15l5.59-3.562a1.164 1.164 0 0 0 .524-.778 1.242 1.242 0 0 0-.211-.937 1.338 1.338 0 0 0-1.435-.533 1.23 1.23 0 0 0-.343.15l-2.133 1.36a4.078 4.078 0 0 1-1.135.499 4.44 4.44 0 0 1-4.765-1.766 4.108 4.108 0 0 1-.702-3.108 3.855 3.855 0 0 1 1.742-2.582l5.589-3.563a4.072 4.072 0 0 1 1.135-.499 4.44 4.44 0 0 1 4.765 1.767 4.109 4.109 0 0 1 .703 3.107 3.943 3.943 0 0 1-.134.522l-.105.321-.286-.21a7.204 7.204 0 0 0-2.187-1.093l-.208-.063.02-.207a1.255 1.255 0 0 0-.226-.831 1.337 1.337 0 0 0-1.435-.532 1.231 1.231 0 0 0-.343.15L8.62 9.368a1.162 1.162 0 0 0-.524.778 1.24 1.24 0 0 0 .211.937 1.338 1.338 0 0 0 1.435.533 1.235 1.235 0 0 0 .344-.151l2.132-1.36a4.067 4.067 0 0 1 1.135-.498 4.44 4.44 0 0 1 4.765 1.766 4.108 4.108 0 0 1 .702 3.108 3.857 3.857 0 0 1-1.742 2.583l-5.589 3.562a4.072 4.072 0 0 1-1.135.499m10.358-17.95C18.484-.015 14.082-.96 10.9 1.068L5.31 4.63a6.412 6.412 0 0 0-2.896 4.295 6.753 6.753 0 0 0 .666 4.336 6.43 6.43 0 0 0-.96 2.396 6.833 6.833 0 0 0 1.168 5.167c2.229 3.19 6.63 4.135 9.812 2.108l5.59-3.562a6.41 6.41 0 0 0 2.896-4.295 6.756 6.756 0 0 0-.665-4.336 6.429 6.429 0 0 0 .958-2.396 6.831 6.831 0 0 0-1.167-5.168Z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-gatsby"> <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 0zm0 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.6l9.344 9.258c-2.4-.086-4.801-.943-6.601-2.743-1.8-1.8-2.743-4.201-2.743-6.515z"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-wordpress"> <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.61.001.014zM12 22.784c-1.059 0-2.081-.153-3.048-.437l3.237-9.406 3.315 9.087c.024.053.05.101.078.149-1.12.393-2.325.609-3.582.609M1.211 12c0-1.564.336-3.05.935-4.39L7.29 21.709C3.694 19.96 1.212 16.271 1.211 12M12 0C5.385 0 0 5.385 0 12s5.385 12 12 12 12-5.385 12-12S18.615 0 12 0"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-nuxtjs"> <path fill="currentcolor" d="M13.4642 19.8295h8.9218c.2834 0 .5618-.0723.8072-.2098a1.5899 1.5899 0 0 0 .5908-.5732 1.5293 1.5293 0 0 0 .216-.783 1.529 1.529 0 0 0-.2167-.7828L17.7916 7.4142a1.5904 1.5904 0 0 0-.5907-.573 1.6524 1.6524 0 0 0-.807-.2099c-.2833 0-.5616.0724-.807.2098a1.5904 1.5904 0 0 0-.5907.5731L13.4642 9.99l-2.9954-5.0366a1.5913 1.5913 0 0 0-.591-.573 1.6533 1.6533 0 0 0-.8071-.2098c-.2834 0-.5617.0723-.8072.2097a1.5913 1.5913 0 0 0-.591.573L.2168 17.4808A1.5292 1.5292 0 0 0 0 18.2635c-.0001.2749.0744.545.216.783a1.59 1.59 0 0 0 .5908.5732c.2454.1375.5238.2098.8072.2098h5.6003c2.219 0 3.8554-.9454 4.9813-2.7899l2.7337-4.5922L16.3935 9.99l4.3944 7.382h-5.8586ZM7.123 17.3694l-3.9083-.0009 5.8586-9.8421 2.9232 4.921-1.9572 3.2892c-.7478 1.1967-1.5972 1.6328-2.9163 1.6328z"></path> </symbol> <symbol viewBox="4 4 40 40" id="icon-sitecore"> <path fill="currentcolor" d="M24,4C12.96,4,4,12.96,4,24c0,11.05,8.96,20,20,20s20-8.96,20-20C44,12.96,35.04,4,24,4z M24,38.98c-8.81,0-14.98-6.79-14.98-14.98c0-8.18,6.79-14.98,14.98-14.98c8.18,0,15.02,6.68,15.02,14.86C39.02,32.07,32.81,38.98,24,38.98z"></path> <path fill="currentcolor" d="M35.59,31.129c0,0-4.197,7.217-13.375,6.246c-8.894-0.951-10.6-8.423-10.688-8.894c1.912,3.52,4.756,6.217,11.58,6.217c7.129,0,9.806-5.354,9.806-5.354L35.59,31.129z"></path> <path fill="currentcolor" d="M36.482,30.236l-3.569-1.775c0,0-3.569,5.344-9.806,5.344c-6.903,0-8.796-3.354-8.903-3.559c3.412,3.402,8.09,3.059,11.58,1.775c7.815-2.863,7.129-9.806,7.129-9.806h4.462C37.375,22.215,38.267,27.569,36.482,30.236z"></path> <path fill="currentcolor" d="M32.021,21.323c0,0,0.392,7.227-6.236,9.806c-3.491,1.363-6.884,0.098-7.129,0c0,0,2.628,0.471,4.452,0c3.569-0.892,5.256-2.491,6.236-4.452c2.677-5.354-0.883-8.913-0.883-8.913l4.452-3.569c0,0,4.256,3.677,4.462,7.129H32.021z"></path> </symbol> <symbol viewBox="0 0 98 96" id="icon-github"> <path fill-rule="evenodd" clip-rule="evenodd" fill="currentcolor" 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.052a46.97 46.97 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 0z"></path> </symbol> <symbol viewBox="0 0 22 16" id="icon-youtube"> <path 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.623 2.623 0 001.826-1.887c.437-1.663.437-5.134.437-5.134s.013-3.484-.437-5.16A2.605 2.605 0 0019.148.984C17.514.524 10.994.524 10.994.524zM8.923 4.8l5.415 3.207L8.923 11.2V4.8z" fill="currentcolor" fill-rule="nonzero"></path> </symbol> <symbol viewBox="0 0 24 24" id="icon-discourse"> <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 0zm.116 4.563c-2.593-.003-4.996 1.352-6.337 3.57-1.33 2.208-1.387 4.957-.148 7.22L4.4 19.61l4.794-1.074c2.745 1.225 5.965.676 8.136-1.39 2.17-2.054 2.86-5.228 1.737-7.997-1.135-2.778-3.84-4.59-6.84-4.585h-.008z"></path> </symbol> <symbol viewBox="0 0 448 512" id="icon-plus"> <path fill="currentcolor" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"></path> </symbol> <symbol viewBox="0 0 448 512" id="icon-minus"> <path fill="currentcolor" d="M432 256c0 17.7-14.3 32-32 32L48 288c-17.7 0-32-14.3-32-32s14.3-32 32-32l352 0c17.7 0 32 14.3 32 32z"></path> </symbol> </defs> </svg> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-T7WNFLD" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <svg width="0" height="0" aria-hidden="true" style="position: absolute;"> <defs> <!-- icon-arrow Component --> <g id="icon-arrow"> <path d="M8.58495 5.99389H0.99889C0.447218 5.99389 0 5.54667 0 4.995C0 4.44333 0.447218 3.99611 0.99889 3.99611H8.58652L6.78711 2.1967C6.39702 1.80661 6.39702 1.17415 6.78711 0.784055C7.1772 0.393964 7.80966 0.393964 8.19975 0.784055L11.6593 4.24361C11.8681 4.42669 12 4.69545 12 4.995C12 5.30001 11.8633 5.5731 11.6478 5.75632L8.19975 9.20437C7.80966 9.59446 7.1772 9.59446 6.78711 9.20437C6.39702 8.81428 6.39702 8.18182 6.78711 7.79173L8.58495 5.99389V5.99389Z" /> </g> <g id="icon-arrow-circle"> <path fill-rule="evenodd" clip-rule="evenodd" d="M18.4434 9.05078C18.4434 14.0213 14.4139 18.0508 9.44336 18.0508C4.4728 18.0508 0.443359 14.0213 0.443359 9.05078C0.443359 4.08022 4.4728 0.0507812 9.44336 0.0507812C14.4139 0.0507812 18.4434 4.08022 18.4434 9.05078ZM5.22358 9.8894H11.6243L10.1074 11.4063C9.77824 11.7355 9.77824 12.2691 10.1074 12.5982C10.4365 12.9274 10.9702 12.9274 11.2993 12.5982L14.2086 9.68895C14.3904 9.53436 14.5058 9.30394 14.5058 9.04659C14.5058 8.79384 14.3945 8.56708 14.2183 8.4126L11.2993 5.4936C10.9702 5.16446 10.4365 5.16446 10.1074 5.4936C9.77824 5.82274 9.77824 6.35638 10.1074 6.68552L11.6256 8.20377H5.22358C4.7581 8.20377 4.38076 8.58111 4.38076 9.04659C4.38076 9.51206 4.7581 9.8894 5.22358 9.8894Z" /> </g> </defs> <!-- TODO are these still in use? --> <pattern id="dots-pattern-gray" x="0" y="0" width="17" height="17" patternUnits="userSpaceOnUse"> <ellipse cx="1.5" cy="1.50075" rx="1.5" ry="1.50075" fill="#222222" fill-opacity="0.4"/> <ellipse cx="9.5" cy="9.50072" rx="1.5" ry="1.50072" fill="#222222" fill-opacity="0.4"/> </pattern> </svg> <div data-server-rendered="true"><div class="beon" style="display:contents;transform:translate3d(0px, 0px, 0px);"><style></style> <script></script> <svg width="0" height="0" aria-hidden="true" style="position: absolute"> <defs></defs> </svg> <script type="module"></script> </div> <div class="beon" style="display:contents;transform:translate3d(0px, 0px, 0px);"><style>.ntl-announcement-bar{align-items:center;background-color:var(--color-brand-1);color:var(--color-text-inverse);display:grid;font-size:var(--step--1);font-weight:var(--font-weight-semibold);gap:var(--space-m);grid-template-columns:1fr auto;padding:var(--space-2xs);position:relative;z-index:1}.ntl-announcement-bar[hidden]{display:none}.ntl-announcement-bar:hover a{text-decoration:none}.ntl-announcement-bar>*{grid-row:1}.ntl-announcement-bar p{justify-self:center}.ntl-announcement-bar a:before{bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0;z-index:1}.ntl-announcement-bar .close{border:none;color:inherit;outline-offset:-1px;padding:0;z-index:2}.ntl-site-logo{display:grid;flex-shrink:0;height:auto;margin-block:var(--space-xs);max-inline-size:clamp(90px,15vw,122px);outline-offset:2px;position:relative;top:1px;width:100%}.ntl-site-logo svg{display:flex}.ntl-site-logo .spark{fill:var(--color-brand-logo-spark)}.ntl-site-logo .text{fill:var(--color-brand-logo-text)}@media (min-width:1085px){.ntl-site-logo{--offset:1.4em;margin-inline:calc(var(--offset)*-1) calc(var(--offset)/2)}}.ntl-site-search-toggle{--size:1.4em;all:unset;cursor:pointer;line-height:normal;outline:revert;padding:var(--space-2xs)}.ntl-site-search-toggle svg{--icon-size:auto;position:relative;top:.2em}.ntl-site-nav-toggle{--site-nav-toggle-padding:var(--space-2xs);border:none;color:var(--color-text-1);outline-offset:0;padding:var(--site-nav-toggle-padding)}.ntl-site-nav-toggle[aria-expanded=true] rect{y:10.7188px;transform-origin:center}.ntl-site-nav-toggle[aria-expanded=true] rect:first-child{transform:rotate(-45deg)}.ntl-site-nav-toggle[aria-expanded=true] rect:nth-child(2){display:none}.ntl-site-nav-toggle[aria-expanded=true] rect:last-child{transform:rotate(45deg)}.ntl-site-nav-submenu{display:contents}.ntl-site-nav-submenu .submenu a:not(.button){background-color:transparent;border-radius:unset;color:var(--color-text-1);flex-grow:unset;font-size:.9375em;font-weight:600;padding:unset;text-decoration:revert;white-space:normal}.ntl-site-nav-submenu :is(.ntl-site-nav-submenu .submenu a:not(.button)):hover{text-decoration:none}.ntl-site-nav-submenu .section{color:var(--color-text-1)}.ntl-site-nav-submenu .section li{align-items:center;display:flex;gap:var(--space-2xs);--stack-space:var(--space-2xs)}.ntl-site-nav-submenu .section svg{--_size:1em;color:var(--color-text-2);height:var(--_size);width:var(--_size)}.ntl-site-nav-submenu .section h3{color:var(--color-text-2);font-size:.8em;font-weight:var(--font-weight-medium);text-transform:uppercase}.ntl-site-nav-submenu .submenu-toggle{--icon-size:0.8em;--button-icon-size:0.8em;--submenu-toggle-padding:var(--space-3xs);all:unset;aspect-ratio:1;background-color:transparent;border-radius:var(--radius-circle);display:grid;outline:revert;padding:var(--submenu-toggle-padding);place-items:center}.ntl-site-nav-submenu [aria-expanded=true]:is(.ntl-site-nav-submenu .submenu-toggle) svg{transform:rotate(180deg)}.ntl-site-nav-submenu [id=solutions-submenu] p{color:var(--color-text-2);font-size:.9em}.ntl-site-nav-submenu [id=solutions-submenu] .section:last-child *{--stack-space:0}@media not all and (min-width:1085px){.ntl-site-nav-submenu .submenu{inline-size:100%;margin-block-start:var(--space-2xs)}.ntl-site-nav-submenu .submenu-toggle{align-self:stretch;aspect-ratio:unset;background-color:unset;border-radius:unset;padding-inline:var(--space-s)}.ntl-site-nav-submenu .submenu-toggle>svg{margin-inline-start:auto}.ntl-site-nav-submenu .submenu-toggle[aria-expanded=false]+.submenu{display:none}.ntl-site-nav-submenu .section{padding:var(--space-s) var(--space-xs)}}@media (min-width:600px){.ntl-site-nav-submenu .submenu{--submenu-bg:var(--color-bg-1);--submenu-bg-alt:var(--color-bg-2);--submenu-border:1px solid var(--color-bg-3);--submenu-columns:1fr 1fr;--submenu-max-inline-size:auto;--submenu-transition-duration:300ms;--submenu-transition-delay:200ms;--submenu-transition-ease:cubic-bezier(0.33,1,0.68,1);display:grid;grid-template-columns:var(--submenu-columns);padding:var(--space-xs)}.ntl-site-nav-submenu .section{margin-block:unset;padding:var(--space-s)}.ntl-site-nav-submenu .section:first-child{border-inline-end:var(--submenu-border)}.ntl-site-nav-submenu [id=platform-submenu]{--submenu-max-inline-size:776px}.ntl-site-nav-submenu [id=platform-submenu] .section:nth-child(2) ul{column-count:2}.ntl-site-nav-submenu [id=platform-submenu] .section:last-child{border-block-start:var(--submenu-border);grid-column:1/-1;padding-block:1.5rem}.ntl-site-nav-submenu [id=platform-submenu] .section:last-child,.ntl-site-nav-submenu [id=platform-submenu] .section:last-child ul{align-items:center;display:flex;gap:var(--space-s)}.ntl-site-nav-submenu [id=platform-submenu] .section:last-child *{--stack-space:0}.ntl-site-nav-submenu [id=solutions-submenu]{--submenu-columns:auto 1fr;--submenu-max-inline-size:540px}.ntl-site-nav-submenu [id=solutions-submenu] .section:first-child{grid-row:span 2}.ntl-site-nav-submenu [id=solutions-submenu] .section:last-child{border-block-start:var(--submenu-border)}.ntl-site-nav-submenu [id=start-building-submenu]{--submenu-columns:2fr 3fr;--submenu-max-inline-size:526px}.ntl-site-nav-submenu [id=start-building-submenu] .section:nth-child(2) ul{display:grid;gap:var(--space-2xs);grid-template-columns:repeat(auto-fill,minmax(8rem,1fr))}.ntl-site-nav-submenu [id=start-building-submenu] .section:nth-child(2) ul li{--stack-space:0}}@media (min-width:1085px){.ntl-site-nav-submenu .submenu{background-color:var(--submenu-bg);border-radius:.75rem;box-shadow:var(--shadow-deep);inline-size:var(--submenu-max-inline-size);inset-block-start:100%;inset-inline-start:0;opacity:0;overflow:hidden;padding:unset;pointer-events:none;position:absolute;transform:scale(.94) translate(var(--space-s),calc(var(--space-s)*-1));transform-origin:top left;transition:visibility 0s var(--submenu-transition-duration),pointer-events 0s var(--submenu-transition-duration),opacity calc(var(--submenu-transition-duration)/2) var(--submenu-transition-ease),transform var(--submenu-transition-duration) var(--submenu-transition-delay) var(--submenu-transition-ease);visibility:hidden}.ntl-site-nav-submenu .submenu-toggle{margin-inline-start:calc((var(--button-icon-size) - var(--submenu-toggle-padding)/2)/-1)}.ntl-site-nav-submenu .section{padding:var(--space-m)}.ntl-site-nav-submenu .section:first-child{background-color:var(--submenu-bg-alt)}.ntl-site-nav-submenu [id=platform-submenu] .section:last-child{background-image:url(/images/nav-ecosystem-bg.png);background-position:100%;background-repeat:no-repeat;background-size:contain}}.ntl-site-nav{align-items:center;color:var(--color-text-1);display:flex;flex-wrap:wrap;gap:var(--space-2xs);inline-size:100%;justify-content:space-between;margin-inline:auto;position:relative;z-index:1}.ntl-site-nav .menu{display:flex;flex-grow:1;padding:unset}.ntl-site-nav .menu[data-variant=compact]{display:flex;flex-direction:row;flex-grow:unset;grid-area:header;margin-inline:auto calc(var(--space-2xs)*-1)}.ntl-site-nav li :is(a:not(.button),span){align-items:center;color:var(--color-text-1);display:inline-flex;font-weight:var(--font-weight-semibold);outline-offset:0;padding:var(--space-2xs) var(--space-xs);text-decoration:unset;white-space:nowrap}.ntl-site-nav li>span{cursor:default}.ntl-site-nav .skip-to-content{background:var(--color-bg-1);border-radius:var(--radius-s);box-shadow:var(--shadow-hover);padding:var(--space-2xs) var(--space-s);position:absolute;top:-9999px;z-index:1}.ntl-site-nav .skip-to-content:focus{left:50%;top:50%;transform:translate(-50%,-50%)}@media not all and (min-width:1085px){.ntl-site-nav{display:grid;grid-template-areas:"logo compact-menu toggle";grid-template-columns:1fr auto auto;inline-size:100%}.ntl-site-nav .nav-toggle{grid-area:toggle;margin-inline-end:calc(var(--site-nav-toggle-padding)*-1)}.ntl-site-nav .nav-toggle[aria-expanded=false]~:not(.platform-nav){display:none}.ntl-site-nav .nav-toggle[aria-expanded=true]~:not(.platform-nav){display:flex}.ntl-site-nav .nav-toggle[aria-expanded=true]~.platform-nav{display:none}.ntl-site-nav li :is(a:not(.button),span){background-color:var(--color-bg-2);border-radius:var(--radius-s);flex-grow:1}.ntl-site-nav .menu:not([data-variant=compact]){block-size:100%;flex-direction:column;grid-area:body;inline-size:calc(100% + var(--page-padding)*2);margin-inline:calc(var(--page-padding)*-1);overflow-y:auto;padding-inline:var(--page-padding)}.ntl-site-nav .menu:not([data-variant=compact])>*+*{margin-block-start:var(--space-s)}.ntl-site-nav .menu:not([data-variant=compact])>li{align-items:center;display:grid;flex-wrap:wrap;grid-template-rows:auto 1fr;position:relative}.ntl-site-nav .menu:not([data-variant=compact])>li .submenu-toggle,.ntl-site-nav .menu:not([data-variant=compact])>li>a,.ntl-site-nav .menu:not([data-variant=compact])>li>span{grid-column:1;grid-row:1}.ntl-site-nav .menu[data-variant=compact]{grid-area:compact-menu}.ntl-site-nav .menu[data-variant=compact] :is(a:not(.button),span){background-color:unset}.ntl-site-nav .arrow-icon{--icon-size:0.8em;margin-inline:auto var(--space-3xs)}.ntl-site-nav .site-logo{grid-area:logo}.ntl-site-nav .button{grid-area:footer;margin-block:var(--space-s)}.ntl-site-nav .menu:not([data-variant=compact])>:is(:last-child,.nav-search){display:none}}@media (min-width:1085px){.ntl-site-nav .menu>li{align-items:center;border-radius:var(--radius-s);display:flex;isolation:isolate;position:relative}.ntl-site-nav .menu>li:before{border:2px solid var(--color-brand-1-hover);border-radius:inherit;content:"";height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%}.ntl-site-nav .menu>li.has-submenu:before{left:.2em}.ntl-site-nav .menu>li:hover:before{opacity:1}.ntl-site-nav .nav-search{margin-inline-start:auto}.ntl-site-nav .arrow-icon,.ntl-site-nav .menu[data-variant=compact],.ntl-site-nav .nav-toggle{display:none}.ntl-site-nav .menu>li:hover .submenu,.ntl-site-nav .submenu:focus-within,.ntl-site-nav [aria-expanded=true]+.submenu{opacity:1;pointer-events:auto;transform:scale(1.001);transition:visibility 0s var(--submenu-transition-delay),pointer-events 0s var(--submenu-transition-delay),opacity var(--submenu-transition-duration) var(--submenu-transition-delay) var(--submenu-transition-ease),transform var(--submenu-transition-duration) var(--submenu-transition-delay) var(--submenu-transition-ease);visibility:visible}.ntl-site-nav [aria-expanded=true]+.submenu{transition-delay:unset}.ntl-site-nav .submenu .section>*{opacity:0;transition:opacity var(--submenu-transition-duration) var(--submenu-transition-ease)}.ntl-site-nav .menu>li:hover .submenu .section>*,.ntl-site-nav .submenu:focus-within .section>*,.ntl-site-nav [aria-expanded=true]+.submenu .section>*{opacity:1;transition-delay:calc(var(--submenu-transition-delay) + var(--submenu-transition-duration)/3)}.ntl-site-nav [aria-expanded=true]+.submenu .section>*{transition-delay:calc(var(--submenu-transition-duration)/3)}}.wqnhm-sa8 dialog{align-content:start;background-color:var(--color-bg-1);block-size:min(100% - var(--page-padding)*2);border:none;border-radius:var(--radius-m);box-shadow:var(--shadow-deep);color:var(--color-text-1);display:grid;margin:auto;padding:0;transition:.4s var(--ease-out);transition-property:opacity,transform}.wqnhm-sa8 dialog:not([open]){opacity:0;pointer-events:none;transform:translateY(16px);visibility:hidden}.wqnhm-sa8 dialog[open]{opacity:1;transform:translateY(0);visibility:visible}.wqnhm-sa8 dialog::backdrop{background-color:rgba(0,0,0,.8)}.wqnhm-sa8 .close{border:none;color:var(--color-text-1);margin-inline-start:auto;order:-1;outline-offset:-6px;padding:var(--space-s)}.wqnhm-sa8 .results{align-items:start;display:grid;gap:var(--space-l);margin-block:var(--space-l)}.wqnhm-sa8 .results ul{--stack-space:var(--space-s)}.wqnhm-sa8 .results ul a{color:var(--color-text-1);display:inline-block;text-decoration:none}.wqnhm-sa8 .results ul a:hover{text-decoration:underline}.wqnhm-sa8 .results>:nth-child(4){border-top:1px solid var(--color-bg-3);padding-top:var(--space-l)}@media (min-width:900px){.wqnhm-sa8 .results{grid-template-columns:repeat(3,1fr)}.wqnhm-sa8 .results>:last-child:not(:nth-child(4)){grid-column:3}.wqnhm-sa8 .results>:nth-child(4){display:grid;grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.wqnhm-sa8 .results>:nth-child(4)>*{grid-column:2}}.page-header{box-shadow:var(--shadow-light);inline-size:100%;overflow-anchor:none;position:sticky;top:0;z-index:1}:where(.page-header,.page-header svg){transform:translateZ(0)}.page-nav{--_filter:blur(5px) saturate(200%);backdrop-filter:var(--_filter);-webkit-backdrop-filter:var(--_filter);background-color:var(--color-bg-translucent);position:relative}@media not all and (min-width:1085px){[data-site-nav-open]{overflow:hidden;overscroll-behavior:none;touch-action:none}[data-site-nav-open] .page-announcement{display:none}[data-site-nav-open] .page-header{background-color:var(--neutral-light-000);position:fixed}[data-site-nav-open] .ntl-site-nav{block-size:100dvh;gap:0 var(--space-2xs);grid-template-areas:"logo compact-menu toggle" "body body body" "footer footer footer";grid-template-rows:auto 1fr auto}}@supports (animation-timeline:scroll()){.page-header{animation:scroll-shadow linear both;animation-timeline:scroll();animation-range:entry 0 entry 5ex}@keyframes scroll-shadow{0%{box-shadow:none}to{box-shadow:var(--shadow-light)}}}</style> <script>(function () { const storageUrl = localStorage.getItem("Netlify_hide-announcement-bar"); const { url, hideAfter } = JSON.parse(document.documentElement.getAttribute("data-announcement-data")); 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> <header data-theme="light" class="page-header"> <div data-href="https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow" class="ntl-announcement-bar page-announcement"> <p><span>Gartner recognizes Netlify as a Visionary in </span> <a href="https://www.netlify.com/reports/gartner-magic-quadrant-visionary/?utm_content=eyebrow" id="cta-header-announcementBar">2024 Gartner® Magic Quadrant™ for Cloud Application Platforms > </a></p> <button type="reset" id="cta-header-announcementBar-close" class="close"> <span class="visually-hidden">Close announcement bar</span> <svg class="icon" ariaHidden="true" style="--icon-size: 1.2em"> <use href="#icon-close"></use> </svg> </button> </div> <section class="page-nav | l-breakout"> <nav id="site-nav" aria-labelledby="site-nav-label" class="nav ntl-site-nav"> <h2 id="site-nav-label" class="visually-hidden">Site navigation</h2> <a href="/" id="mainNav-netlifyLogo" class="ntl-site-logo"> <span class="visually-hidden">Go to homepage</span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 209" fill="none" aria-hidden="true"> <g clip-path="url(#clip0_235_8)"> <path d="M117.436 207.036V154.604L118.529 153.51H129.452L130.545 154.604V207.036L129.452 208.13H118.529L117.436 207.036Z" class="spark"></path> <path d="M117.436 53.5225V1.09339L118.529 0H129.452L130.545 1.09339V53.5225L129.452 54.6159H118.529L117.436 53.5225Z" class="spark"></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"></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"></path> <path d="M1.09339 97.5104H75.3711L76.4645 98.6038V109.526L75.3711 110.62H1.09339L0 109.526V98.6038L1.09339 97.5104Z" class="spark"></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"></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"></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"></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"></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"></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"></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"></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"></path> </g> <defs> <clipPath id="clip0_235_8"> <rect width="512" height="208.126" fill="white"></rect> </clipPath> </defs> </svg> </a> <a href="#main" class="skip-to-content">Skip to content</a> <ul data-variant="compact" role="list" class="menu"> <li> <button type="button" data-site-search-open id="mainNav-search-compact-menu" class="ntl-site-search-toggle"> <span class="visually-hidden"> Search </span> <svg class="icon" width="16" height="20" ariaHidden="true"> <use href="#icon-search"></use> </svg> </button> </li> <li> <a id="mainNav-login-compact-menu" href="https://app.netlify.com/login">Log in</a> </li> </ul> <button id="mainNav-hamburger-compact-menu" type="button" aria-expanded="false" aria-controls="main-menu" data-site-nav-toggle class="icon-button ntl-site-nav-toggle nav-toggle"> <span class="visually-hidden">Toggle main menu</span> <svg viewBox="0 0 31 25" xmlns="http://www.w3.org/2000/svg"><rect x="0.581177" y="0.71875" width="30" height="4" fill="currentcolor"></rect><rect x="0.581177" y="10.7188" width="30" height="4" fill="currentcolor"></rect><rect x="0.581177" y="20.7188" width="30" height="4" fill="currentcolor"></rect></svg> </button> <ul role="list" class="menu"> <li class="has-submenu"> <span id="mainNav-platform">Platform</span> <submenu-utils class="ntl-site-nav-submenu"> <button data-variant="icon" aria-haspopup="true" aria-expanded="false" class="submenu-toggle"> <span class="visually-hidden">Toggle platform submenu</span> <svg class="icon" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </button> <div id="platform-submenu" data-theme="light" class="submenu"> <div class="section l-stack"> <h3>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 role="list" class="l-stack"> <li> <a id="nav-explore-how-it-works" href="/platform/">Explore the Platform</a> </li> <li> <a id="nav-platform-netlify-connect" href="/platform/connect/">Netlify Connect</a> </li> <li> <a id="nav-platform-netlify-core" href="/platform/core/">Netlify Core</a> </li> <li> <a id="nav-platform-netlify-create" href="/platform/create/">Netlify Create</a> </li> </ul> </div> <div class="section l-stack"> <h3>Key Features</h3> <ul role="list" class="l-stack"> <li> <a id="nav-features-etm" href="/platform/core/enterprise-team-management/">Enterprise Team Management</a> </li> <li> <a id="nav-features-sdk" href="/platform/software-development-kit/">SDK</a> </li> <li> <a id="nav-features-edge-functions" href="/platform/core/edge/#edge-functions">Edge Functions</a> </li> <li> <a id="nav-features-preview" href="/platform/core/deploy-previews/">Deploy Previews</a> </li> <li> <a id="nav-features-forms" href="/platform/core/forms/">Forms</a> </li> <li> <a id="nav-features-security" href="/security/">Security</a> </li> <li> <a id="nav-features-analytics" href="/platform/core/analytics/">Analytics</a> </li> <li> <a id="nav-features-split-testing" href="https://docs.netlify.com/site-deploys/split-testing/">Split Testing</a> </li> <li> <a id="nav-features-integrations" href="/integrations/">Integrations</a> </li> <li> <a id="nav-features-changelog" href="/changelog/">Changelog</a> </li> </ul> </div> <div class="section l-stack"> <h3>Ecosystem</h3> <ul role="list" class="l-stack"> <li> <a id="nav-platform-technology-partners" href="/partners/technology/">Tech Partners</a> </li> <li> <a id="nav-platform-agency-partners" href="/partners/agency/">Agency Partners</a> </li> </ul> </div> </div> </submenu-utils> </li> <li class="has-submenu"> <span id="mainNav-solutions">Solutions</span> <submenu-utils class="ntl-site-nav-submenu"> <button data-variant="icon" aria-haspopup="true" aria-expanded="false" class="submenu-toggle"> <span class="visually-hidden">Toggle solutions submenu</span> <svg class="icon" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </button> <div id="solutions-submenu" data-theme="light" class="submenu"> <div class="section l-stack"> <h3>Why Netlify?</h3> <ul role="list" class="l-stack"> <li> <a id="nav-solutions-resources" href="/resources/">Resources & Guides</a> </li> <li> <a id="nav-solutions-what-others-have-built" href="/customers/">Customers</a> </li> <li> <a id="nav-solutions-case-studies" href="/resources/case-studies/">Case Studies</a> </li> <li> <a id="nav-solutions-roi-calculator" href="/roi-calculator/">ROI Calculator</a> </li> <li> <a id="nav-solutions-security" href="/security/">Security at Netlify</a> </li> <li> <a id="nav-solutions-whitepaper" href="/whitepaper/">Whitepaper</a> </li> </ul> </div> <div class="section l-stack"> <h3>Use Cases</h3> <ul role="list" class="l-stack"> <li> <a id="nav-solutions-company-websites" href="/for/company-websites/">Company Websites</a> </li> <li> <a id="nav-solutions-ecommerce" href="/for/ecommerce/">E-commerce</a> </li> <li> <a id="nav-solutions-web-applications" href="/for/web-applications/">Web Apps</a> </li> <li> <a id="nav-solutions-large-sites" href="/blog/2020/06/16/building-large-sites-on-netlify/">Large Sites</a> </li> </ul> </div> <div class="section l-stack"> <p>Don’t see your solution? We can help.</p> <ul role="list" class="l-stack"> <li> <a id="nav-solutions-chat-with-netlify-expert" href="/contact/">Chat with a Netlify expert</a> </li> </ul> </div> </div> </submenu-utils> </li> <li> <a id="mainNav-integrations" href="/integrations/"> Integrations <svg class="icon arrow-icon" width="16" height="16"> <use href="#icon-arrow"></use> </svg> </a> </li> <li class="has-submenu"> <span id="nav-start-building">Start Building</span> <submenu-utils class="ntl-site-nav-submenu"> <button data-variant="icon" aria-haspopup="true" aria-expanded="false" class="submenu-toggle"> <span class="visually-hidden">Toggle start building submenu</span> <svg class="icon" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </button> <div id="start-building-submenu" data-theme="light" class="submenu"> <div class="section l-stack"> <h3>Where to start</h3> <ul role="list" class="l-stack"> <li> <a id="nav-start-building-docs" href="https://docs.netlify.com/">Docs</a> </li> <li> <a id="nav-start-building-developer-hub" href="https://developers.netlify.com/">Developer Hub</a> </li> <li> <a id="nav-start-building-templates" href="/integrations/templates/">Templates</a> </li> <li> <a id="nav-start-building-composable-commerce-101" href="/composable-commerce/">Composable Commerce 101</a> </li> <li> <a id="nav-start-building-work-with-partner-agency" href="/agency-directory/">Work with a Partner Agency</a> </li> </ul> </div> <div class="section l-stack"> <h3>Project Kickstarts</h3> <ul role="list" class="l-stack"> <li> <svg class="icon"> <use href="#icon-astro"></use> </svg> <a id="nav-tech-astro" href="https://docs.netlify.com/frameworks/astro/">Astro</a> </li> <li> <svg class="icon"> <use href="#icon-nextjs"></use> </svg> <a id="nav-tech-nextjs" href="/with/nextjs/">Next.js</a> </li> <li> <svg class="icon"> <use href="#icon-nuxtjs"></use> </svg> <a id="nav-tech-nuxt" href="/with/nuxt/">Nuxt</a> </li> <li> <svg class="icon"> <use href="#icon-gatsby"></use> </svg> <a id="nav-tech-gatsby" href="/with/gatsby/">Gatsby</a> </li> <li> <svg class="icon"> <use href="#icon-wordpress"></use> </svg> <a id="nav-tech-wordpress" href="/with/wordpress/">WordPress</a> </li> <li> <svg class="icon"> <use href="#icon-react"></use> </svg> <a id="nav-tech-react" href="/with/react/">React</a> </li> <li> <svg class="icon"> <use href="#icon-vue"></use> </svg> <a id="nav-tech-vue" href="/with/vue/">Vue</a> </li> <li> <svg class="icon"> <use href="#icon-svelte"></use> </svg> <a id="nav-tech-svelte" href="/with/svelte/">Svelte</a> </li> <li> <svg class="icon"> <use href="#icon-sitecore"></use> </svg> <a id="nav-tech-sitecore" href="/with/sitecore/">Sitecore</a> </li> <li> <svg class="icon"> <use href="#icon-jamstack"></use> </svg> <a id="nav-tech-jamstack" href="/jamstack/">Jamstack</a> </li> <li> <a id="nav-tech-more" href="/integrations/frameworks/">+ More</a> </li> </ul> </div> </div> </submenu-utils> </li> <li> <a id="mainNav-docs" href="https://docs.netlify.com"> Docs <svg class="icon arrow-icon" width="16" height="16"> <use href="#icon-arrow"></use> </svg> </a> </li> <li> <a id="mainNav-pricing" href="/pricing/"> Pricing <svg class="icon arrow-icon" width="16" height="16"> <use href="#icon-arrow"></use> </svg> </a> </li> <li class="nav-search"> <button type="button" data-site-search-open id="mainNav-search" class="ntl-site-search-toggle"> <span class="visually-hidden"> Search </span> <svg class="icon" width="16" height="20" ariaHidden="true"> <use href="#icon-search"></use> </svg> </button> </li> <li> <a id="mainNav-contact" href="/contact/"> Contact <svg class="icon arrow-icon" width="16" height="16"> <use href="#icon-arrow"></use> </svg> </a> </li> <li> <a id="mainNav-login" href="https://app.netlify.com/login"> Log in <svg class="icon arrow-icon" width="16" height="16"> <use href="#icon-arrow"></use> </svg> </a> </li> </ul> <a id="mainNav-signup" href="https://app.netlify.com/signup" data-variant="primary" class="button">Sign up</a> </nav> <site-search class="wqnhm-sa8"><template> <dialog id="site-search-dialog" data-theme="light" class="l-center"> <button type="reset" onclick="this.closest('dialog').close('cancel')" class="close"> <span class="visually-hidden">Close search modal</span> <svg class="icon" ariaHidden="true" style="--icon-size: 1.2em"> <use href="#icon-close"></use> </svg> </button> <div class="l-center l-stack"> <div class="search-input"> <label for="site-search" class="visually-hidden">Search Netlify:</label> <input id="site-search" type="text" placeholder="Start typing to search" autofocus> </div> <article class="results"></article> </div> </dialog> </template> <script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.17.0/dist/algoliasearch-lite.umd.js" integrity="sha256-Lf9DrpGmcRip6OQzbcL6lnvNmoZNSKpyQX5pMlwatWE=" crossorigin="anonymous"></script> </site-search> </section> </header> <script type="module">var y=r=>r?r.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled]), details:not([disabled]), summary:not(:disabled)'):(console.warn("You need to pass a parent HTMLElement"),[]);var h=r=>{let e=r.getAttribute("aria-expanded")==="true"||!1;r.setAttribute("aria-expanded",!e)},x=({currentTarget:r,clientX:e,clientY:t},[n]=r.getClientRects())=>e<n.left||e>n.right||t<n.top||t>n.bottom;(function(){let r=document.querySelector(".ntl-announcement-bar > .close"),e=document.querySelector(".ntl-announcement-bar"),t=e.getAttribute("data-href");new ResizeObserver(([s])=>{document.body.style.setProperty("--announcement-bar-height",`${s.borderBoxSize[0].blockSize}px`)}).observe(e),r.addEventListener("click",s=>{s.preventDefault(),localStorage.setItem("Netlify_hide-announcement-bar",t),e.setAttribute("hidden",!0)})})();var p=class extends HTMLElement{constructor(){super();let e=this.querySelector(".submenu"),t=this.querySelector(".submenu-toggle"),s=[...y(this)].pop(),o=window.matchMedia("not all and (min-width: 1085px)"),i=()=>{h(t)},c=a=>{this.contains(a.target)||u()},d=a=>{a.key==="Escape"&&(u(),t.focus())},l=a=>{a.shiftKey||u()},g=a=>{(a.key==="Enter"||a.keyCode===32)&&h(t)},b=a=>{a.shiftKey&&a.key==="Tab"&&u()},u=()=>{t.setAttribute("aria-expanded","false")};function v(){t.setAttribute("aria-expanded","true"),t.addEventListener("click",i),document.removeEventListener("click",c),s.removeEventListener("keydown",l),e.removeEventListener("keydown",d),t.removeEventListener("keypress",g),t.removeEventListener("keydown",b)}function f(){t.setAttribute("aria-expanded","false"),document.addEventListener("click",c),s.addEventListener("keydown",l),e.addEventListener("keydown",d),t.addEventListener("keypress",g),t.addEventListener("keydown",b),t.removeEventListener("click",i)}o.matches?v():f(),o.addEventListener("change",()=>{o.matches?v():f()})}};customElements.define("submenu-utils",p);var k=algoliasearch("4RTNPM1QF9","e86f343e43d5b8420202ec2fbe0874e6"),E=k.initIndex("docs-manual"),m=class extends HTMLElement{constructor(){super(),this.resultsContainer,this.dialog,this.input}connectedCallback(){let e=this.querySelector("template");e.replaceWith(e.content);let t=this.querySelector("button"),n=document.querySelectorAll("[data-site-search-open]"),s=location.search&&new URL(location.href).searchParams.get("search");this.dialog=this.querySelector("dialog"),this.input=this.querySelector("input"),this.resultsContainer=this.querySelector(".results"),s&&this.initWithQuery(s),this.input.addEventListener("keyup",o=>this.search(o.target.value)),n.forEach(o=>{o.addEventListener("click",()=>{this.search(""),this.dialog.showModal()})}),this.dialog.addEventListener("pointerdown",o=>{x(o)&&this.dialog.close()})}async search(e){e||this.clearResults();let t=await E.search(e,{hitsPerPage:40});this.renderResults(t)}clearResults(){this.render(null)}initWithQuery(e){this.search(e),this.input.value=e,this.dialog.showModal()}renderResults(e){let t=e&&e.hits,n=e&&e.query,s=t&&t.length?this.results(t):this.noResults(n);this.render(s)}render(e){this.resultsContainer.innerHTML=e}results(e){let t=e.reduce((i,c)=>i.find(l=>l.hierarchy.lvl1===c.hierarchy.lvl1)?i:i.concat([c]),[]),n=t.filter(i=>i.hierarchy.lvl0=="On our site"),s=t.filter(i=>i.hierarchy.lvl0=="In the docs"),o=t.filter(i=>i.hierarchy.lvl0=="On our blog");return` ${this.resultsSection("Docs",s)} ${this.resultsSection("Articles",o)} ${this.resultsSection("Pages",n)} ${this.ctaBlock()} `}resultsSection(e,t){return t.length?` <section class="l-stack"> <h3 class="cta-label" data-variant="underline">${e}</h3> <ul role="list" class="l-stack"> ${t.slice(0,7).map(s=>`<li><a href="${s.url}">${s.hierarchy.lvl1||s.hierarchy.lvl2}</a></li>`).join("")} </ul> </section> `:""}noResults(e){return` <p class="no-results"> We couldn't find any results for <strong>${e}</strong>. Perhaps <a href="https://docs.netlify.com">our docs</a> have what you're looking for? </p> ${this.ctaBlock()} `}ctaBlock(){return` <section> <div class="cta-block l-stack" data-variant="branded"> <h3 class="cta-label" data-variant="underline" style="--cta-label-color: var(--color-text-inverse)"> Talk to an Expert </h3> <p>Need help evaluating if Netlify is right for your project? We can help.</p> <a class="button stretch-inline" data-variant="tertiary" id="cta-search-view-request-demo" href="/contact/?attr=search-view-cta-request-demo" > Request a demo </a> </div> </section> `}};customElements.define("site-search",m);(function(){let r=document.querySelector(".page-header"),e=document.querySelector("[data-site-nav-toggle]");new ResizeObserver(([n])=>{document.documentElement.style.setProperty("--ntl-page-header-height",`${n.contentRect.height}px`)}).observe(r),e&&e.addEventListener("click",function(){let n=this.getAttribute("aria-expanded")==="true"||!1;document.documentElement.toggleAttribute("data-site-nav-open",!n),this.setAttribute("aria-expanded",!n)})})(); </script> </div> <main id="main" class="page-main"><section class="pancake"><div class="hero-intro hero-intro-align-center"><!----> <h1 class="heading hero-intro-hed type-a type-a-4">Netlify Large Media</h1> <p class="paragraph hero-intro-p type-a type-a-1">Manage binary files of any size right in your repo, just like code.</p> <div class="hero-intro-cta"><ul class="button-group button-group-center"><li><a href="https://app.netlify.com/signup" type="button" id="cta-hero-getstartedinseconds" class="call-to-action call-to-action-button call-to-action-variant-teal"><!----> <!----> <span>Get started for free</span><!----></a></li> <li><a href="/contact/" id="cta-hero-talktoanexpert" class="call-to-action call-to-action-variant-text"><!----> <!----> <span>Request demo</span><span class="icon"><svg width="12" height="10" viewBox="0 0 12 10" xmlns="http://www.w3.org/2000/svg" version="1.1" preserveAspectRatio="xMinYMin" aria-hidden="true" focusable="false" class="icon-arrow"><use xlink:href="#icon-arrow"></use></svg></span></a></li></ul></div> <!----></div></section> <section class="pancake products-largemedia-pancake"><div class="pancake-intro pancake-intro-align-center"><h2 class="pancake-intro-title type-a type-a-3">Now you can commit the big stuff</h2> <!----></div> <div class="product-feature-grid"><!----> <div class="product-feature-grid-content"><h3 class="type-a type-a-2">Problem: Git used to hate large files</h3> <p class="product-feature-grid-description type-b type-b-0">Traditionally, you needed to exclude any large files from Git so repositories don’t become an unmanageable size and make collaboration difficult. But then where and how do you actually manage these assets?</p> <h3 class="type-a type-a-2">Solution: Netlify Large Media</h3> <p class="product-feature-grid-description type-b type-b-0">Netlify Large Media reduces what’s tracked in Git into tiny text aliases, making your repo potentially thousands of times smaller. The binary data is then stored securely in our blob store and automatically fetched whenever needed. It’s all based on the open source technology Git LFS.</p></div> <div class="product-feature-grid-illustration"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 424 424" width="424" height="424" aria-hidden="true"><defs><linearGradient id="fa-nlm-a" x1="50%" x2="50%" y1="100%" y2="0%"><stop offset="0%" stop-color="#FED360" stop-opacity=".5"></stop> <stop offset="100%" stop-color="#FED360" stop-opacity="0"></stop></linearGradient> <linearGradient id="fa-nlm-b" x1="9.4%" x2="92.9%" y1="53.3%" y2="53.3%"><stop offset="0%" stop-color="#003F5E"></stop> <stop offset="100%" stop-color="#00546A"></stop></linearGradient> <linearGradient id="fa-nlm-c" x1="9.4%" x2="92.9%" y1="53.3%" y2="53.3%"><stop offset="0%" stop-color="#003F5E"></stop> <stop offset="100%" stop-color="#00546A"></stop></linearGradient></defs> <g fill="none" fill-rule="evenodd"><path fill="url(#fa-nlm-a)" fill-rule="nonzero" d="M188.6 0c48 0 73.2 21.6 103.6 71.1C322.6 120.6 424 138.8 424 227c0 88-70.3 197-195.4 197C12 424 0 286.4 0 227c0-59.7 0-96 63.4-137 40.3-26 57-90.1 125.2-90.1z"></path> <path fill="#F09F45" fill-rule="nonzero" d="M422 104.3H219.7a2.5 2.5 0 0 1-2.5-2.6c1.5-25 23-62.7 58-49.6 0 0 4.5-47.1 61.7-47.1 57 0 58.5 56.7 58.5 56.7s29-1 29 40c0 1.5-1 2.6-2.4 2.6"></path> <path fill="#FED360" fill-rule="nonzero" d="M.4 372.5V190.3h49.8l17.4 19.3H246v162.9z"></path> <g fill-rule="nonzero"><path fill="#F09F45" d="M77.4 171.9v65h141v-88h-119z"></path> <path fill="#FED360" d="M102.3 171.9H77.4l3-3h19v-20h3z"></path></g> <path fill="#FED360" fill-rule="nonzero" d="M246 372.5H.4l36.7-136.2h245.5z"></path> <path fill="#F09F45" fill-rule="nonzero" d="M1.9 372.8l-2.9-.7 37-137.3h210v3H38.3z"></path> <path fill="#F09F45" fill-rule="nonzero" d="M73.7 342.6l36.9-29.9 18.3 14.3 39.3-29.8 23.8 45.2 17.2-63.7H90.6l-17.2 63.9h.3zm120.6 3H69.5l18.8-69.9h124.8l-18.8 69.9zm-115.4-3h109.7l-21.3-41-38.4 29.2-18.3-14.3-31.7 26zm31.6-45.6a6.3 6.3 0 1 0 12.5 0 6.3 6.3 0 0 0-12.5 0zm-3 0a9.3 9.3 0 1 1 18.5 0 9.3 9.3 0 0 1-18.5 0z"></path> <path fill="#FED360" fill-rule="nonzero" d="M324.3 55.6l-2.1 2.1 12.5 12.6-187.8.5v137.3h3V73.7l184.8-.4-12.5 12.4 2.1 2.2 16.1-16.2z"></path> <path fill="#FF927C" fill-rule="nonzero" d="M299.8 414c7.2 0 16.2-2.2 18-3.2-.7-2.7-1.5-5.8-.7-10.9.5-3.5 2.2-8.5 3.9-14h-12.8a48 48 0 0 1-1.9 15.1c-4.8 8-15.6 10.4-21.5 11.9h-.2c-.7.4 8.2 1 15.2 1"></path> <path fill="#003F5E" fill-rule="nonzero" d="M299 416.9c8 0 19.5 1.4 19.4-2.4a20 20 0 0 0-.7-3.7 69.2 69.2 0 0 1-33.1 2c-2.3.7-3.8 1-4 1.7-1.3 3.7 10.4 2.4 18.4 2.4"></path> <path fill="#FF927C" fill-rule="nonzero" d="M386.6 387.4c-6.6-1.2-7.1 5-6.7 10 .3 5.1-3.3 13.7-6 15l-2.2.9c1.8-1.2 4.3-5.2 4.6-10.2.4-5.6-.9-9.5-3.9-15.7 1.8-1.8 5.7-4.9 10.3-5.5l1.5 3.5c.6 1 1.5 1.3 2.4 2"></path> <path fill="url(#fa-nlm-b)" d="M77.4 0C76 19 65.6 39.2 60.2 51.5c-1 9.7 0 16.3 1.9 20 1.9 3.9 29 55.4 29 55.4l.8-.7a23 23 0 0 1 11.2-5.4c-2.8-7.3-9.2-24-12.6-35.6-4-14.5-7.2-15-9-19.4C79.7 61.4 93 10.5 90 0H77.4z" transform="translate(280.5 261.1)"></path> <path fill="url(#fa-nlm-c)" d="M39 0l-8.1 67.1s0 20-1.1 35c-.8 10.4-3.1 22.6-3.1 22.6h14.8s11.7-30.2 12.9-38.3c1.2-8-.5-15.1-.5-19.1 0-1.5 2.7-7.6 6.3-15.8C65.6 39.2 76 19 77.4 0H38.9z" transform="translate(280.5 261.1)"></path> <path fill="#003F5E" fill-rule="nonzero" d="M386 416.9c-5.5.4-18.6.2-18.6.2.5-2.3 2.3-3 4.3-3.8l2.1-.9c2.8-1.3 6.4-9.9 6-15-.3-5 .2-11.2 6.8-10 1.1.7 2.2 1.8 2.8 4.8.6 2.8 2.3 24.2-3.3 24.7"></path> <g fill-rule="nonzero"><path fill="#FF927C" d="M263.5 264.8l-.8-.3c-.7-.5-2.7-2.3-3-3.7l.3-1c-1.4.5-2.6 1-3.3 1.1-2 .6-5.1.4-5.2-.1 0-.6 6.2-3.8 7.2-4.4 1-.5 6-3.2 7.8-3.7 1-.2 8.8-4.4 16-8.5l4 9c-2.6 1.1-4.6 2-5.5 2.2-3 1-6.8 6.4-7.5 7-.7.7-4.8 3-6.2 3.5-1.3.5-4.3 2.3-4.5 1.9-.3-.4 0-1.8.7-3zm2-2a12 12 0 0 0 2.9-2.1c.3-.8-.2-2.6-1.3-2.7-.7 0-1.6.1-2.7.4-.3.6-.6 1.1-.6 1.4.1.7 1 2 1.3 2.6l.5.5z"></path> <path fill="#00AEA0" d="M375.3 251.4l.6 9.7h-56.5l4.2-35c-4.3 7.6-8.3 13.7-9.5 15-3 3-19.4 8.8-27.6 12.2l-4-9.1a258 258 0 0 0 11.9-7 29 29 0 0 0 9.8-8.5c1.3-2 10.9-25.8 17-34.3 3.4-4.9 41.7-4.2 44.8-1.4 3.1 2.7 21.2 28 21.4 33.8.2 4-7.5 17.1-12.1 24.6"></path> <path fill="#00838C" d="M324 226.4l-.8-.5c2.2-3.9 5.4-9.8 8-15.5l1 .4c-2.7 5.8-6 11.7-8.1 15.6m50.7 25c-1.6-19.2-5.3-41-5.3-41.3l1-.2c0 .3 3.7 22.2 5.3 41.5h-1z"></path></g> <g fill-rule="nonzero"><path fill="#FF927C" d="M341.9 180.7s-9.7-2-11-4.1c-1.3-2 .4-4 .2-6.3-.1-2.4.5-3.8.5-4.7 0-.8-2.1-1.5-1.7-3 .3-1.4 6-.2 5.8-3.2-.3-3 2.5-9 10.4-9 0 0 3.5 6.5 1.9 15.8a31.9 31.9 0 0 1-6.1 14.5"></path> <path fill="#003F5E" d="M335.4 161.1a3.4 3.4 0 0 1-1.9-1.8l1-.3s.3.8 1.3 1.2l-.4 1z"></path> <path fill="#EF5C8A" d="M332 168.8c-.4 0-.7 0-1-.2l.4-1c0 .1 1.5.5 2.5-.8l.8.6c-.8 1-1.9 1.4-2.7 1.4"></path> <path fill="#003F5E" d="M337 177.3c.6-7.2 7.8-10.4 5.3-14.8-2.6-4.6-7-11.2-1.6-15 7.2-5 21 .7 24.3 8.2 3.2 7.5-.6 8.9.5 12.9 1.2 4 3.6 3 3.8 8.1.3 5.1-2.3 5.4-2 10 .4 4.7 9 8.6 2.6 18.5-8 12.4-35.8 7.3-33-28"></path></g></g></svg></div></div></section> <section class="pancake products-largemedia-pancake"><div class="pancake-intro pancake-intro-align-center"><h2 class="pancake-intro-title type-a type-a-3">Everything needed for large media</h2> <p class="pancake-intro-text type-a type-a-1">Add full-resolution source files and resize them as they are served</p></div> <div class="product-feature-grid-narrow product-feature-grid-narrow-alternate"><div class="product-feature-grid-narrow-illustration"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168" width="168" height="168" aria-hidden="true"><g fill="none" fill-rule="evenodd"><path fill="#F09F45" fill-rule="nonzero" d="M140.5 83.7V70.8a4.4 4.4 0 0 1 0-8.6V53h2v9.2a4.4 4.4 0 0 1 0 8.6v12.9a4.4 4.4 0 1 1-5.3 5.3H30.8c-.4 1.6-1.7 3-3.3 3.3v12.9a4.4 4.4 0 0 1 0 8.6V125h-2v-11.2a4.4 4.4 0 0 1 0-8.6v-13a4.4 4.4 0 1 1 5.3-5.2h106.4c.4-1.6 1.7-3 3.3-3.3zM85 66.5h-2v-34H53v-2h32v36z"></path> <path fill="#FED360" d="M115 10h53v43h-53z"></path> <path fill="#FFF" fill-rule="nonzero" d="M158.7 41.9h-34.5l9.8-11.2 5.5 5.5 7.6-11zm-20.2-18.1a2.7 2.7 0 1 1-5.5 0 2.7 2.7 0 0 1 5.5 0"></path> <path fill="#FED360" d="M7.9 10h53v43h-53z"></path> <path fill="#FFF" fill-rule="nonzero" d="M51.6 41.9H17l9.8-11.2 5.5 5.5 7.6-11zM29.8 26.3l-1.2.2a2.7 2.7 0 1 1 1.2-5.2 2.7 2.7 0 0 0 0 5"></path> <path fill="#FED360" d="M57.5 66.5h53v43h-53z"></path> <path fill="#FFF" fill-rule="nonzero" d="M101.2 98.4H66.7l9.8-11.2 5.5 5.5 7.6-11z"></path> <path fill="#FED360" d="M0 125h53v43H0z"></path> <path fill="#FFF" d="M43.7 156v2H9.2v-2z"></path> <g fill-rule="nonzero"><path fill="#F09F45" d="M16.6 8.3A8.3 8.3 0 1 1 0 8.3a8.3 8.3 0 0 1 16.6 0"></path> <path fill="#FFF" d="M8.3 9l-2.5 2.5a.5.5 0 0 1-.7 0 .5.5 0 0 1 0-.7l2.5-2.5L5 5.8a.5.5 0 0 1 .7-.7l2.5 2.5L10.8 5a.5.5 0 0 1 .7.7L9 8.3l2.5 2.5a.5.5 0 0 1-.7.7L8.3 9z"></path></g> <g fill-rule="nonzero"><path fill="#00AEA0" d="M123.3 8.3a8.3 8.3 0 1 1-16.6 0 8.3 8.3 0 0 1 16.6 0"></path> <path fill="#FFF" d="M114.6 12.3l-3.2-3.8a.5.5 0 0 1 .7-.7l2.4 2.8 3.5-5.9a.5.5 0 1 1 .9.5l-4.3 7z"></path></g></g></svg></div> <div class="product-feature-grid-narrow-content"><h3 class="type-a type-a-1">Commit supersized source files</h3> <p class="product-feature-grid-description type-b type-b-0">Bring the power of version control to assets as large as 1GB or more. Manage everything with the same Git workflow. Branching, merging, rollbacks… it all just works.</p></div> <!----></div> <div class="product-feature-grid-narrow"><!----> <div class="product-feature-grid-narrow-content"><h3 class="type-a type-a-1">Transform images on the fly</h3> <p class="product-feature-grid-description type-b type-b-0">Need a few different sizes? Netlify Large Media allows you to scale and crop images in realtime using simple URL parameters. Thumbnails, responsive image sets, and other variations can be created on the fly without manual work or generating them at build time.</p></div> <div class="product-feature-grid-narrow-illustration"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168" width="168" height="168" aria-hidden="true"><g fill="none"><path fill="#F8CFA2" d="M165.8 146.8l-55.6-90a1 1 0 0 1 1.7-1.1l55.6 90a1 1 0 1 1-1.7 1zM.8 159.6a1 1 0 0 1-.2-1.4l46.4-67a1 1 0 0 1 1.6 1L2.2 159.4a1 1 0 0 1-1.4.3z"></path> <path fill="#F09F45" d="M142.2 142.3H26.6V120l21.2-29.9 23.9 27.2 39.4-63 31 49.5z"></path> <path fill="#FFE9B0" d="M116 26.7l-.7-1.2-.3-.7c-2.9-6-5.5-10.5-10.9-10.5-5.8 0-11 5.4-15.5 10.7l-1.4 1.7H116zm3.2 2h-36l1.2-1.6 2.7-3.4c4.7-5.6 10.4-11.4 17-11.4 7 0 10.2 6.4 12.7 11.6l.3.7c.5.9 1 1.8 1.3 2.7l.8 1.4zm22 12.5h18.3c-3.5-2.3-5.7-5-7.5-7.1-2-2.3-3.5-4.1-5.6-4.9-.8-.3-1.6-.4-2.6-.4s-1.9.1-2.6.5v12zm26.1 2h-28.1V28.1l.5-.3c1.2-.7 2.5-1 4.1-1a9 9 0 0 1 3.3.5c2.6 1 4.4 3 6.4 5.5 2.4 2.8 5.1 6 10 8.6l3.8 1.8z"></path> <path fill="#FED360" d="M142.2 43.2H68l3.2-1.8c3.5-2 7.3-6.8 11.3-12l1.8-2.3.3-.4h33.5l.2.6c2.6 5 5 8.2 9 8.2 5.7 0 7.8-2.3 9.8-4.6 1-1.2 2-2.3 3.5-3.1l1.5-.8v16.2z"></path> <path fill="#F09F45" d="M70.6 59.8a9.6 9.6 0 1 1-19.1 0 9.6 9.6 0 0 1 19.1 0"></path> <path fill="#FFE9B0" d="M8.5 83h18v-7.2l-.1-.2c-1.4-1.6-2.5-2.9-5-2.9-3.1 0-4.5 1.7-6.7 4.3-1.5 1.8-3.3 4-6.2 6zm20 2H1.2l3.4-2c4.3-2.4 6.7-5.2 8.6-7.4 2.2-2.7 4.2-5 8.2-5 3.4 0 5 1.8 6.5 3.6l.7.7v10z"></path> <path fill="#FED360" d="M86.6 85h-60V72.8l1.7 2a9.3 9.3 0 0 0 7.8 3.3c4.1 0 6.2-4.3 8.4-8.8 2.4-5 5.1-10.8 11.2-10.8 7 0 12.7 7.3 18.1 14.3 3.4 4.3 6.6 8.4 9.7 10.3l3.1 1.9z"></path> <path fill="#FFE9B0" d="M142.2 98.2h20.4c-.8-1.1-1.5-2.5-2.1-4-2-4-2.8-7.8-7.5-7.8-3.2 0-4.5 2.1-6 4.6-1.3 2-2.5 4-4.8 5v2.2zm25.2 2h-27.2v-5.8l.7-.2c2-.5 3.1-2.2 4.3-4.2 1.6-2.7 3.4-5.6 7.8-5.6 6 0 7.4 5 9.3 9 1 2 1.9 4 3.1 5l2 1.8z"></path> <path fill="#FED360" d="M142.2 100.2H102l3.7-1.8a32 32 0 0 0 6-4.5c3.5-3 7.1-6.3 12.7-6.3 3.5 0 5.7 1.8 7.9 3.5 2 1.7 4 3.3 7.3 3.3.5 0 1 0 1.3-.2l1.3-.3v6.3z"></path> <path fill="#00AEA0" d="M142.2 37.7h-2v-9h-9v-2h11v11zm0 22.3h-2V42.2h2V60zm0 22.3h-2V64.5h2v17.8zm0 22.3h-2V86.7h2v17.9zm0 22.3h-2V109h2v18zm-82.3 15.4H42v-2h18v2zm22.2 0H64.3v-2h17.8v2zm22.3 0H86.6v-2h17.8v2zm22.3 0H109v-2h17.8v2zm-89.1 0h-11v-11h2v9h9v2zm-9-82.3h-2V42.2h2V60zm0 22.3h-2V64.5h2v17.8zm0 22.3h-2V86.7h2v17.9zm0 22.3h-2V109h2v18zm0-89.2h-2v-11h11v2h-9v9zm31.3-9H42v-2h18v2zm22.2 0H64.3v-2h17.8v2zm22.3 0H86.6v-2h17.8v2zm22.3 0H109v-2h17.8v2zm15.5 113.6h-11v-2h9v-9h2v11z"></path> <g><path fill="#00AEA0" d="M154.4 141.3a13.2 13.2 0 1 1-26.4 0 13.2 13.2 0 0 1 26.4 0"></path> <path fill="#FFF" d="M136 145.8l9.7-9.7H143a.5.5 0 1 1 0-1h4.4v4.3a.5.5 0 0 1-1 0v-2.6l-9.7 9.7h2.6a.5.5 0 0 1 0 1H135v-4.3a.5.5 0 1 1 1 0v2.6z"></path></g></g></svg></div></div> <div class="product-feature-grid-narrow product-feature-grid-narrow-alternate"><div class="product-feature-grid-narrow-illustration"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168" width="168" height="168" aria-hidden="true"><g fill="none" fill-rule="evenodd"><g fill-rule="nonzero"><path fill="#F09F45" d="M114 138h54V94h-54z"></path> <path fill="#FFF" d="M159 127h-35l10-11 5 5 8-11 12 17zm-21-18a3 3 0 1 1-5 0 3 3 0 0 1 5 0z"></path></g> <g fill-rule="nonzero"><path fill="#F09F45" d="M54 138H0V94h54z"></path> <path fill="#FFF" d="M45 127H10l10-11 5 5 8-11 12 17zm-21-18a3 3 0 1 1-5 0 3 3 0 0 1 5 0z"></path></g> <path fill="#FED360" d="M46 46h76v62H46z"></path> <path fill="#FFF" fill-rule="nonzero" d="M108 92H59l14-16 8 8 11-16 16 24zM79 66a4 4 0 1 1-7 0 4 4 0 0 1 7 0z"></path> <g fill-rule="nonzero"><path fill="#00AEA0" d="M59 46a13 13 0 1 1-26 0 13 13 0 0 1 26 0"></path> <path fill="#FFF" d="M45 52l-5-6a1 1 0 0 1 1-1l4 5 6-10 1 1-7 11z"></path></g></g></svg></div> <div class="product-feature-grid-narrow-content"><h3 class="type-a type-a-1">Fine-grained controls</h3> <p class="product-feature-grid-description type-b type-b-0">Specify which files are handled as large media and which are fully included in the repository. Tell Netlify Large Media to manage individual files, all files of a particular type, or entire directories.</p> <p class="product-feature-grid-description type-b type-b-0">When developers don’t need large media locally, they can use the handy `fetchexclude` setting to skip lengthy downloads.</p></div> <!----></div> <div class="product-feature-grid-narrow"><!----> <div class="product-feature-grid-narrow-content"><h3 class="type-a type-a-1">It all works where you do</h3> <p class="product-feature-grid-description type-b type-b-0">Because it’s based on open source, you can work with assets on Netlify Large Media in Github, GitLab, BitBucket, the terminal, or most desktop Git clients.</p></div> <div class="product-feature-grid-narrow-illustration"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 168 168" width="168" height="168" aria-hidden="true"><defs><linearGradient id="nlm-p-a" x1="99.9%" x2="46.6%" y1="35.5%" y2="65.6%"><stop offset="0%" stop-color="#1B4AAA" stop-opacity=".4"></stop> <stop offset="99.9%" stop-color="#1B4AAA"></stop></linearGradient></defs> <g fill="none" fill-rule="evenodd"><path fill="#F09F45" fill-rule="nonzero" d="M160 65H80a1 1 0 0 1-1-1c.6-9.8 9-24.6 23-19.5 0 0 1.7-18.5 24.4-18.5 22.5 0 23 22.2 23 22.2S161 48 161 64c0 .5-.4 1-1 1M50.5 87h-38a.5.5 0 0 1-.5-.5c.3-4.8 4.3-12 11-9.5 0 0 .8-9 11.5-9s11 10.8 11 10.8 5.5-.1 5.5 7.7c0 .3-.2.5-.5.5m114 60h-38a.5.5 0 0 1-.5-.5c.3-4.8 4.3-12 11-9.5 0 0 .8-9 11.5-9s11 10.8 11 10.8 5.5-.1 5.5 7.7c0 .3-.2.5-.5.5m-86.4-10H9a.8.8 0 0 1-.9-.9c.5-8.5 7.9-21.4 19.9-17 0 0 1.5-16.1 21.1-16.1 19.5 0 20 19.4 20 19.4s10-.3 10 13.7c0 .5-.4.9-.9.9" opacity=".3"></path> <path d="M124.9 123h7.5l1.8-11.3h-11.3z"></path> <path fill="url(#nlm-p-a)" fill-rule="nonzero" d="M35 11.7H24.3L22.4 23h-7.5L6 34.2c.3.3.7.4 1 .4h23.6c.5 0 1-.4 1.1-1l3.4-21.9z" transform="translate(110 100)"></path> <path fill="#1B4AAA" fill-rule="nonzero" d="M111.7 100.2c-.3 0-.6.1-.9.4-.2.3-.3.6-.2 1l4.9 31.6c0 .4.2.8.5 1 .3.3.7.4 1 .4l9.1-11.6H125l-2-11.3h22l1.5-10.1c0-.4 0-.7-.2-1-.3-.3-.6-.4-1-.4h-33.7z"></path> <path fill="#161514" d="M84.5 61C71.5 61 61 71.8 61 85.1A24 24 0 0 0 77 108c1.2.2 1.7-.6 1.7-1.2v-4.1c-6.6 1.5-8-3.2-8-3.2-1-2.8-2.6-3.6-2.6-3.6-2.1-1.5.2-1.4.2-1.4 2.3.1 3.6 2.5 3.6 2.5 2 3.6 5.5 2.6 6.8 2 .2-1.6.8-2.7 1.5-3.3-5.2-.6-10.7-2.6-10.7-11.9 0-2.6 1-4.7 2.4-6.4-.2-.6-1-3 .3-6.4 0 0 2-.7 6.4 2.5a22 22 0 0 1 11.8 0c4.5-3.2 6.4-2.5 6.4-2.5 1.3 3.3.5 5.8.3 6.4a9.4 9.4 0 0 1 2.4 6.4c0 9.3-5.5 11.3-10.7 12 .8.7 1.6 2.1 1.6 4.4v6.6c0 .6.4 1.4 1.5 1.2A24 24 0 0 0 108 85a23.8 23.8 0 0 0-23.5-24"></path> <path fill="#FC6D26" d="M65.3 55l-2.5-8-5-16.3a.9.9 0 0 0-1.7 0l-5 16.2H34.4l-5-16.2a.9.9 0 0 0-1.6 0l-5 16.2-2.6 8.2c-.2.7 0 1.5.7 2l21.9 16.7L64.7 57c.6-.5.8-1.3.6-2"></path> <path fill="#E24329" d="M42.8 73.8l8.3-27H34.4z"></path> <path fill="#FC6D26" d="M42.8 73.8l-8.4-27H22.8z"></path> <path fill="#FCA326" d="M22.8 47l-2.6 8c-.2.8 0 1.6.7 2l21.9 16.8-20-26.9z"></path> <path fill="#E24329" d="M22.8 47h11.6l-5-16.3a.9.9 0 0 0-1.6 0l-5 16.2z"></path> <path fill="#FC6D26" d="M42.8 73.8l8.3-27h11.7z"></path> <path fill="#FCA326" d="M62.8 47l2.5 8c.2.8 0 1.6-.6 2l-22 16.8 20-26.9z"></path> <path fill="#E24329" d="M62.8 47H51l5-16.3a.9.9 0 0 1 1.7 0l5 16.2z"></path></g></svg></div></div></section> <section class="pancake products-largemedia-builds pancake-theme-dark"><div class="product-feature-grid-narrow"><!----> <div class="product-feature-grid-narrow-content"><h3 class="type-a type-a-1">Build sites faster</h3> <p class="product-feature-grid-description type-b type-b-0">Since images can be transformed as they are served, you can avoid manipulating images during your build step, greatly increasing the speed at which your site builds and deploys.</p> <a href="https://docs.netlify.com/large-media/overview/" id="cta-largemedia-docs" class="call-to-action call-to-action-variant-text"><!----> <!----> <span>Head to the docs for more details</span><span class="icon"><svg width="12" height="10" viewBox="0 0 12 10" xmlns="http://www.w3.org/2000/svg" version="1.1" preserveAspectRatio="xMinYMin" aria-hidden="true" focusable="false" class="icon-arrow"><use xlink:href="#icon-arrow"></use></svg></span></a></div> <div class="product-feature-grid-narrow-illustration"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 264" width="264" height="264" aria-hidden="true"><defs><linearGradient id="nlm-faster-a" x1="50%" x2="50%" y1="3%" y2="100%"><stop offset="0%" stop-color="#FED360" stop-opacity="0"></stop> <stop offset="100%" stop-color="#FED360" stop-opacity=".2"></stop></linearGradient> <radialGradient id="nlm-faster-b" cy="100%" r="74.3%" fx="50%" fy="100%" gradientTransform="matrix(0 -1 .96692 0 -.5 1.5)"><stop offset="0%" stop-color="#00AEA0"></stop> <stop offset="100%" stop-color="#FFF"></stop></radialGradient></defs> <g fill="none" fill-rule="evenodd"><path fill="url(#nlm-faster-a)" fill-rule="nonzero" d="M0 0h264c-27.6 176-71.5 264-131.8 264S28 176 0 0z"></path> <path fill="#F6F7F7" fill-opacity=".1" fill-rule="nonzero" d="M241.8 57.8H158c0-10.4 9.7-22 23.5-18.9 0 0 1.8-21.2 24.9-21.2 23 0 23.6 25.9 23.6 25.9s11.8 0 11.8 14.2m-.2 106.3H137c0-13 12-27.4 29.2-23.5 0 0 2.3-26.6 31.1-26.6 28.7 0 29.5 32.4 29.5 32.4s14.7 0 14.7 17.7m-114.8 27.3H5c0-15.2 14-32 34-27.5 0 0 2.8-30.9 36.3-30.9s34.4 37.7 34.4 37.7 17.1 0 17.1 20.7"></path> <path fill="url(#nlm-faster-b)" d="M132 234.5l88.7-100.2 1.9 1.6-89.7 101.3-.9-.8-1 .8L41.5 136l1.9-1.6L132 234.4zm-1.3-22.8V62h2.6v149.7h-2.6z"></path> <g fill-rule="nonzero"><path fill="#00AEA0" d="M158.2 237.8a26.1 26.1 0 1 1-52.3 0 26.1 26.1 0 0 1 52.3 0"></path> <path fill="#FFF" d="M130.3 248.4l-9-10.4 1.4-1.2 7.4 8.4 10.6-17.5 1.6 1z"></path></g> <g fill-rule="nonzero"><path fill="#FFF" d="M263.4 81.8v56.7c0 .3-.3.6-.5.6h-86a.5.5 0 0 1-.5-.6V81.8h87z"></path> <path fill="#00AEA0" d="M263.4 73.8v8h-87v-8c0-.6.4-1 1-1h85c.5 0 1 .4 1 1"></path> <path fill="#EBA54E" d="M184.5 77.3a1.3 1.3 0 1 1-2.7 0 1.3 1.3 0 0 1 2.7 0zm6 0a1.3 1.3 0 1 1-2.8 0 1.3 1.3 0 0 1 2.7 0zm5.8 0a1.3 1.3 0 1 1-2.6 0 1.3 1.3 0 0 1 2.6 0z"></path> <path fill="#00AEA0" d="M218.6 130.5l2.3-16h-11.2l11.7-24.1-2.3 16h11.1z"></path></g> <g fill-rule="nonzero"><path fill="#FFF" d="M87 81.8v56.7c0 .3-.2.6-.5.6H.5a.5.5 0 0 1-.5-.6V81.8h87z"></path> <path fill="#00AEA0" d="M87 73.8v8H0v-8c0-.6.5-1 1-1h85c.5 0 1 .4 1 1"></path> <path fill="#EBA54E" d="M8.1 77.3a1.3 1.3 0 1 1-2.7 0 1.3 1.3 0 0 1 2.7 0zm6 0a1.3 1.3 0 1 1-2.7 0 1.3 1.3 0 0 1 2.6 0zm5.9 0a1.3 1.3 0 1 1-2.7 0 1.3 1.3 0 0 1 2.7 0z"></path> <path fill="#00AEA0" d="M42.2 130.5l2.3-16H33.3L45 90.5l-2.3 16h11.1z"></path></g> <g fill-rule="nonzero"><path fill="#FFF" d="M175.5 9v56.8c0 .3-.2.5-.5.5H89a.5.5 0 0 1-.5-.5V9h87z"></path> <path fill="#00AEA0" d="M175.5 1v8h-87V1c0-.5.5-1 1-1h85c.5 0 1 .5 1 1"></path> <path fill="#EBA54E" d="M96.6 4.5a1.3 1.3 0 1 1-2.7 0 1.3 1.3 0 0 1 2.7 0zm6 0a1.3 1.3 0 1 1-2.7 0 1.3 1.3 0 0 1 2.6 0zm5.9 0a1.3 1.3 0 1 1-2.7 0 1.3 1.3 0 0 1 2.7 0z"></path> <path fill="#00AEA0" d="M130.7 57.8l2.3-16h-11.2l11.7-24.2-2.3 16h11.1z"></path></g></g></svg></div></div></section> <section class="pancake"><div class="pancake-intro pancake-intro-align-center"><h2 class="pancake-intro-title type-a type-a-3">Free to start, scales with your usage</h2> <p class="pancake-intro-text type-a type-a-1">Scale by the number of transformations you require</p></div></section> <section class="pancake"><section id="page-pre-footer" class="pre-footer"><!----> <h2 class="heading type-a type-a-4">Ready to try out Netlify Large Media?</h2> <p class="paragraph pre-footer-subhed type-a type-a-1">Netlify Large Media is free to try and affordably priced.</p> <ul class="button-group button-group-center"><li><a href="https://app.netlify.com/signup" type="button" id="cta-bottom-getstartedforfree" class="pre-footer-btn call-to-action call-to-action-button call-to-action-variant-blue"><!----> <!----> <span>Get started for free</span><!----></a></li> <li><a href="/contact/" id="cta-bottom-talktoanexpert" class="call-to-action call-to-action-variant-text"><!----> <!----> <span>Request demo</span><span class="icon"><svg width="12" height="10" viewBox="0 0 12 10" xmlns="http://www.w3.org/2000/svg" version="1.1" preserveAspectRatio="xMinYMin" aria-hidden="true" focusable="false" class="icon-arrow"><use xlink:href="#icon-arrow"></use></svg></span></a></li></ul></section></section></main> <div class="beon" style="display:contents;transform:translate3d(0px, 0px, 0px);"><style>.w3tbaejrt{display:inline-block;height:auto;width:clamp(40px,8vw,50px)}.w3tbaejrt .spark{fill:var(--color-brand-logo-spark)}.w3tbaejrt .text{fill:var(--color-brand-logo-text)}.icon-twitter-bird{display:none}.swap-logos{animation:appear .4s cubic-bezier(.215,.61,.355,1)}.swap-logos .icon-twitter-bird{display:block}.swap-logos .icon-twitter-x{display:none}@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)}}.ntl-footer-popover{position:relative}.ntl-footer-popover .icon{--icon-size:0.65em}.ntl-footer-popover .icon-minus{display:none}.ntl-footer-popover[open] .icon-minus{display:block}.ntl-footer-popover[open] .icon-plus{display:none}.ntl-footer-popover .label{color:var(--color-text-2);cursor:pointer}.ntl-footer-popover summary{width:max-content}.ntl-footer-popover ul{background:var(--neutral-dark-800);border-radius:var(--radius-m);bottom:100%;gap:var(--space-3xs);padding:var(--space-xs);position:absolute}.ntl-footer-popover a.link{color:var(--neutral-light-000);width:max-content}.wzun5wjan{display:none}.wzun5wjan[data-viewport-size=narrow]{display:block;flex-basis:100%;padding:var(--space-2xs)}.wzun5wjan[data-viewport-size=narrow]:not(:last-child){border-block-end:1px solid var(--neutral-light-200)}.wzun5wjan[open] .column-label .icon-chevron{transform:rotate(180deg)}.wzun5wjan summary{align-items:center;cursor:pointer;display:flex;gap:var(--space-3xs);justify-content:space-between}.wzun5wjan :is(.wzun5wjan summary)::-webkit-details-marker,.wzun5wjan :is(.wzun5wjan summary)::marker{display:none}.wzun5wjan h3{font-weight:var(--font-weight-bold);padding-block:var(--space-s)}.wzun5wjan li{max-width:max-content}@media (min-width:750px){.wzun5wjan{display:block;flex-basis:15%}.wzun5wjan[data-viewport-size=narrow]{display:none}}.ntl-newsletter-signup{--stack-space:var(--space-xs);--max-inline-size:28rem}.ntl-newsletter-signup a{display:inline}.ntl-newsletter-signup .logo{--size:3rem;block-size:var(--size);display:block;inline-size:var(--size);margin-inline:auto}.ntl-newsletter-signup .headline{font-weight:var(--font-weight-semibold);text-align:center}.ntl-newsletter-signup .hs-form{--cluster-gap:var(--space-s)}.ntl-newsletter-signup .hs-input{margin-top:unset}.ntl-newsletter-signup .hs-email{flex:1 1 25ch;margin-bottom:unset}.ntl-newsletter-signup .hs-error-msg{color:var(--color-text-invalid);font-size:.8em}.ntl-newsletter-signup .hs-submit{inline-size:100%;max-inline-size:10ch}.ntl-newsletter-signup .hs-submit input{margin-top:0;min-block-size:42px;width:auto}.ntl-newsletter-signup .hs_error_rollup{display:none}.ntl-newsletter-signup .newsletter-signup-privacy{color:var(--color-text-2);font-size:.8em}.w1fn1vjqe{--stack-space:var(--space-xs);margin-block:var(--space-3xl);position:sticky;top:100vh;width:100%}.w1fn1vjqe .logo{display:inline-block;height:auto;width:clamp(40px,8vw,50px)}.w1fn1vjqe .social svg{--icon-size:auto;color:var(--neutral-dark-300)}.w1fn1vjqe .links-container{display:flex;flex-wrap:wrap;margin:auto;padding-block-start:var(--space-l);width:100%}.w1fn1vjqe ul{display:grid;gap:var(--space-xs);list-style:none;margin-block-end:var(--space-xs)}.w1fn1vjqe .popover ul{gap:var(--space-3xs)}.w1fn1vjqe ul a,.w1fn1vjqe ul button{color:var(--color-text-2);display:block;text-decoration:none}.w1fn1vjqe :is(.w1fn1vjqe ul a):hover,.w1fn1vjqe :is(.w1fn1vjqe ul button):hover{text-decoration:underline}.w1fn1vjqe button{border:none;font:inherit;font-size:var(--step--1);padding:0}.w1fn1vjqe .form{margin:var(--space-2xl) auto;max-width:28.125rem;width:100%}.w1fn1vjqe .fine-print-container{border-block-start:1px solid var(--color-bg-3);display:flex;flex-wrap:wrap;gap:var(--space-s);inline-size:100%;justify-content:space-between;padding-block-start:var(--space-s)}.w1fn1vjqe .copyright{color:var(--color-text-2)}.w1fn1vjqe .legal{display:flex;flex-wrap:wrap;gap:var(--space-s);margin-block-end:unset}@media (min-width:750px){.w1fn1vjqe .links-container{gap:var(--space-l);justify-content:space-between;max-width:62.5rem;width:100%}.w1fn1vjqe ul{margin-bottom:unset}}</style> <script></script> <footer data-theme="light" class="l-breakout l-stack w1fn1vjqe"> <div style="--cluster-align: center; --cluster-justify: space-between" class="l-cluster"> <a href="/" id="cta-footer-netlifyLogo"> <span class="visually-hidden">Go to Netlify homepage</span> <svg width="128" height="113" viewBox="0 0 128 113" fill="none" xmlns="http://www.w3.org/2000/svg" class="w3tbaejrt"> <g clip-path="url(#clip0_236_138)"> <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"></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"></path> <path d="M35.8412 61.4491H0.73307L0 60.716V51.9192L0.73307 51.1861H35.8412L36.5743 51.9192V60.716L35.8412 61.4491Z" class="spark"></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"></path> <path d="M58.9428 27.0642V0.73307L59.6759 0H68.4727L69.2058 0.73307V27.0642L68.4727 27.7972H59.6759L58.9428 27.0642Z" class="spark"></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"></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"></path> </g> <defs> <clipPath id="clip0_236_138"> <rect width="128" height="112.635" fill="white"></rect> </clipPath> </defs> </svg> </a> <div class="social | l-cluster"> <a href="https://github.com/netlify" id="cta-footer-github" target="_blank" rel="noopener noreferrer"> <svg class="icon" width="18" height="20"> <use href="#icon-github"></use> </svg> <span class="visually-hidden">Github</span> </a> <a href="https://www.youtube.com/@NetlifyApp" id="cta-footer-youtube" target="_blank" rel="noopener noreferrer"> <svg class="icon" width="27" height="20"> <use href="#icon-youtube"></use> </svg> <span class="visually-hidden">Youtube</span> </a> <a href="https://twitter.com/netlify" id="cta-footer-twitter" target="_blank" rel="noopener noreferrer"> <svg aria-label="X formerly known as Twitter" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" src="public/icons/twitter.svg" width="20" height="20" class="icon-twitter"><path fill="currentcolor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z" class="icon-twitter-bird"></path><path fill="currentcolor" d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" class="icon-twitter-x"></path></svg> <span class="visually-hidden">Twitter</span> </a> <a href="https://www.linkedin.com/company/netlify" id="cta-footer-linkedin" target="_blank" rel="noopener noreferrer"> <svg class="icon" width="20" height="20"> <use href="#icon-linkedin"></use> </svg> <span class="visually-hidden">LinkedIn</span> </a> <a href="https://answers.netlify.com" id="cta-footer-discourse" target="_blank" rel="noopener noreferrer"> <svg class="icon" width="20" height="20"> <use href="#icon-discourse"></use> </svg> <span class="visually-hidden">Discourse</span> </a> </div> </div> <div class="links-container"> <section data-viewport-size="wide" aria-expanded="true" open class="wzun5wjan"> <h3 class="headline text-0">Why Netlify</h3> <ul role="list"> <li> <a id="cta-footer-customers" href="/customers/" class="text--1">Customers</a> </li> <li> <a id="cta-footer-why-composable-web-platform" href="/platform/" class="text--1">Composable Web Platform</a> </li> <li> <a id="cta-footer-security" href="/security/" class="text--1">Security</a> </li> <li> <a id="cta-footer-agencyPartners" href="/partners/agency/" class="text--1">Agency Partner Program</a> </li> <li> <a id="cta-footer-techPartners" href="/partners/technology/" class="text--1">Technology Partner Program</a> </li> </ul> </section> <section data-viewport-size="wide" aria-expanded="true" open class="wzun5wjan"> <h3 class="headline text-0">Products</h3> <ul role="list"> <li> <a id="cta-footer-products-composable-web-platform" href="/platform/" class="text--1">Composable Web Platform</a> </li> <li> <a id="cta-footer-connect" href="/platform/connect/" class="text--1">Netlify Connect</a> </li> <li> <a id="cta-footer-core" href="/platform/core/" class="text--1">Netlify Core</a> </li> <li> <a id="cta-footer-create" href="/platform/create/" class="text--1">Netlify Create</a> </li> <li> <a id="cta-footer-sdk" href="/platform/software-development-kit/" class="text--1">Netlify SDK</a> </li> <li> <a id="cta-footer-pricing" href="/pricing/" class="text--1">Pricing</a> </li> <li> <a id="cta-footer-changelog" href="/changelog/" class="text--1">Changelog</a> </li> <li> <details id="footer-popover-Add-ons" class="popover ntl-footer-popover"> <summary> <span class="label text--1">Add-ons</span> <svg class="icon icon-plus" ariaHidden="true"> <use href="#icon-plus"></use> </svg> <svg class="icon icon-minus" ariaHidden="true"> <use href="#icon-minus"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-analytics" href="/platform/core/analytics/" class="link text--1">Analytics</a> </li> <li> <a id="cta-footer-functions" href="/platform/core/functions/" class="link text--1">Functions</a> </li> <li> <a id="cta-footer-forms" href="/platform/core/forms/" class="link text--1">Forms</a> </li> <li> <a id="cta-footer-largeMedia" href="/platform/core/large-media/" class="link text--1">Large Media</a> </li> </ul> </details> </li> </ul> </section> <section data-viewport-size="wide" aria-expanded="true" open class="wzun5wjan"> <h3 class="headline text-0">Explore</h3> <ul role="list"> <li> <a id="cta-footer-docs" href="https://docs.netlify.com/" class="text--1">Docs</a> </li> <li> <a id="cta-footer-integrations" href="/integrations/" class="text--1">Integrations</a> </li> <li> <a id="cta-footer-oreilly-jamstack" href="/oreilly-jamstack/" class="text--1">Jamstack Book</a> </li> <li> <a id="cta-footer-community-hub" href="https://answers.netlify.com/ " class="text--1">Community</a> </li> <li> <a id="cta-footer-learn-resources" href="/resources/" class="text--1">Resources & Guides</a> </li> <li> <a id="cta-footer-remotelyInteresting" href="https://remotelyinteresting.netlify.com/" class="text--1">Remotely Interesting</a> </li> <li> <details id="footer-popover-Technologies" class="popover ntl-footer-popover"> <summary> <span class="label text--1">Technologies</span> <svg class="icon icon-plus" ariaHidden="true"> <use href="#icon-plus"></use> </svg> <svg class="icon icon-minus" ariaHidden="true"> <use href="#icon-minus"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-jamstack" href="/jamstack/" class="link text--1">Jamstack</a> </li> <li> <a id="cta-footer-react" href="/with/react/" class="link text--1">React</a> </li> <li> <a id="cta-footer-nextjs" href="/with/nextjs/" class="link text--1">Next.js</a> </li> <li> <a id="cta-footer-vue" href="/with/vue/" class="link text--1">Vue</a> </li> <li> <a id="cta-footer-svelte" href="/with/svelte/" class="link text--1">Svelte</a> </li> <li> <a id="cta-footer-gatsby" href="/with/gatsby/" class="link text--1">Gatsby</a> </li> <li> <a id="cta-footer-nuxt" href="/with/nuxt/" class="link text--1">Nuxt</a> </li> <li> <a id="cta-footer-sitecore" href="/with/sitecore/" class="link text--1">Sitecore</a> </li> <li> <a id="cta-footer-drupal" href="/with/drupal/" class="link text--1">Drupal</a> </li> <li> <a id="cta-footer-wordpress" href="/with/wordpress/" class="link text--1">WordPress</a> </li> </ul> </details> </li> </ul> </section> <section data-viewport-size="wide" aria-expanded="true" open class="wzun5wjan"> <h3 class="headline text-0">Company</h3> <ul role="list"> <li> <a id="cta-footer-blog" href="/blog/" class="text--1">Blog</a> </li> <li> <a id="cta-footer-about" href="/about/" class="text--1">About</a> </li> <li> <a id="cta-footer-careers" href="/careers/" class="text--1">Careers</a> </li> <li> <a id="cta-footer-compose-conference" href="/compose/" class="text--1">Compose Conference</a> </li> <li> <a id="cta-footer-press" href="/press/" class="text--1">Press</a> </li> <li> <a id="cta-footer-jamstack-fund" href="/jamstack-fund/" class="text--1">Jamstack Fund</a> </li> <li> <a id="cta-footer-store" href="https://swag.netlify.com/" class="text--1">Netlify Store</a> </li> <li> <a id="cta-footer-sustainability" href="/sustainability/" class="text--1">Sustainability</a> </li> </ul> </section> <section data-viewport-size="wide" aria-expanded="true" open class="wzun5wjan"> <h3 class="headline text-0">Contact Us</h3> <ul role="list"> <li> <a id="cta-footer-sales" href="/contact/" class="text--1">Sales</a> </li> <li> <a id="cta-footer-support" href="/support/" class="text--1">Support</a> </li> <li> <a id="cta-footer-status" href="https://netlifystatus.com/" class="text--1">Status</a> </li> <li> <a id="cta-footer-answers" href="https://answers.netlify.com/" class="text--1">Forums</a> </li> <li> <a id="cta-footer-agencyDirectory" href="/agency-directory/" class="text--1">Hire an Agency</a> </li> </ul> </section> <details data-viewport-size="narrow" class="wzun5wjan"> <summary class="column-label"> <h3 class="headline text-0">Why Netlify</h3> <svg class="icon icon-chevron" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-customers" href="/customers/" class="text--1">Customers</a> </li> <li> <a id="cta-footer-why-composable-web-platform" href="/platform/" class="text--1">Composable Web Platform</a> </li> <li> <a id="cta-footer-security" href="/security/" class="text--1">Security</a> </li> <li> <a id="cta-footer-agencyPartners" href="/partners/agency/" class="text--1">Agency Partner Program</a> </li> <li> <a id="cta-footer-techPartners" href="/partners/technology/" class="text--1">Technology Partner Program</a> </li> </ul> </details> <details data-viewport-size="narrow" class="wzun5wjan"> <summary class="column-label"> <h3 class="headline text-0">Products</h3> <svg class="icon icon-chevron" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-products-composable-web-platform" href="/platform/" class="text--1">Composable Web Platform</a> </li> <li> <a id="cta-footer-connect" href="/platform/connect/" class="text--1">Netlify Connect</a> </li> <li> <a id="cta-footer-core" href="/platform/core/" class="text--1">Netlify Core</a> </li> <li> <a id="cta-footer-create" href="/platform/create/" class="text--1">Netlify Create</a> </li> <li> <a id="cta-footer-sdk" href="/platform/software-development-kit/" class="text--1">Netlify SDK</a> </li> <li> <a id="cta-footer-pricing" href="/pricing/" class="text--1">Pricing</a> </li> <li> <a id="cta-footer-changelog" href="/changelog/" class="text--1">Changelog</a> </li> <li> <details id="footer-popover-Add-ons" class="popover ntl-footer-popover"> <summary> <span class="label text--1">Add-ons</span> <svg class="icon icon-plus" ariaHidden="true"> <use href="#icon-plus"></use> </svg> <svg class="icon icon-minus" ariaHidden="true"> <use href="#icon-minus"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-analytics" href="/platform/core/analytics/" class="link text--1">Analytics</a> </li> <li> <a id="cta-footer-functions" href="/platform/core/functions/" class="link text--1">Functions</a> </li> <li> <a id="cta-footer-forms" href="/platform/core/forms/" class="link text--1">Forms</a> </li> <li> <a id="cta-footer-largeMedia" href="/platform/core/large-media/" class="link text--1">Large Media</a> </li> </ul> </details> </li> </ul> </details> <details data-viewport-size="narrow" class="wzun5wjan"> <summary class="column-label"> <h3 class="headline text-0">Explore</h3> <svg class="icon icon-chevron" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-docs" href="https://docs.netlify.com/" class="text--1">Docs</a> </li> <li> <a id="cta-footer-integrations" href="/integrations/" class="text--1">Integrations</a> </li> <li> <a id="cta-footer-oreilly-jamstack" href="/oreilly-jamstack/" class="text--1">Jamstack Book</a> </li> <li> <a id="cta-footer-community-hub" href="https://answers.netlify.com/ " class="text--1">Community</a> </li> <li> <a id="cta-footer-learn-resources" href="/resources/" class="text--1">Resources & Guides</a> </li> <li> <a id="cta-footer-remotelyInteresting" href="https://remotelyinteresting.netlify.com/" class="text--1">Remotely Interesting</a> </li> <li> <details id="footer-popover-Technologies" class="popover ntl-footer-popover"> <summary> <span class="label text--1">Technologies</span> <svg class="icon icon-plus" ariaHidden="true"> <use href="#icon-plus"></use> </svg> <svg class="icon icon-minus" ariaHidden="true"> <use href="#icon-minus"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-jamstack" href="/jamstack/" class="link text--1">Jamstack</a> </li> <li> <a id="cta-footer-react" href="/with/react/" class="link text--1">React</a> </li> <li> <a id="cta-footer-nextjs" href="/with/nextjs/" class="link text--1">Next.js</a> </li> <li> <a id="cta-footer-vue" href="/with/vue/" class="link text--1">Vue</a> </li> <li> <a id="cta-footer-svelte" href="/with/svelte/" class="link text--1">Svelte</a> </li> <li> <a id="cta-footer-gatsby" href="/with/gatsby/" class="link text--1">Gatsby</a> </li> <li> <a id="cta-footer-nuxt" href="/with/nuxt/" class="link text--1">Nuxt</a> </li> <li> <a id="cta-footer-sitecore" href="/with/sitecore/" class="link text--1">Sitecore</a> </li> <li> <a id="cta-footer-drupal" href="/with/drupal/" class="link text--1">Drupal</a> </li> <li> <a id="cta-footer-wordpress" href="/with/wordpress/" class="link text--1">WordPress</a> </li> </ul> </details> </li> </ul> </details> <details data-viewport-size="narrow" class="wzun5wjan"> <summary class="column-label"> <h3 class="headline text-0">Company</h3> <svg class="icon icon-chevron" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-blog" href="/blog/" class="text--1">Blog</a> </li> <li> <a id="cta-footer-about" href="/about/" class="text--1">About</a> </li> <li> <a id="cta-footer-careers" href="/careers/" class="text--1">Careers</a> </li> <li> <a id="cta-footer-compose-conference" href="/compose/" class="text--1">Compose Conference</a> </li> <li> <a id="cta-footer-press" href="/press/" class="text--1">Press</a> </li> <li> <a id="cta-footer-jamstack-fund" href="/jamstack-fund/" class="text--1">Jamstack Fund</a> </li> <li> <a id="cta-footer-store" href="https://swag.netlify.com/" class="text--1">Netlify Store</a> </li> <li> <a id="cta-footer-sustainability" href="/sustainability/" class="text--1">Sustainability</a> </li> </ul> </details> <details data-viewport-size="narrow" class="wzun5wjan"> <summary class="column-label"> <h3 class="headline text-0">Contact Us</h3> <svg class="icon icon-chevron" ariaHidden="true"> <use href="#icon-chevron"></use> </svg> </summary> <ul role="list"> <li> <a id="cta-footer-sales" href="/contact/" class="text--1">Sales</a> </li> <li> <a id="cta-footer-support" href="/support/" class="text--1">Support</a> </li> <li> <a id="cta-footer-status" href="https://netlifystatus.com/" class="text--1">Status</a> </li> <li> <a id="cta-footer-answers" href="https://answers.netlify.com/" class="text--1">Forums</a> </li> <li> <a id="cta-footer-agencyDirectory" href="/agency-directory/" class="text--1">Hire an Agency</a> </li> </ul> </details> </div> <newsletter-signup class="form ntl-newsletter-signup"><section class="l-stack"> <h2 class="text-0">Stay up to date with Netlify news</h2> <div id="newsletter-signup-hs-form-target" data-target-hs-form-id="52611e5e-cc55-4960-bf4a-a2adb36291f6"></div> </section> </newsletter-signup> <section class="fine-print-container"> <ul class="legal"> <li> <a id="cta-legal-footer-trustCenter" href="/trust-center/" class="text--1"> Trust Center </a> </li> <li> <a id="cta-legal-footer-privacyPolicy" href="/privacy/" class="text--1"> Privacy </a> </li> <li> <a id="cta-legal-footer-security" href="/security/" class="text--1"> Security </a> </li> <li> <a id="cta-legal-footer-gdpr" href="/gdpr-ccpa/" class="text--1"> GDPR/CCPA </a> </li> <li> <a id="cta-legal-footer-abuse" href="mailto:fraud@netlify.com?subject=Abuse%20report&body=Please%20include%20the%20site%20URL%20and%20reason%20for%20your%20report%2C%20and%20we%20will%20reply%20promptly." class="text--1"> Abuse </a> </li> <li> <button id="cta-legal-footer-cookieSettings" class="text--1">Cookie Settings</button> </li> </ul> <p class="copyright text--1">© 2024 Netlify</p> </section> </footer> <script type="module">(function(){let s=Array.from(document.querySelectorAll("[id^='footer-popover']"));document.addEventListener("click",e=>{s.map(t=>{t.hasAttribute("open")&&!t.contains(e.target)&&t.removeAttribute("open")})})})();var n="#newsletter-signup-hs-form-target",c=document.querySelector(n).getAttribute("data-target-hs-form-id");hbspt.forms.create({region:"na1",portalId:"7477936",formId:c,target:n,cssClass:"l-cluster",onFormReady:s=>{let e=s.querySelector(".hs-email"),t=s.querySelector(".hs-submit"),r=s.querySelector(".hs-recaptcha"),a=e.querySelector("input"),i=e.querySelector("label"),o=t.querySelector("input");a.placeholder="Email address",i.classList.add("visually-hidden"),o.setAttribute("data-variant","secondary"),o.setAttribute("id","submit-footer-newsletter-signup-form"),r&&(r.classList.add("visually-hidden"),t.after(r))}});(function(){let s=document.querySelector("#cta-legal-footer-cookieSettings"),e=document.querySelector(".icon-twitter");s.addEventListener("click",r=>{r.preventDefault(),window.OneTrust&&window.OneTrust.ToggleInfoDisplay()});let t={hover:"hovered",keypress:"swap-logos"};e&&(document.addEventListener("keypress",()=>{e.classList.contains(t.hover)&&e.classList.add(t.keypress)}),e.addEventListener("mouseover",()=>e.classList.add(t.hover)),e.addEventListener("mouseout",()=>e.classList.remove(t.hover)))})(); </script> </div></div> <script> if("fonts"in document){let t={unicodeRange:"U+0-FF,U+131,U+152,U+153,U+2BB,U+2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD",display:"swap"},e=new FontFace("Pacaembu","url(/v3/_fonts/PacaembuNetlify-Variable.woff2) format('woff2')",Object.assign({weight:"100 1000"},t)),a=new FontFace("Mulish","url(/v3/_fonts/MulishVar-latin.woff2) format('woff2')",Object.assign({weight:"200 900"},t)),o=new FontFace("Mulish","url(/v3/_fonts/MulishVar-italic-latin.woff2) format('woff2')",Object.assign({weight:"200 900",style:"italic"},t));Promise.all([e.load(),a.load(),o.load()]).then((function(t){t.forEach((function(t){document.fonts.add(t)}))}))}!function(){if(!("querySelectorAll"in document)||!("from"in Array)||!("open"in document.createElement("details")))return;var t="data-details-modal",e="data-force-state-closed",a="data-force-state-closed-toggle-tabindex",o="data-details-anchor",n="data-details-anchor-class",i="data-details-anchor-scrollto",r="data-details-anchor-enhanced",c="data-details-anchor-class-enhanced";function l(t){if(t.open){switch(t.getAttribute(i)){case"top":window.scrollTo(0,0);break;case"sticky-nav":setTimeout((()=>{document.querySelector(".masthead-wrapper").scrollIntoView()}),30)}}}function s(t,e){if(t.hasAttribute(a)){let a=t.querySelector(":scope > summary"),o=a.querySelector(":scope a[href]");e?(!a||o&&window.chrome||a.setAttribute("tabindex",-1),o&&o.setAttribute("tabindex",0)):(a&&a.removeAttribute("tabindex"),o&&o.removeAttribute("tabindex"))}e?t.setAttribute("open","open"):t.removeAttribute("open")}function d(t){if(!t)return;let a=t.getAttribute(e);return a&&"matchMedia"in window?window.matchMedia(a):void 0}function u(t){return t.getAttribute(n)}function f(e){return e.getAttribute(t)}function m(t,e){return"closest"in t?t.closest(t.getAttribute(e)):document.querySelector(t.getAttribute(e))}let h=Array.from(document.querySelectorAll("details[data-force-state]"));for(let t of h){let e=d(t);e&&(s(t,!e.matches),e.addListener((function(e){s(t,!e.matches)})));let a=m(t,r);a&&a.classList.add(t.getAttribute(c)),u(t)&&(document.documentElement.addEventListener("keydown",(e=>{let a=document.querySelector(".masthead-nav-menu");window.getComputedStyle(a);if(27===e.keyCode&&t.open){let e=d(t);e&&s(t,!e.matches)}}),!1),t.addEventListener("toggle",(e=>{let a=m(t,o);if(a){a.classList.toggle(u(t),t.open);let e=d(t),o=e&&e.matches;o&&l(t);let n=f(t);n&&a.classList.toggle(n,t.open&&o)}})))}}(); </script> <script src="/rum.js" data-application-id="be4d070b-9645-4227-b084-41fa141b62b3" data-client-token="pubb2e68ad93b9891edc190fcd4c7bbe1b1" data-service="www" data-env="production" defer ></script> <script async defer src="/v3/js/b78e1617.js"></script> <svg width="0" height="0" aria-hidden="true" style="position: absolute;"> <defs> </defs> </svg> <script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-rum-site-id="69350086-d20e-4b5a-84cf-bf367a848374" data-netlify-deploy-branch="main" data-netlify-deploy-context="production" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiNjkzNTAwODYtZDIwZS00YjVhLTg0Y2YtYmYzNjdhODQ4Mzc0IiwiYWNjb3VudF9pZCI6IjU4ZGE4ODkzZDY4NjVkMzVjOTJhNzJiOCIsImRlcGxveV9pZCI6IjY3NDc3MzY0ZmI1MTUyMDAwOTNhZjlkMiIsImlzc3VlciI6Im5mc2VydmVyIn0.CboiivFi1Sgyl5fkAsaL1xPPurfggceQ185DhwRIsH0"></script></body> </html>