Zoom Video SDK web sample
137
stars
248
commits
TypeScript
primary language
Aug 10, 2026
updated
⚠️ 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.

To get started, clone the repo:
$ git clone https://github.com/zoom/videosdk-web-sample.git
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.
Once cloned, navigate to the videosdk-web-sample directory:
$ cd videosdk-web-sample
Then install the dependencies:
$ npm install
Open the directory in your code editor.
Open the src/config/dev.ts file and enter required session values for the variables:
| Key | Value Description |
|---|---|
sdkKey | Your Video SDK Key. Required. |
sdkSecret | Your Video SDK Secret. Required. |
topic | Required, a session name of your choice or the name of the session you are joining. |
name | Required, a name for the participant. |
password | Optional, 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.
Save dev.ts.
Run the app:
$ npm start
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.
"@zoom/videosdk": "1.12.17-zfg",
zmClient.init('en-US', 'Global');
zmClient.init('en-US', `https://source.zoomgov.com/videosdk/1.11.0/lib`, {
webEndpoint: "www.zoomgov.com",
});
If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.
TypeScript
90.1%
SCSS
9.1%
Zoom Video SDK web sample
137
stars
248
commits
TypeScript
primary language
Aug 10, 2026
updated
⚠️ 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.

To get started, clone the repo:
$ git clone https://github.com/zoom/videosdk-web-sample.git
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.
Once cloned, navigate to the videosdk-web-sample directory:
$ cd videosdk-web-sample
Then install the dependencies:
$ npm install
Open the directory in your code editor.
Open the src/config/dev.ts file and enter required session values for the variables:
| Key | Value Description |
|---|---|
sdkKey | Your Video SDK Key. Required. |
sdkSecret | Your Video SDK Secret. Required. |
topic | Required, a session name of your choice or the name of the session you are joining. |
name | Required, a name for the participant. |
password | Optional, 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.
Save dev.ts.
Run the app:
$ npm start
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.
"@zoom/videosdk": "1.12.17-zfg",
zmClient.init('en-US', 'Global');
zmClient.init('en-US', `https://source.zoomgov.com/videosdk/1.11.0/lib`, {
webEndpoint: "www.zoomgov.com",
});
If you're looking for help, try Developer Support or our Developer Forum. Priority support is also available with Premier Developer Support plans.
TypeScript
90.1%
SCSS
9.1%