Origin Rules
Build explicit or wildcard origin policies.
Generate Access-Control-Allow-Origin, methods, headers, credentials, and preflight snippets.
CORS headers
Generate CORS headers and framework snippets for API routes.
HTTP headers
Raw response headers for any server.
Access-Control-Allow-Origin: https://app.example.com Access-Control-Allow-Methods: GET, POST, OPTIONS Access-Control-Allow-Headers: Content-Type, Authorization Access-Control-Max-Age: 86400 Access-Control-Expose-Headers: Content-Length
Express
app.use((req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', 'https://app.example.com');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
res.setHeader('Access-Control-Max-Age', '86400');
res.setHeader('Access-Control-Expose-Headers', 'Content-Length');
if (req.method === 'OPTIONS') return res.sendStatus(204);
next();
});Cloudflare Worker
const corsHeaders = {
'Access-Control-Allow-Origin': 'https://app.example.com',
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type, Authorization',
'Access-Control-Max-Age': '86400',
'Access-Control-Expose-Headers': 'Content-Length',
};
export default {
async fetch(request) {
if (request.method === 'OPTIONS') {
return new Response(null, { status: 204, headers: corsHeaders });
}
return new Response('OK', { headers: corsHeaders });
},
};Capabilities
Use CORS Header Generator to check the input, tune the settings, and copy a clean output.
Build explicit or wildcard origin policies.
Avoid wildcard origins when credentials are enabled.
Copy Express and Cloudflare Workers examples.
Workflow
Build CORS headers and API snippets.
Enter the allowed origin or wildcard origin for public APIs.
Select allowed methods, request headers, credentials, and max age.
Copy raw headers or Express and Cloudflare Worker snippets.
Good for
FAQ
Practical notes about output, privacy, and common settings.
Use next