Push your ideas to the web | Netlify
10 million developers. Launch into orbit →
Close announcement bar
Site navigation
Go to homepage Skip to content
Toggle main menu
### The Netlify Platform
Your app, live instantly. From AI tools or Git to global deployment in seconds. Everything included.
Key Features
- Deploy Previews
- Agent Runners
- AI Gateway
- Functions
- Storage
- Observability
- Security
- Edge network
### 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
### 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
- Blog
- Changelog
- Events
- Customers
- Partner directory
- All resources
Search
;
Clear
;
Ask Netlify AI
Get instant answers, powered by AI
;
Help
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.
!Meta
!Finn
!Meta
!Finn
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.
Build anything
Everything your app needs in one place. Create APIs, save images, store data without juggling a ton of services.
Grows with you
From first user to first million, without worry. Your app handles viral moments automatically. No crashes, no replatforming, just growth.
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.
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.
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: "[email protected]", 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.
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
Read the Netlify Image CDN docs
Example: Resize a cached image
```
alt="Resized and cached image">
```
Get information from your users with Netlify Forms
Example: Contact us form
```
```
Start building on Netlify
Join millions of developers and teams bringing their ideas online.
Get started for free Contact Sales
Products
Products
Resources
Resources
Company
Company
Contact Us
Contact Us
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
© 2026 Netlify
Site themeSystemDarkLight
Ask Netlify
reCAPTCHA
Recaptcha requires verification.
protected by reCAPTCHA
reCAPTCHA
Select all images with a bus Click verify once there are none left.
| | | |
| --- | --- | --- |
|  |  |  |
|  |  |  |
|  |  |  |
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