Agora React VideoUIKit

Instantly integrate Agora video calling or streaming into your web application using a React based VideoUIKit.

NPM JavaScript Style Guide

Getting started



To a react application, add the following:

npm i agora-react-uikit


This UIKit contains a high level component called AgoraUIKit. You can check out code explanation here.

A simple sample app integrating Agora UI Kit:

import React, {useState} from 'react';
import AgoraUIKit from 'agora-react-uikit';

const App = () => {
const [videoCall, setVideoCall] = useState(true);
const rtcProps = {
appId: '<Agora App ID>',
channel: 'test', // your agora channel
token: '<Your channel Token>' // use null or skip if using app in testing mode
const callbacks = {
EndCall: () => setVideoCall(false),
return videoCall ? (
<div style={{display: 'flex', width: '100vw', height: '100vh'}}>
<AgoraUIKit rtcProps={rtcProps} callbacks={callbacks} />
) : (
<h3 onClick={() => setVideoCall(true)}>Start Call</h3>

export default App;

Insert your Agora AppID and Token.

Demo Project

There's a demo project in the repo here.

Instructions for running the demo:

  1. Add your Agora App ID to /example/src/App.tsx
  2. Run npm start to start the bundler to build the library
  3. Execute cd example && npm start to run the example app


For full documentation, see our docs page.

You can visit the wiki for other examples and in depth guide.

You can also export the UIKit to use outside a React project (for example in a vanilla-js project) using web-components. Find out more in the /web-component directory.


The plan is to grow this library and have similar offerings across all supported platforms. There are already similar libraries for Android, iOS, React Native, and Flutter, so be sure to check them out.

Generated using TypeDoc