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 10.5 or later 360 Secure Browser WeChat Built-in Browser
Android 4.1 or later [1] N/A
iOS 11 or later [2]
macOS 10 or later
Windows 7 or later N/A
[1] Support for H.264 relies on hardware, and some Android devices do not support the H.264 codec.
[2] Agora does not recommend using the Web SDK on iOS Safari. See iOS Safari for known issues and limitations. For better support on iOS, use the Agora iOS SDK.
Upgrade to the latest Agora Web SDK in the following scenarios:
  • Safari on iOS 12.1.4 or later.
  • Safari 12.1 or later on macOS.
  • Other browser support:

    • The Agora Web SDK v2.5 or later supports Chrome 49 on Windows XP (supports the VP8 codec only, and cannot interop with the Native SDK).
    • The Agora Web SDK v2.7 or later supports Edge on Windows 10, see Edge support for details.
    • The Agora Web SDK theoretically supports 360 Extreme Browser, but we do not guarantee full support.

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


    On Chrome 81 or later, Safari, and Firefox, device IDs are only available after the user has granted permissions to use the media device. See Why can't I get device ID on Chrome 81?


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

    • The Agora Web SDK supports Chrome 58 or later.
    • On some Android devices, Chrome does not support the H.264 codec.
    • Some APIs require later versions of Chrome, see the API Reference for details.
    • On all AMD-based and some Intel-based devices with the Windows operating system, if Chrome uses the H.264 codec, the video transmission bitrate may be lower than the set value. To resolve it, you can set the browser to use the VP8 codec or try to disable hardware acceleration.


    iOS Safari

    Known issues and limitations of Safari on iOS:

    • The audio routing may change randomly: Sometimes, the audio is routed to the speakerphone when a headset is connected, or to the earpiece when no headset is connected.
    • The volume of a remote user may change randomly on iOS 13.
    • Safari does not support the getAudioLevel method on iOS.
    • If you call getUserMedia twice to get two tracks of the same media type, the first track goes muted or black.
    • Occasional: On iOS 13, after a user switches to other apps that use the microphone or camera (such as Siri or Skype) and then switches back, the audio sampling or video capture fails.
    • Occasional: After the audio session is interrupted, for example, the local user mutes or unmutes the audio, uses Siri, or answers an incoming call, the user can no longer hear any remote users.

    Other issues

    The following lists other known issues and limitations of Safari on iOS and macOS:

    • Safari 11 only supports the video resolution of 480P and higher.
    • Safari 12.1 or earlier only supports the H.264 codec.
    • Safari 13 users may not be able to hear other users.
    • Device permission limitations:
      • 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 (as the following figure shows), 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 enabling dual-stream mode.


    • When the Firefox browser interoperates with the Native SDK for iOS, the video in the Firefox browser is rotated.
    • Firefox does not support changing the frame rate (30 fps by default).
    • 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)


    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 calls, video calls, and live interactive streaming.
    • 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.


    How to use Agora Web SDK on mobile devices?