301 vs 302: Moved Permanently vs Found

Both status codes appear frequently in production traffic but communicate different intent.

Aspect301302
MeaningMoved Permanently describes how the server processed the request and what the client should do next.Found describes how the server processed the request and what the client should do next.
Typical use caseHTTP 301 Moved Permanently indicates a redirection response outcome.HTTP 302 Found indicates a redirection response outcome.
Operational noteMonitor cache/client behavior when returning 301.Monitor cache/client behavior when returning 302.

When to use one vs the other

Choose the code that most accurately reflects semantics and expected client behavior.

FAQ

Can I swap these codes?

No. Returning the wrong code can break clients, SEO expectations, or caching behavior.

Related guides: 301 ยท 302