ClearChat

Feature · 7 min read

Screen sharing in a browser, explained

What the screen, window and tab options each expose, why shared audio is inconsistent, what iOS can't do, and how to share without leaking the rest of your desktop.

Browsers can capture your screen and send it into a call without any extension, through a single API called getDisplayMedia(). What you get back is an ordinary video track — the same kind a webcam produces — which is why it can be dropped into a call already in progress.

Screen, window or tab — and what each one exposes

When you start a share, the browser (not the website) shows a picker. The site never chooses for you, and never sees anything until you pick something. The options behave differently:

If you only need to show one thing, share a tab or a window rather than the whole screen. It's the single biggest reduction in accidental exposure available to you.

Audio is the inconsistent part

Screen sharing with sound is uneven across platforms, and it's the most common surprise.

Chromium browsers can capture audio from a shared tab, and on Windows can capture system audio with the whole screen. On macOS, capturing system audio generally isn't offered, because the OS doesn't expose it to browsers without extra software. Firefox and Safari are more limited again.

The practical rule: if the sound matters, test it beforehand on the machine you'll use. Sharing a video with no audio reaching the far end is a classic, and it's invariably discovered live.

Note that shared audio and your microphone are separate tracks. Muting your microphone does not mute what the shared tab is playing.

Platform limits worth knowing

Why quality differs from your camera

Screen content and faces are opposite problems. A face is soft and constantly moving; a page of text is sharp, static, and unforgiving of compression — blurred text is unreadable in a way a slightly blurred face isn't.

Browsers expose a contentHint for this: "text" or "detail" tells the encoder to protect sharpness over frame rate, while "motion" does the opposite. If a share looks mushy, it's usually the encoder spending its bitrate on frames instead of detail. Sharing a smaller region also helps — fewer pixels, more bits for each one.

Adding a share to a call already running

A share doesn't require reconnecting. The outgoing video track is swapped in place with replaceTrack(), described in how WebRTC opens a call, and swapped back to the camera when you stop. The connection, the encryption and the chat all continue undisturbed.

This is also why stopping a share from the browser's own “Stop sharing” bar behaves the same as using the button in the call — both end the capture, and the camera returns.

A short checklist before you share

  1. Turn on Do Not Disturb. Notification banners are the classic leak.
  2. Close or sign out of anything with private content — mail, messages, password managers.
  3. Prefer a single tab or window over the whole screen.
  4. If sound matters, test it first on this machine.
  5. Remember a shared window keeps sharing even when you look at something else.

Screen sharing sends whatever you point it at, and the person on the other end sees it immediately. It's worth ten seconds of preparation.

← All guides · Start a call