Push your ideas to the web | Netlify

Push your ideas to the web | Netlify

10 million developers. Launch into orbit →

Close announcement bar

Site navigation

Go to homepage Skip to content

  • Search
  • Log in
  • Toggle main menu

  • PlatformToggle platform submenu
  • ### The Netlify Platform

    Your app, live instantly. From AI tools or Git to global deployment in seconds. Everything included.

    - Explore the platform

    Key Features

    - Deploy Previews
    - Agent Runners
    - AI Gateway
    - Functions
    - Storage
    - Observability
    - Security
    - Edge network

  • SolutionsToggle solutions submenu
  • ### Why Netlify?

    - Customers
    - Agent Experience
    - Partner directory

    Use Cases

    - Code Agents
    - Company Websites
    - E-commerce
    - Web Apps
    - Large Sites

    Don’t see your solution? We can help. Chat with a Netlify expert

  • DevelopersToggle developers submenu
  • ### Where to start

    - Docs
    - Developer guides
    - Templates
    - Integrations
    - Build with AI

    Project kickstarts

    - Astro
    - TanStack
    - Next.js
    - Nuxt
    - Gatsby
    - Wordpress
    - React
    - Vue
    - Svelte
    - Sitecore
    - Jamstack
    - +More

  • ResourcesToggle resources submenu
  • - Blog
    - Changelog
    - Events
    - Customers
    - Partner directory
    - All resources

  • Pricing
  • Search
  • Contact
  • Log in
  • Sign up

    Search
    ;
    Clear

    ;

    Ask Netlify AI

    Get instant answers, powered by AI

    ;

    Help

  • ;\\
  • \\ Go to docs\\ \\ ;
  • ;\\
  • \\ Go to support forums\\ \\ ;
  • ;\\
  • \\ Contact support\\ \\ ;
  • ;\\
  • \\ Contact sales\\ \\ ;

    Actions

    ;

    Toggle theme

    ;

    Escto close

    Tabor↑↓to navigate

    Push your ideas to the web

    Build with AI or code, deploy instantly. One platform with everything you need to make real apps live.

    Get started Contact Sales

    !Meta

    !Mighty

    !Finn

    !Autodesk

    !Navan

    !Zscaler

    !ServiceTitan

    !Stack Overflow

    !Riot Games

    !Kubernetes

    !Figma

    !Meta

    !Mighty

    !Finn

    !Autodesk

    !Navan

    !Zscaler

    !ServiceTitan

    !Stack Overflow

    !Riot Games

    !Kubernetes

    !Figma

    Platform

    Everything you need to ship. Nothing you don’t.

    From vibe coding your first app to serving millions of users, Netlify handles the infrastructure so you can focus on building. No DevOps required. No complex setup. No surprise bills when you scale.

    Ship instantly

    Get your app live. Deploy from Bolt, Cursor, GitHub, or anywhere you build. Every change gets a shareable preview link.

  • Deploy from anywhere
  • Instant preview links
  • Update code with Agent Runners
  • See the workflow

    !Line drawing illustration of a code editor with HTML tags, multiple lines of code, and surrounding icons including for various AI tools and frameworks, including Bolt, Tanstack, Astro, and Windsurf.

    Build anything

    Everything your app needs in one place. Create APIs, save images, store data without juggling a ton of services.

  • Marketing sites to AI apps
  • Forms, functions, and APIs ready
  • Database and image storage built-in
  • Explore platform primitives

    !Line drawing illustration of a browser window containing connected elements - a chart showing upward trending data, a security lock icon, a nature scene with a tree, a progress bar with checkmark, and a power plug.

    Grows with you

    From first user to first million, without worry. Your app handles viral moments automatically. No crashes, no replatforming, just growth.

  • Free tier that actually works
  • Managed security
  • Automatic scaling
  • Learn about the platform

    !Line drawing illustration showing two overlapping circles with decorative clouds, one representing a rollback and the other a meter increasing.

    Primitives

    Ready to use building blocks.

    Build APIs, store files, manage data, control performance. No backend setup required—just build and deploy.

    AI Gateway Serverless functions Data & storage Image CDN Automatic forms

    Power AI apps with AI Gateway

    Call OpenAI, Anthropic, or Gemini directly from your code without juggling keys or accounts. Every request is routed through one gateway, with usage tracking and safeguards included.

  • Use AI without managing API keys
  • Switch between 30+ models
  • Monitor usage and costs in one place
  • Read the AI Gateway docs

    Example: Generate alt text with OpenAI

    ```
    import OpenAI from "openai";

    export default async (req: Request) => {
    if (req.method !== "POST") {
    return new Response("Method not allowed", { status: 405 });
    }

    try {
    const { description } = await req.json();
    if (!description) {
    return new Response("Missing description", { status: 400 });
    }

    const client = new OpenAI();
    const res = await client.responses.create({
    model: "gpt-5-mini",
    input: [\
    { role: "user", content: `Write concise alt text for: ${description}` },\
    ],
    });

    return Response.json({ altText: res.output_text });
    } catch {
    return new Response("Server error", { status: 500 });
    }
    };

    export const config = {
    path: "/api/alt-text",
    };
    ```

    Build scalable, fullstack apps with Netlify Functions

    Deploy server-side code that works as API endpoints, runs automatically in response to events, or processes more complex jobs in the background.

  • Send automated email
  • Fetch live data from an API
  • Return dynamic images
  • Validate user input
  • Read the Netlify Functions docs

    Example: Send email

    ```
    import type { Context, Config } from "@netlify/functions";

    export default async (req: Request, context: Context) => {
    if (req.method !== "POST") return new Response("Method not allowed", { status: 405 });

    try {
    const { name, email, message } = await req.json();
    if (!name || !email || !message) return new Response("Missing fields", { status: 400 });

    // Mock email API
    await fetch("https://api.emailservice.com/send", {
    method: "POST",
    headers: { "Authorization": `Bearer ${Netlify.env.get("EMAIL_API_KEY")}`, "Content-Type": "application/json" },
    body: JSON.stringify({ to: "test@example.com", subject: `Hello world`, text: `Hello ${name}` })
    });

    return Response.json({ success: true });
    } catch {
    return new Response("Server error", { status: 500 });
    }
    };
    ```

    Agent-friendly storage for full-stack apps

    Instantly provision a production-grade database with Netlify DB or use Blobs as a simple key/value store or lightweight database.

  • Store and retrieve blobs and unstructured data for frequent reads and infrequent writes
  • Use serverless databases to create full-stack apps
  • Set up in minutes with the help of a code agent
  • Read the Netlify storage docs

    Example: Persist user-generated uploads

    ```
    import { getStore } from "@netlify/blobs";
    import type { Context } from "@netlify/functions";
    import { v4 as uuid } from "uuid";

    export default async (req: Request, context: Context) => {
    // Accessing the request as `multipart/form-data`.
    const form = await req.formData();
    const file = form.get("file") as File;

    // Generating a unique key for the entry.
    const key = uuid();

    const uploads = getStore("file-uploads");
    await uploads.set(key, file, {
    metadata: { country: context.geo.country.name }
    });

    return new Response("Submission saved");
    };
    ```

    Better image performance with the Netlify Image CDN

  • Transform images on demand without impacting build times
  • Optimize the size and format of your images
  • Improve both the runtime performance and reliability of your site
  • Read the Netlify Image CDN docs

    Example: Resize a cached image

    ```

    alt="Resized and cached image">
    ```

    Get information from your users with Netlify Forms

  • Automatic form detection with one HTML attribute
  • Allows you to create forms in Netlify without extra API calls or additional JavaScript
  • Uses HTML forms, a trusted web standard
  • Read the Netlify forms docs

    Example: Contact us form

    ```


















    ```

    Start building on Netlify

    Join millions of developers and teams bringing their ideas online.

    Get started for free Contact Sales

    Go to Netlify homepage

  • GitHub
  • LinkedIn
  • Bluesky
  • X (formerly known as Twitter)
  • YouTube
  • Discourse
  • Products

  • Deploy Previews
  • Functions
  • Agent Runners
  • Observability
  • Security
  • Netlify CLI
  • Netlify SDK
  • Pricing
  • Products

  • Deploy Previews
  • Functions
  • Agent Runners
  • Observability
  • Security
  • Netlify CLI
  • Netlify SDK
  • Pricing
  • Resources

  • Docs
  • Status
  • Support
  • Developer guides
  • Changelog
  • Integrations
  • Guides
  • Hire an agency
  • Resources

  • Docs
  • Status
  • Support
  • Developer guides
  • Changelog
  • Integrations
  • Guides
  • Hire an agency
  • Company

  • About
  • Agent Experience
  • Blog
  • Customers
  • Partners
  • Careers
  • Press
  • Company

  • About
  • Agent Experience
  • Blog
  • Customers
  • Partners
  • Careers
  • Press
  • Contact Us

  • Sales
  • Support
  • Status
  • Forums
  • Contact Us

  • Sales
  • Support
  • Status
  • Forums
  • Stay up to date with Netlify news

    Email\*

    UTM Campaign

    UTM Content

    UTM Medium

    UTM Source

    UTM Term

    reCAPTCHA

    Recaptcha requires verification.

    protected by reCAPTCHA

    Privacy \- Terms

    Privacy \- Terms

  • Trust Center
  • Privacy
  • GDPR/CCPA
  • Abuse
  • Cookie Settings
  • © 2026 Netlify

    Site themeSystemDarkLight

    Ask Netlify


    reCAPTCHA

    Recaptcha requires verification.

    Privacy \- Terms

    protected by reCAPTCHA

    Privacy \- Terms

    reCAPTCHA

    Select all images with a bus Click verify once there are none left.

    | | | |
    | --- | --- | --- |
    | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) |
    | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) |
    | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) | ![](https://www.google.com/recaptcha/enterprise/payload?p=06AFcWeA4WLg0a6GWHq08cbjheE-v3OflEYwD16zb4Hl8YkI4wUHBVFyl_QPtIi2JbhxtNFRQXWRIUqYOoMh_iWf1VC8NTjKFOs203oU3cnFJo_W_JpIW79IknOara7iff5zR9zVqwxkq5kP-CFSFJkH3EhhtxWymlLdNchx1WmitraiaRqLjHTzwf8sGs26A1LdRk2W_wWtcwWhI1aFVYpBg5mszJcp2NWw&k=6Ld_ad8ZAAAAAAqr0ePo1dUfAi0m4KPkCMQYwPPm) |

    Please try again.

    Please select all matching images.

    Please also check the new images.

    Please select around the object, or reload if there are none.

    Verify