adapter.js is a JavaScript shim library maintained by the WebRTC project that provides cross-browser compatibility for WebRTC applications.
What adapter.js does
Despite WebRTC being standardized, browsers historically had differences in:
- API naming (e.g., prefixed vs unprefixed APIs)
- SDP format variations
- Feature support gaps
adapter.js normalizes these differences, allowing developers to write code against the standard WebRTC API and have it work across Chrome, Firefox, Safari, and Edge.
Current relevance
As browsers have converged on the standard WebRTC API (particularly after Chrome moved to Unified Plan and Safari added full WebRTC support), adapter.js is less critical than in WebRTC’s early years. However, it may still help with:
- Handling minor behavioral differences
- Supporting older browser versions
Many WebRTC SDKs include adapter.js or similar shimming internally.
For the most part, adapter.js is not needed anymore.


