What the Supabase realtime concurrent connections limit is, what happens when you exceed it, and how to check or raise it — verified 2026-08-19.
Share one supabase client instance app-wide
| Plan | Limit |
|---|---|
| Free | 200 concurrent connections |
The maximum number of simultaneous WebSocket connections to Supabase Realtime. Free projects allow 200 concurrent connections.
Each Realtime client holds an open WebSocket; caps prevent a single project from saturating the shared realtime gateway.
const channel = supabase
.channel('room-1')
.on('postgres_changes', { event: 'INSERT', schema: 'public', table: 'messages' }, cb)
.subscribe()
// on unmount / sign-out:
supabase.removeChannel(channel)
Removing channels prevents connection leaks that push you toward the concurrent cap.
Always clean up Realtime subscriptions in useEffect to avoid leaking channels.
useEffect(() => {
const channel = supabase.channel('todos')
.on('postgres_changes', { event: '*', schema: 'public', table: 'todos' }, cb)
.subscribe()
return () => { supabase.removeChannel(channel) }
}, [])
Recommendations are editorial — DB Error Reference takes no payment or affiliate fees for tool listings.
This page is based on the official Supabase documentation linked below and adds practical guidance on top.