Last updated: April 7, 2026

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.

Additional reading

Looking to learn more about WebRTC? 

Check my WebRTC training courses

About WebRTC Glossary

The WebRTC Glossary is an ongoing project where users can learn more about WebRTC related terms. It is maintained by Tsahi Levent-Levi of BlogGeek.me.