Etro is an Open-source JavaScript Library for Editing Videos in the Browser

Etro is an Open-source JavaScript Library for Editing Videos in the Browser
Photo by Jakob Owens / Unsplash

Etro is a powerful and versatile TypeScript framework that provides you with the tools to fully unleash your creativity when it comes to video editing. With Etro, you can do so much more than just simple video editing. You have the ability to composite multiple layers, each with their own unique properties and effects, allowing you to create stunning and visually appealing videos.

One of the great features of Etro is its extensive library of built-in layers. These layers include text, video, audio, and images, giving you endless possibilities for incorporating different media elements into your videos. Whether you want to add captivating text overlays, captivating video clips, immersive audio tracks, or captivating images, Etro has got you covered.

But that's not all! Etro also comes with a wide range of GLSL effects that you can apply to your layers. These effects add an extra touch of style and sophistication to your videos, allowing you to create truly unique and visually stunning masterpieces. From simple color adjustments to complex visual transformations, the GLSL effects in Etro give you the power to take your videos to the next level.

And if all of that is not enough, Etro also gives you the freedom to define your own custom layers and effects using JavaScript and GLSL. This means that you can create your own unique elements and effects, tailored specifically to your creative vision. The possibilities are truly endless with Etro.


  • Etro is shipped with video, audio, image and text sources. You can easily create your own, too.
  • Hardware Accelerated Filters: Hardware accelerated GLSL shaders for video effects. Use Etro's built-in effects or write your own.
  • Play, Stream and Record: Play the result to an HTML canvas element, stream it with WebRTC or record it to a blob.
  • Experience real-time rendering and save your creations as a blob file (offline rendering capabilities coming soon)
  • Customize your layer and effect parameters by defining them as keyframes or using custom functions
  • Take control of audio manipulation with the powerful web audio API (stay tuned for upcoming audio effects)
  • Expand your creativity by writing your own effects using JavaScript and GLSL
  • Utilize the built-in hardware accelerated effects to enhance your videos
  • Composite video and audio layers


  • Distributed under GNU General Public License v3.


GitHub - etro-js/etro: Typescript video-editing framework for the browser
Typescript video-editing framework for the browser - GitHub - etro-js/etro: Typescript video-editing framework for the browser
Etro - TypeScript video-editing framework for the web | Etro
Composite video content, write custom effects and stream with WebRTC right in the browser

Open-source Apps


Medical Apps




Dev. Resources