The removetrack event on MediaStream fires when a MediaStreamTrack is removed from the stream. Learn MDN’s addEventListener and onremovetrack patterns, the MediaStreamTrackEvent.track property, pairing with removeTrack(), and how this differs from the addtrack event—with five examples and try-it labs.
01
Kind
Instance event
02
Type
TrackEvent
03
Property
event.track
04
Bubble
no
05
Trigger
removeTrack
06
Status
Baseline Jul 2020
Fundamentals
Introduction
Streams change over time—tracks leave when peers disconnect, screen shares end, or you call removeTrack() on a composed stream. The removetrack event tells you when a track left the stream so you can update UI, detach from a <video> element, or log diagnostics.
MDN: the event is a MediaStreamTrackEvent with a read-only track property for the removed track. It is not cancelable and does not bubble. Listen with stream.addEventListener("removetrack", handler) or stream.onremovetrack = handler.
💡
Beginner tip
Register the listener before calling removeTrack() so you do not miss the event.
Concept
Understanding the removetrack Event
An instance event on MediaStream that signals a track was removed from the stream’s track set.
Event name — "removetrack" (lowercase, one word).
Event type — MediaStreamTrackEvent (inherits Event).
Key property — event.track: the MediaStreamTrack that was removed.
The MediaStreamremovetrack event is marked Baseline Widely available on MDN (since July 2020). Logos use the shared browser-image-sprite.png sprite from this project.
✓ Baseline · Widely available
MediaStream removetrack event
Fires when a MediaStreamTrack is removed from a MediaStream.
UniversalWidely available
Google ChromeFull support · Desktop & Mobile
Full support
Mozilla FirefoxFull support · Desktop & Mobile
Full support
Apple SafariFull support · macOS & iOS
Full support
Microsoft EdgeFull support · Chromium
Full support
OperaFull support · Modern versions
Full support
Internet ExplorerNo MediaStream removetrack
Not supported
MediaStream removetrackExcellent
Bottom line: Listen for removetrack to react when tracks leave a MediaStream.
Wrap Up
Conclusion
The removetrack event fires on a MediaStream when a MediaStreamTrack is removed. Listen with addEventListener or onremovetrack, then read event.track in your handler. MDN: the event is not cancelable and does not bubble—pair it with removeTrack() for manual stream composition.
Register the listener after tracks are already removed
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about removetrack
React when tracks leave a MediaStream.
5
Core concepts
🔔01
Name
removetrack
Event
🔗02
Type
TrackEvent
Object
📦03
Track
event.track
Property
📄04
No bubble
not cancel
Rules
🎯05
Baseline
since Jul 2020
Status
❓ Frequently Asked Questions
When a MediaStreamTrack is removed from a MediaStream—for example after calling removeTrack(track) on that stream.
No. MDN marks the removetrack event as Baseline Widely available (since July 2020). It is not Deprecated, Experimental, or Non-standard.
A MediaStreamTrackEvent. It inherits from Event and includes a read-only track property with the MediaStreamTrack that was removed.
No. MDN says the event is not cancelable and does not bubble.
removeTrack() is the method that detaches a track from the stream. removetrack is the event that fires after a track has been removed—you listen with addEventListener or onremovetrack.
addtrack fires when a track is added to a MediaStream—for example after addTrack(track). It is the counterpart to removetrack.
Did you know?
MDN documents the same removetrack event name on AudioTrackList and VideoTrackList targets for HTML media elements—but on MediaStream it fires when tracks leave the stream’s track set.