Browser Support for Zoom Meeting SDK Web
The Zoom Meeting SDK for Web supports browsers within two versions of their current release. This document details feature support by browser.
The Zoom Meeting SDK for Web supports browsers within two versions of their current release. This document details feature support by browser.
The Zoom Meeting SDK for Web supports browsers within **two versions** of their current release. This document details feature support by browser.
| Feature | Chrome | Firefox | Safari | Edge | iOS/iPadOS | Android | |---------|--------|---------|--------|------|------------|---------| | **Video** | | 720p Video (receive) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | 720p Video (send) | ✅¹ | ✅¹ | ✅¹ | ✅¹ | ✅¹ | ✅¹ | | 1080p (webinar attendees) | ✅¹ | ✅¹ | ✅¹ | ✅¹ | ✅¹ | ✅¹ | | Gallery View (25 videos) | ✅ | ✅ | ✅² | ✅ | ✅ | ✅ | | Virtual Background | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ | | WebRTC Video | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | | **Audio** | | Audio (receive) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Audio (send) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Background Noise Suppression | ✅¹ | ✅¹ | ✅¹ | ✅¹ | ✅¹ | ✅¹ | | Share Tab Audio | ✅¹ | ❌ | ❌ | ✅¹ | ❌ | ❌ | | Call In (PSTN) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Call Out (PSTN) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | **Screen Sharing** | | Screen Share (receive) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Screen Share (send) | ✅ | ✅ | ✅³ | ✅ | ❌ | ❌ | | Remote Control (give) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | | Be Remote Controlled | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **Meeting Features** | | Breakout Rooms | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Waiting Room | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | In-Meeting Chat | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Chat - Send File | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Cloud Recording | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Closed Captioning | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Live Transcription | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Live Translation | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | RTMP Live Streaming | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Webinar Q&A | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | **Whiteboard** | | Whiteboard (view) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | Whiteboard (edit) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | | **Other** | | Stay Awake (Component View) | ✅⁴ | ❌ | ✅⁴ | ✅⁴ | ❌ | ❌ | | Encryption (TLS 1.2 + AES-GCM) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | End-to-End Encryption (E2EE) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
Zoom supports the current browser version plus two previous versions:
| If Current Version Is | Supported Versions | |-----------------------|-------------------| | Chrome 140 | 138, 139, 140 | | Firefox 130 | 128, 129, 130 | | Safari 18 | 16, 17, 18 | | Edge 130 | 128, 129, 130 |
All browsers on iOS/iPadOS use the same WebKit engine (including Chrome and Firefox on iOS). Features are determined by **iOS version**, not browser version.
| iOS Version | Key Capabilities | |-------------|------------------| | iOS 15.2+ | SharedArrayBuffer support | | iOS 16.4+ | 720p in landscape mode, WakeLock | | iOS 17+ | Improved WebRTC performance |
Most Android browsers are Chromium-based. Features depend on **Android OS version** and **Chrome version**.
| Android Version | Notes | |-----------------|-------| | Android 10+ | Full support | | Chrome 112+ | 720p in landscape mode |
**Important**: Android Firefox is NOT supported (uses GeckoView engine).
Samsung Internet follows its [own versioning scheme](https://en.wikipedia.org/wiki/Samsung_Internet#History) but is Chromium-based:
| Samsung Internet | Chromium Base | |------------------|---------------| | 20.0 | Chromium 106 | | 21.0 | Chromium 111 | | 22.0 | Chromium 118 |
| Device Type | Browser Support | |-------------|-----------------| | iPad | Same as iOS Safari | | Android Tablets | Same as Android browsers | | Microsoft Surface | Same as Windows desktop browsers | | Chromebooks | Same as Chrome desktop |
WebRTC video is supported on:
Some Android device models have specific limitations due to hardware variations.
If you use Content Security Policy headers, configure them to allow Zoom SDK:
Content-Security-Policy:
default-src 'self';
base-uri 'self';
worker-src blob:;
style-src 'self' 'unsafe-inline';
script-src 'self' 'unsafe-inline' 'unsafe-eval' https://zoom.us *.zoom.us dmogdx0jrul3u.cloudfront.net blob:;
connect-src 'self' https://zoom.us https://*.zoom.us wss://*.zoom.us;
img-src 'self' https:;
media-src 'self' https:;
font-src 'self' https:;If you see this error:
CompileError: WebAssembly.instantiate(): Refused to compile...Add `'unsafe-eval'` or `'wasm-unsafe-eval'` (if browser supports it) to your `script-src` directive.
// Client View
const requirements = ZoomMtg.checkSystemRequirements();
console.log('Browser compatible:', requirements.browserInfo);
// Component View
const requirements = client.checkSystemRequirements();
console.log('Video supported:', requirements.video);
console.log('Audio supported:', requirements.audio);
console.log('Screen share supported:', requirements.screen);// Check SharedArrayBuffer for HD features
const hasHD = typeof SharedArrayBuffer === 'function';
// Check screen capture support
const hasScreenShare = navigator.mediaDevices &&
typeof navigator.mediaDevices.getDisplayMedia === 'function';
// Check WebRTC support
const hasWebRTC = !!(window.RTCPeerConnection ||
window.webkitRTCPeerConnection ||
window.mozRTCPeerConnection);
// Check WakeLock support (Stay Awake)
const hasWakeLock = 'wakeLock' in navigator;