← All Articles

CORS Error: Access-Control-Allow-Origin — What It Really Means

What Does This Error Mean?

CORS (Cross-Origin Resource Sharing) is a browser security mechanism. This error means your frontend (localhost:3000) is calling an API on a different origin, and the server didn't explicitly allow it.

Important: It's Not a Bug in Your Code

CORS is the browser protecting users. The fix is always on the server side or your dev proxy.

How to Fix It

1. Server: Add CORS headers

Access-Control-Allow-Origin: https://yourdomain.com
Access-Control-Allow-Methods: GET, POST, PUT
Access-Control-Allow-Headers: Content-Type

2. Dev: Use a proxy

// vite.config.ts
server: { proxy: { '/api': 'http://localhost:8080' } }