The Agora Web SDK supports all mainstream browsers.

Platform Chrome 58 or later Firefox 56 or later Safari 11 or later Opera 45 or later QQ Browser 360 Secure Browser WeChat Built-in Browser
Android 4.1 or later N/A
iOS 11 or later
macOS 10 or later
Windows 7 or later N/A
  • Upgrade to Agora Web SDK v2.6 or later in the following scenarios:
    • Safari on iOS 12.1.4 or later.
    • Safari 12.1 or later on macOS.
  • The Agora Web SDK v2.5 or later also supports Chrome 49 on Windows XP.
  • The Agora Web SDK v2.7 or later also supports Edge on Windows 10, see Edge support for details.

Due to the various browser engine implementations, support for some features may vary by browser and platform. The following are known issues and limitations.

Chrome

The Agora Web SDK is based on WebRTC and works best on Chrome.

  • The Agora Web SDK supports Chrome 58 or later.
  • Some APIs require later versions of Chrome, see the API Reference for details.

Safari

  • Safari 12.1 or earlier only supports the H.264 codec.
  • Safari does not support changing the frame rate (30 fps by default).
  • Device permissions
    • Safari does not support getting the output device information, so it does not support the getPlayoutDevices and setAudioOutput methods.
    • If Auto-Play is not enabled on Safari, the stream playback has no audio. You have to call the navigator.mediaDevices.getUserMedia method to get the device permissions before playing a stream.
  • Safari does not support the addTrack and removeTrack methods.
  • Safari does not support the getAudioLevel method on iOS.

Firefox

  • When the Firefox browser interoperates with the Native SDK for iOS, the video in the Firefox browser is rotated.
  • Setting the video profile on Firefox does not take effect on the following devices:
    • MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)
    • Windows 10 (MI)

Edge

The Agora Web SDK v2.7 or later supports the Microsoft Edge browser. Due to browser limitations, the Agora Web SDK supports the following functions:

  • Communicates with the Agora Native/Web SDK in audio/video calls and live broadcasts.
  • Gets the connection statistics by calling the getStats method.
  • Gets the audio level by calling the getAudioLevel method.
  • Disables/Enables the audio track by calling the muteAudio/unmuteAudio method.
  • Disables/Enables the video track by calling the muteVideo/unmuteVideo method.