Error 400: redirect_uri_mismatch (Sign in with Google)
Google sign-in shows "Error 400: redirect_uri_mismatch"? The callback URL in Google Cloud must exactly match the one your app or Supabase uses.
Reviewed October 14, 2026
What it means in plain English
Google only sends users back to addresses you've pre-approved. The address your app asked for isn't on that list, letter-for-letter.
Likely causes
- The Supabase callback URL (
https://<project-ref>.supabase.co/auth/v1/callback) isn't in Google's Authorized redirect URIs. - Mismatch in
httpvshttps,www, capital letters or a trailing slash; Google requires an exact match. - You're using a custom auth domain or a different OAuth client ID in production.
How to fix it, step by step
- Supabase → Authentication → Providers → Google: copy the Callback URL shown there.
- Google Cloud Console → Google Auth Platform → Clients → your Web client.
- Under Authorized redirect URIs, paste the Supabase callback URL exactly. Under Authorized JavaScript origins, add your site, e.g.
https://yourapp.com. - Save (Google changes can take a few minutes).
- Make sure the Client ID and Secret in Supabase match this same Google client.
- After Google, Supabase sends users to your app; that must also be allowed (see the localhost redirect page).
How to check it worked
- Click 'Sign in with Google' on the live site; you should reach the consent screen and return signed in.
- No 400 error page.
Sources
Related fixes
Can't fix it? Get help.
If the steps didn't clear the error, send what the screen says. A person can take a look. This is a request for a paid fix, not an instant chat.