zoom/videosdk-web-sample

Zoom Video SDK web sample

137

stars

248

commits

TypeScript

primary language

Aug 10, 2026

updated

developers.zoom.us/docs/video-sdk/web/
sample-app
Browse cluster: Zoom Video SDK Web Samples

README

Zoom Video SDK web sample

⚠️ Action Required:
We recommend that you upgrade to 2.3.15 or above if you use WebRTC video to prevent issues with future Chrome versions.


Use of this sample app is subject to our Terms of Use.

The Zoom Video SDK for web enables you to build custom video experiences on a webpage with Zoom's core technology through a highly optimized WebAssembly module.

Zoom Video SDK

Installation

To get started, clone the repo:

$ git clone https://github.com/zoom/videosdk-web-sample.git

Setup

Use UTF-8 encoding

Add <meta charset="UTF-8" /> to your web app's entry point (index.html) to ensure the browser uses UTF-8. If not set, the browser might choose a different encoding, causing text or data issues.

  1. Once cloned, navigate to the videosdk-web-sample directory:

    $ cd videosdk-web-sample

  2. Then install the dependencies:

    $ npm install

  3. Open the directory in your code editor.

  4. Open the src/config/dev.ts file and enter required session values for the variables:

    KeyValue Description
    sdkKeyYour Video SDK Key. Required.
    sdkSecretYour Video SDK Secret. Required.
    topicRequired, a session name of your choice or the name of the session you are joining.
    nameRequired, a name for the participant.
    passwordOptional, a session passcode of your choice or the passcode of the session you are joining.

    Example:

    {
      // ...
      sdkKey: 'YOUR_VIDEO_SDK_KEY',
      sdkSecret: 'YOUR_VIDEO_SDK_SECRET',
      topic: 'Cool Cars',
      name: 'user123',
      password: 'abc123'
      // ...
    }
    

    Reminder to not publish this sample app as is. Replace the Video SDK JWT generator with a backend Video SDK JWT generator to keep your SDK Secret safe.

  5. Save dev.ts.

  6. Run the app:

    $ npm start

Usage

  1. Navigate to http://localhost:3000 and click one of the feature boxes.

    Learn more about rendering multiple video streams.

For the full list of features and event listeners, as well as additional guides, see our Video SDK docs.

Use ZFG(Zoom For Government). You need apply new sdk key for ZFG.

option1 change package.json and use zfg specific version

"@zoom/videosdk": "1.12.17-zfg",
zmClient.init('en-US', 'Global');

option2 change dev.conf and use ZFG init option webEndpoint

zmClient.init('en-US', `https://source.zoomgov.com/videosdk/1.11.0/lib`, {
   webEndpoint: "www.zoomgov.com",
});

Need help?

If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.

Contributors

ylkjick532428

102 commits

mayk-zoom

49 commits

endazoom

45 commits

vicyang-zoom

36 commits

zoom/videosdk-web-sample

Zoom Video SDK web sample

137

stars

248

commits

TypeScript

primary language

Aug 10, 2026

updated

developers.zoom.us/docs/video-sdk/web/
sample-app
Browse cluster: Zoom Video SDK Web Samples

README

Zoom Video SDK web sample

⚠️ Action Required:
We recommend that you upgrade to 2.3.15 or above if you use WebRTC video to prevent issues with future Chrome versions.


Use of this sample app is subject to our Terms of Use.

The Zoom Video SDK for web enables you to build custom video experiences on a webpage with Zoom's core technology through a highly optimized WebAssembly module.

Zoom Video SDK

Installation

To get started, clone the repo:

$ git clone https://github.com/zoom/videosdk-web-sample.git

Setup

Use UTF-8 encoding

Add <meta charset="UTF-8" /> to your web app's entry point (index.html) to ensure the browser uses UTF-8. If not set, the browser might choose a different encoding, causing text or data issues.

  1. Once cloned, navigate to the videosdk-web-sample directory:

    $ cd videosdk-web-sample

  2. Then install the dependencies:

    $ npm install

  3. Open the directory in your code editor.

  4. Open the src/config/dev.ts file and enter required session values for the variables:

    KeyValue Description
    sdkKeyYour Video SDK Key. Required.
    sdkSecretYour Video SDK Secret. Required.
    topicRequired, a session name of your choice or the name of the session you are joining.
    nameRequired, a name for the participant.
    passwordOptional, a session passcode of your choice or the passcode of the session you are joining.

    Example:

    {
      // ...
      sdkKey: 'YOUR_VIDEO_SDK_KEY',
      sdkSecret: 'YOUR_VIDEO_SDK_SECRET',
      topic: 'Cool Cars',
      name: 'user123',
      password: 'abc123'
      // ...
    }
    

    Reminder to not publish this sample app as is. Replace the Video SDK JWT generator with a backend Video SDK JWT generator to keep your SDK Secret safe.

  5. Save dev.ts.

  6. Run the app:

    $ npm start

Usage

  1. Navigate to http://localhost:3000 and click one of the feature boxes.

    Learn more about rendering multiple video streams.

For the full list of features and event listeners, as well as additional guides, see our Video SDK docs.

Use ZFG(Zoom For Government). You need apply new sdk key for ZFG.

option1 change package.json and use zfg specific version

"@zoom/videosdk": "1.12.17-zfg",
zmClient.init('en-US', 'Global');

option2 change dev.conf and use ZFG init option webEndpoint

zmClient.init('en-US', `https://source.zoomgov.com/videosdk/1.11.0/lib`, {
   webEndpoint: "www.zoomgov.com",
});

Need help?

If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.

Contributors

ylkjick532428

102 commits

mayk-zoom

49 commits

endazoom

45 commits

vicyang-zoom

36 commits

Languages

TypeScript

90.1%

SCSS

9.1%