# Text Annotation not appearing in Zoom Video SDK React UI Toolkit

**URL:** <https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063>\
**Category:** Web\
**Tags:** api, video-sdk, sdk\
**Created:** [October 15, 2025, 6:18am UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063 "2025-10-15T06:18:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![krishnan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/krishnan/32/70609_2.png) [@krishnan](https://devforum.zoom.us/u/krishnan)\
**Post date:** [October 15, 2025, 6:18am UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063/1 "2025-10-15T06:18:39Z")

</div>

I’ve integrated the **Zoom Video SDK React UI Toolkit** into my project and enabled the annotation feature.  
Drawing and pointer annotations work as expected, but **text annotation (typing text on the shared screen)** is not showing up or available in the toolbar.

I would like to confirm:

1. Is **text annotation** currently supported in the Video SDK (Web / React UI Toolkit)?

2. If not, is there any plan to include text annotation support in future updates?

3. Are there any suggested workarounds to implement text annotation manually?

* * *

### **Browser Console Error**

No specific console errors. The annotation toolbar loads normally, but text annotation tools are missing.

 ![image](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/3/a/3ab72d66507316fb56492b13ec26715cc1f4ac40.png)

* * *

### **Which Web Video SDK version?**

version: **v2.2.10-1**  
[zoom/videosdk-ui-toolkit-web: The Zoom Video SDK UI toolkit is a prebuilt video chat user interface powered by the Zoom Video SDK](https://github.com/zoom/videosdk-ui-toolkit-web)

---

<div class="post-metadata">

**Author:** ![ticorrian.heard](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ticorrian.heard/32/70213_2.png) [@ticorrian.heard](https://devforum.zoom.us/u/ticorrian.heard)\
**Post date:** [October 20, 2025, 6:50pm UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063/2 "2025-10-20T18:50:20Z")

</div>

Hi @krishnan At the moment, text annotation is not a supported for the Web Video SDK or UIToolkit. It is possible to implement this feature using Web Video SDK Share processors and drawing the desired text directly onto the canvas frame: [Video SDK - web - Raw data - share](https://developers.zoom.us/docs/video-sdk/web/raw-data-share/)

---

<div class="post-metadata">

**Author:** ![krishnan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/krishnan/32/70609_2.png) [@krishnan](https://devforum.zoom.us/u/krishnan)\
**Post date:** [October 28, 2025, 8:59am UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063/3 "2025-10-28T08:59:42Z")

</div>

After using ShareProcessor

```auto
class TextAnnotationProcessor extends ShareProcessor {

……
…………

  async processFrame(input, output) {

```

**Works perfectly:** Full desktop screen sharing - annotations update in real-time

**Problem:** Single app window screen sharing - annotations only appear when I hover over the shared app

When sharing a single application window, the `processFrame()` method in my ShareProcessor only triggers when I interact with (hover/click) the shared application window.

This appears to be because the OS only provides new video frames to the capture system when the application window actually repaints/updates. Static windows don’t generate paint events, so no new frames are fed to the ShareProcessor pipeline.

So, my questions:

1. **UI Toolkit Implementation:** Annotations perfectly working for single app screenshare in ReactJS UI toolkit. How does the Web UI Toolkit handle annotations for single app screen sharing?

2. **Alternative Approaches:** Would a chat-based annotation system (sending x,y coordinates and text via Zoom’s messaging system and rendering as DOM overlays) be a viable alternative?

3. **Recording Considerations:** If we implement overlay-based annotations (not baked into the video stream), How can we include these annotations in recording session?

---

<div class="post-metadata">

**Author:** ![ticorrian.heard](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ticorrian.heard/32/70213_2.png) [@ticorrian.heard](https://devforum.zoom.us/u/ticorrian.heard)\
**Post date:** [October 28, 2025, 3:28pm UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063/4 "2025-10-28T15:28:57Z")

</div>

Hi @krishnan happy to see you checked out the Share Processor! You are correct, processFrame will only send new frames when repaints or movement on the page is detected. For the annotation use case, the way I would implement this is starting and stopping the processor when the annotation needs to occur based on post message events. By starting the processor, it is guaranteed to run at least once. With this in mind, you could draw the annotation and stop the processor. When another annotation is needed, you start the processor again. You could save the x,y coordinates of these annotations to save the previous annotations.

To answer your questions:

1. **UI Toolkit Implementation:** Annotations perfectly working for single app screenshare in ReactJS UI toolkit. How does the Web UI Toolkit handle annotations for single app screen sharing

- The UItoolkit implements the annotation included in the share feature of the Video SDK. This includes various drawing tools that the SDK itself implements

1. **Alternative Approaches:** Would a chat-based annotation system (sending x,y coordinates and text via Zoom’s messaging system and rendering as DOM overlays) be a viable alternative

- I can see a use case where you can use the [command channel](https://developers.zoom.us/docs/video-sdk/web/command-channel/)feature for this.

1. **Recording Considerations:** If we implement overlay-based annotations (not baked into the video stream), How can we include these annotations in recording session?

- While this is possible on the client device, the caveat is only cloud recording is supported with the Web Video SDK. So only media data captured within the mediaStream will be recorded

---

<div class="post-metadata">

**Author:** ![krishnan](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/krishnan/32/70609_2.png) [@krishnan](https://devforum.zoom.us/u/krishnan)\
**Post date:** [October 29, 2025, 9:33am UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063/5 "2025-10-29T09:33:19Z")

</div>

`For the annotation use case, the way I would implement this is starting and stopping the processor when the annotation needs to occur based on post message events.`

Does that mean my issue (single app screen-share annotation problem) can be fixed by implementing processor start/stop?  
If not, which method can be used to add text annotation directly to the stream from canvas ?

---

<div class="post-metadata">

**Author:** ![ekaansh.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ekaansh.zoom/32/55004_2.png) [@ekaansh.zoom](https://devforum.zoom.us/u/ekaansh.zoom)\
**Post date:** [November 12, 2025, 9:38am UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063/6 "2025-11-12T09:38:53Z")

</div>

Hi @krishnan, thanks for the feedback!

We’re building support for your use-case with a new config value that will allow the screenshare processor to be set up with a fixed capture rate. This will allow you to update the screenshare processor frame for “single app screen-share” at a fixed rate. For example with 30 FPS, it’ll be 30 times each second. We’ll be releasing this in an upcoming version of the SDK for you, I’ll update the thread here when this is available to use.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [November 12, 2026, 9:38am UTC](https://devforum.zoom.us/t/text-annotation-not-appearing-in-zoom-video-sdk-react-ui-toolkit/138063/7 "2026-11-12T09:38:57Z")

</div>

Closed on November 12, 2026, 9:38am UTC

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
