🎯 Visual Configuration
No more manual JSON/XML editing. Check boxes and fill forms to generate perfect CORS policies.
Generate CORS policies for AWS S3, Cloudflare R2, and Google Cloud Storage. Visual configuration with real-time preview - no more frustrating JSON/XML editing.
How long results of a preflight request can be cached (0-86400)
Headers accessible to client-side JavaScript
// Configure your CORS settings to see the generated policy
Select a cloud provider and configure your CORS settings to see specific instructions.
No more manual JSON/XML editing. Check boxes and fill forms to generate perfect CORS policies.
Generate policies for AWS S3, Cloudflare R2, and Google Cloud Storage with correct syntax.
See your CORS policy update instantly as you change settings. Copy or download with one click.
CORS (Cross-Origin Resource Sharing) is a security feature that allows web applications to make requests to different domains. An S3 CORS policy controls which websites can access files in your S3 bucket, preventing unauthorized access while enabling legitimate cross-origin requests.
Without proper CORS configuration, browsers block cross-origin requests to your S3 bucket, causing errors in your web applications. Common scenarios requiring S3 CORS include:
Choose between AWS S3, Cloudflare R2, or Google Cloud Storage. Each provider has slightly different policy formats.
Select which HTTP methods (GET, POST, PUT, DELETE, etc.) to allow. Only enable methods your application actually needs.
Specify which domains can access your S3 bucket. Use "*" for public access or specific domains for better security.
Set allowed headers and cache duration. Longer cache times improve performance but reduce flexibility.
Copy the generated policy and apply it to your S3 bucket using AWS Console, CLI, or SDK.
For static websites hosted on S3:
For web apps with API calls:
For publicly accessible assets:
aws s3api put-bucket-cors --bucket your-bucket-name --cors-configuration file://cors-policy.json
Your CORS policy isn't matching the request. Check allowed origins and methods.
Your policy has conflicting rules. Ensure each rule has distinct origins.
The HTTP method isn't in your allowed methods list. Add it to your policy.