close search

Add Messaging, Voice, and Authentication to your apps with Vonage Communications APIs

Visit the Vonage API Developer Portal


The OpenTok.js library lets you use Vonage Video API-powered video sessions on the web.

This page covers the following topics:

Important notes:

Issues fixed in Safari 15.4 and 15.5. Safari versions 15.4 and 15.5 (which ship with iOS 15.4 and 15.5 and macOS 12.3 and 12.4) fix the following issues, which could affect apps that use OpenTok.js (in Safari):

  • Audio issues when using certain models of Bluetooth headsets. On certain models of Bluetooth headsets, audio could drop out. This WebKit bug is fixed in Safari 15.4.
  • Echo issues when switching microphones in macOS Safari. Switching the microphone used by a publisher could result in an echo of the publisher's audio. The echo did not appear on the subscriber's side. This WebKit bug is fixed in Safari 15.5.
  • Critical bug publishing H.264 video in routed sessions in iOS 15.1. In iOS 15.1, publishing H.264 video in routed sessions would fail. This WebKit bug was fixed in Safari 15.4.
  • Low audio volume is iOS Safari. This WebKit bug is fixed in Safari 15.4.

End-to-end encryption — In OpenTok.js 2.27.0, end-to-end encryption will not work with clients using earlier version of OpenTok.js. When you upgrade your app to use OpenTok.js 2.27.0+, make sure all clients are using OpenTok.js 2.27.0+ if the app uses end-to-end encryption..


All applications that use the Vonage Video API are composed of two parts:

The client SDK for building web-based applications that use the Vonage Video API is OpenTok.js. This JavaScript library provides most of the core functionality for your app, including:

Client SDKs are also available for iOS and Android. All OpenTok client SDKs can interact with one another. You can learn more about the basics of OpenTok clients, servers, sessions and more on our Video API Basics page.

Building with OpenTok.js

The best way to learn how to use the OpenTok.js library is to follow our Basic Video Chat tutorial for web:

View tutorial

Once you understand the basics of building with OpenTok.js, you can get more detailed information and learn how to customize your application with our Developer Guides. To investigate specific API classes and methods, you can review the OpenTok.js Reference.

Loading OpenTok.js

To load OpenTok.js in your web page, add the following script tag:

<script src=""></script>  

You can also install OpenTok.js using the @opentok/client npm package.

The current version of the OpenTok.js library can interoperate with OpenTok apps written with version 2.22+ of the OpenTok client SDKs:

Browser support

The OpenTok.js library is currently supported in:

Important: OpenTok.js version 2.16 was the last version to support the OpenTok Plugin for Internet Explorer. OpenTok.js version 2.16 was deprecated in May 2020 for the Standard environment and June 2020 for the Enterprise environment.

OpenTok version numbers

You can include the OpenTok.js library in your web page using a <script> tag:

<script src=""></script>  

The OpenTok.js version number consists of three parts: