Skip to main content
Daily.supportedBrowser() Returns information about the current browser and which Daily features it supports. Call this before joining to detect unsupported environments and conditionally enable features.

Example

const {
  supported,
  mobile,
  name,
  version,
  supportsScreenShare,
  supportsVideoProcessing,
  supportsAudioProcessing,
} = Daily.supportedBrowser();

if (!supported) {
  // Show an unsupported browser message
}

Return value

Returns an object with the following fields:
supported
boolean
Whether the browser supports Daily video calls.
mobile
boolean
Whether the browser is running on a mobile device.
name
string
The browser name (e.g. "Chrome", "Firefox", "Safari").
version
string
The browser version string.
supportsScreenShare
boolean
Whether the user can initiate a screen share. See supportsScreenShare below.
supportsFullscreen
boolean
Whether the browser supports fullscreen mode.
supportsSfu
boolean
Whether the browser supports SFU topology.
supportsVideoProcessing
boolean
Whether background blur and virtual backgrounds are available. See supportsVideoProcessing below.
supportsAudioProcessing
boolean
Whether noise cancellation is available. See supportsAudioProcessing below.

Supported browsers

BrowserMinimum versionNotes
Chrome75Includes Chromium-based browsers and Edge 75+
Firefox91
Safari13.1
iOS SafariiOS 14.3Also WKWebView-based browsers on iOS 14.3+
Android ChromeCurrentAlso Firefox, Samsung Internet, and Chromium-based browsers
Electron6
All other browsers (including legacy Edge, Internet Explorer, and Opera) are not supported. Chromium-based Edge reports a Chrome user agent and is treated identically to Chrome.

supportsScreenShare

Screen share initiation requires desktop. Mobile users can view screen shares but cannot start one.
BrowserCan share screen
Chrome (desktop)Yes
Firefox (desktop)Yes
Safari (desktop)Yes
Any mobile browserNo — receive only

supportsVideoProcessing

Background blur and virtual backgrounds are powered by Banuba and require WebGL2. Mobile browsers are not currently supported.
BrowserSupported
Chrome 77+ (desktop)Yes
Firefox 97+ (desktop)Yes
Safari 15.4+ (desktop)Yes
Any mobile browserNo
React NativeNo
WebGL2 must be available — either hardware-accelerated or software-rendered. If only software WebGL2 is available, video effects will still work but may result in lower frame rates. Safari requires version 15.4 or later. Earlier versions (pre-15 and 15.0–15.3) are excluded due to WebGL compatibility issues with Banuba.

supportsAudioProcessing

Noise cancellation is powered by Krisp and requires AudioWorkletNode.
BrowserSupported
Chrome (desktop)Yes
Firefox (desktop)Yes
Safari 17.4+ (desktop)Yes
Android Chrome/FirefoxNo
React NativeNo
Safari requires version 17.4 or later. Earlier versions lack AudioWorkletNode support.

Known limitations

Audio output device selection — Firefox 116–122

Audio output device selection is disabled on Firefox 116–122. These versions shipped setSinkId() with a bug that breaks echo cancellation when used. Fixed in Firefox 123.

Local audio level observers — Safari older than 14.1

startLocalAudioLevelObserver() relies on AudioWorkletNode, which is not available in Safari older than 14.1.

See also