23 best JavaScript Video Player libraries in 2025
by meenakshi@openweaver.com Updated: Sep 1, 2021
Guide Kit
JavaScript video players are the platforms of choice for developers as they make website development simpler and enable multiple features like playback, streaming, and animation for your web application. Video.Js, Java’s web video player, built for HTML5, supports all modern streaming formats, making it the most popular video player platform around the world. It supports YouTube, Video, Flash, and similar formats, both on mobile devices and desktops. JavaScript’s dynamic and flexible functionalities support both front-end and back-end development, testing, and implementation. Developers can add micro-interactions and multiple image effects, move DOM elements on the JS platform, and implement advanced animation elements in their projects. It gives an edge over HTML and CSS owing to its features and compatibility with major iOS, browser, and Android applications.Here are our 23 top JavaScript video player, open-source libraries in 2021, which can be added to your web application to produce advanced videos by animating DOM elements and adding SVG images. Jitsi Meet enables high-quality and secure video conferences on the Jitsi Videobridge without any extra installation on your computer, as well as editing features with Etherpad. Streama’s self-hosted streaming media server lets you digitalize your catalog of movies and shows to create a personal library, like Netflix or Hulu. FancyBox, on the other hand, uses a jQuery lightbox script to display images, videos, and other media. Its ecosystem can be made touch-enabled and fully customizable to create the best experience for users.
video.jsby videojs
Video.js - open source HTML5 video player
video.jsby videojs
JavaScript
35727
Version:v8.5.0
License: Others (Non-SPDX)
jitsi-meetby jitsi
Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
jitsi-meetby jitsi
TypeScript
19887
Version:stable/jitsi-meet_8719
License: Permissive (Apache-2.0)
DPlayerby DIYgod
:lollipop: Wow, such a lovely HTML5 danmaku video player
DPlayerby DIYgod
JavaScript
14143
Version:v1.27.0
License: Permissive (MIT)
hls.jsby video-dev
HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
hls.jsby video-dev
TypeScript
12981
Version:v1.4.6
License: Others (Non-SPDX)
lossless-cutby mifi
The swiss army knife of lossless video/audio editing
lossless-cutby mifi
JavaScript
17298
Version:v3.55.2
License: Strong Copyleft (GPL-2.0)
streamaby streamaserver
Self hosted streaming media server. https://docs.streama-project.com/
streamaby streamaserver
JavaScript
9347
Version:v1.10.4
License: Permissive (MIT)
nuclearby nukeop
Streaming music player that finds free music for you
nuclearby nukeop
TypeScript
10268
Version:v0.6.21
License: Strong Copyleft (AGPL-3.0)
Google-Play-Music-Desktop-Player-UNOFFICIAL-by MarshallOfSound
A beautiful cross platform Desktop Player for Google Play Music
Google-Play-Music-Desktop-Player-UNOFFICIAL-by MarshallOfSound
JavaScript
8340
Version:v4.7.1
License: Permissive (MIT)
mediaelementby mediaelement
HTML5 <audio> or <video> player with support for MP4, WebM, and MP3 as well as HLS, Dash, YouTube, Facebook, SoundCloud and others with a common HTML5 MediaElement API, enabling a consistent UI in all browsers.
bigbluebuttonby bigbluebutton
Complete open source web conferencing system.
bigbluebuttonby bigbluebutton
JavaScript
8004
Version:v2.5.18
License: Weak Copyleft (LGPL-3.0)
fancyboxby fancyapps
jQuery lightbox script for displaying images, videos and more. Touch enabled, responsive and fully customizable.
fancyboxby fancyapps
JavaScript
7268
Version:v3.5.7
License: No License
vanilla-lazyloadby verlok
LazyLoad is a lightweight, flexible script that speeds up your website by deferring the loading of your below-the-fold images, backgrounds, videos, iframes and scripts to when they will enter the viewport. Written in plain "vanilla" JavaScript, it leverages IntersectionObserver, supports responsive images and enables native lazy loading.
vanilla-lazyloadby verlok
JavaScript
7317
Version:17.8.3
License: Permissive (MIT)
simple-peerby feross
📡 Simple WebRTC video, voice, and data channels
simple-peerby feross
JavaScript
6751
Version:Current
License: Permissive (MIT)
APlayerby DIYgod
:lollipop: Wow, such a beautiful HTML5 music player
APlayerby DIYgod
JavaScript
6670
Version:v1.10.1
License: Permissive (MIT)
gififyby vvo
😻 Convert any video file to an optimized animated GIF.
gififyby vvo
JavaScript
6051
Version:Current
License: Permissive (ISC)
react-playerby cookpete
A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion
react-playerby cookpete
JavaScript
7814
Version:Current
License: Permissive (MIT)
shaka-playerby google
JavaScript player library / DASH & HLS client / MSE-EME player
shaka-playerby google
JavaScript
5536
Version:v3.1.6
License: Permissive (Apache-2.0)
xgplayerby bytedance
A HTML5 video player with a parser that saves traffic
xgplayerby bytedance
JavaScript
6197
Version:Current
License: Permissive (MIT)
butter-desktopby butterproject
All the free parts of Popcorn Time
butter-desktopby butterproject
JavaScript
4330
Version:v0.3.9-flatpak0-a
License: Strong Copyleft (AGPL-3.0)
bideo.jsby rishabhp
Fullscreen HTML5 Background Video for the Web.
bideo.jsby rishabhp
JavaScript
4283
Version:Current
License: No License
vue-video-playerby surmon-china
🎞 @videojs component for @vuejs
vue-video-playerby surmon-china
JavaScript
3886
Version:v2.4.4
License: Permissive (MIT)
accessible-html5-video-playerby paypal
Accessible HTML5 Video Player
accessible-html5-video-playerby paypal
JavaScript
2362
Version:Current
License: Permissive (BSD-3-Clause)
chimeeby Chimeejs
a video player framework aims to bring wonderful experience on browser
chimeeby Chimeejs
JavaScript
2386
Version:0.11.0
License: Permissive (MIT)
video-reactby video-react
A web video player built for the HTML5 world using React library.
video-reactby video-react
JavaScript
2496
Version:0.15.0
License: Permissive (MIT)
playbackby mafintosh
Video player built using electron and node.js
playbackby mafintosh
JavaScript
1974
Version:v1.6.0
License: Permissive (MIT)
flowplayerby flowplayer
The HTML5 video player for the web
flowplayerby flowplayer
JavaScript
1904
Version:Current
License: Others (Non-SPDX)
videogularby videogular
The HTML5 video player for AngularJS
videogularby videogular
JavaScript
1485
Version:v2.2.1
License: Permissive (MIT)
sewise-playerby jackzhang1204
HTML5 Video Player
sewise-playerby jackzhang1204
JavaScript
1251
Version:2.5.2
License: Others (Non-SPDX)
ArtPlayerby zhw2590582
:art: ArtPlayer.js is a modern and full featured HTML5 video player
ArtPlayerby zhw2590582
JavaScript
1797
Version:5.0.9
License: Permissive (MIT)
vue-plyrby redxtech
A Vue component for the plyr (https://github.com/sampotts/plyr) video & audio player.
vue-plyrby redxtech
JavaScript
723
Version:Current
License: Others (Non-SPDX)
react-native-video-controlsby itsnubix
A React Native video component with controls
react-native-video-controlsby itsnubix
JavaScript
592
Version:Current
License: Permissive (MIT)
fluid-playerby fluid-player
Fluid Player - an open source VAST compliant HTML5 video player
fluid-playerby fluid-player
JavaScript
686
Version:v3.16.0
License: Permissive (MIT)
qier-playerby vortesnail
:clapper: A simple and easy-to-use h5 video player with highly customizable UI and rich features. / 简单易用的h5播放器,UI 高度定制化,功能丰富。
qier-playerby vortesnail
TypeScript
462
Version:Current
License: Permissive (MIT)
react-native-video-playerby cornedor
A video player for React Native with controls
react-native-video-playerby cornedor
JavaScript
426
Version:v0.9.0
License: Permissive (MIT)
react-media-playerby souporserious
React audio and video player.
react-media-playerby souporserious
JavaScript
414
Version:Current
License: Permissive (ISC)
frame-playerby vagnervjs
A video player without video files, just JSON. Based on 'images frames' thought to mobile devices!
frame-playerby vagnervjs
JavaScript
386
Version:v0.2.2
License: No License
videojs-resolution-switcherby kmoskwiak
Resolution switcher adds the ability to select the video quality in video.js player.
videojs-resolution-switcherby kmoskwiak
JavaScript
379
Version:Current
License: Others (Non-SPDX)
mediaelement-pluginsby mediaelement
Plugins for the main mediaelement project
mediaelement-pluginsby mediaelement
JavaScript
387
Version:2.6.6
License: No License
PiPToolby bfmatei
Add the Picture-in-Picture Functionality to YouTube, Netflix, Plex and other video broadcasting services in macOS Sierra
PiPToolby bfmatei
JavaScript
337
Version:1.8.2
License: Strong Copyleft (GPL-3.0)
video-js-swfby videojs
Custom Flash Player for VideoJS
video-js-swfby videojs
JavaScript
332
Version:Current
License: Others (Non-SPDX)
youtube-playerby gajus
YouTube iframe API abstraction.
youtube-playerby gajus
JavaScript
326
Version:v5.6.0
License: Others (Non-SPDX)
eplayerby yisar
:crystal_ball: A web-component html5 video player facing future
eplayerby yisar
JavaScript
269
Version:Current
License: No License
flarevideoby maccman
HTML5 & Flash Video Player
flarevideoby maccman
JavaScript
248
Version:Current
License: Permissive (MIT)
voraciousby rsimmons
A video player for studying foreign languages (esp. Japanese)
voraciousby rsimmons
JavaScript
217
Version:v0.6.1
License: Permissive (MIT)
projekktorby frankyghost
The Free Web Video Player
gindex-v4by tks18
A Vue Js Based G Index with Improved Dark Mode, Search and Video Player
gindex-v4by tks18
JavaScript
189
Version:version-manager-0.1.0.100
License: Strong Copyleft (GPL-3.0)
min-vidby meandavejustice
Popout video player in Firefox
min-vidby meandavejustice
JavaScript
180
Version:Current
License: Weak Copyleft (MPL-2.0)
xgplayer-vueby bytedance
Vue component for xgplayer, a HTML5 video player with a parser that saves traffic
xgplayer-vueby bytedance
JavaScript
169
Version:Current
License: Permissive (MIT)
rockplayerby ziyang0116
A cross-platform video player based on electron and ffmpeg.
rockplayerby ziyang0116
JavaScript
162
Version:Current
License: Permissive (Apache-2.0)
react-native-vlc-media-playerby razorRun
React native media player for video streaming and playing. Supports RTSP, RTMP and other protocols supported by VLC player
react-native-vlc-media-playerby razorRun
JavaScript
256
Version:1.0.17
License: Permissive (MIT)
ng-youtube-embedby ArunMichaelDsouza
AngularJS module to embed Youtube videos with support for Youtube player parameters and JavaScript API for iframe embeds. Superlight (less than 5KB) and easy to use! Supports Youtube video URLs and IDs. No 3rd party JS dependencies.
ng-youtube-embedby ArunMichaelDsouza
JavaScript
138
Version:v1.7.8
License: Permissive (MIT)
react-jPlayerby jplayer
Html5 audio and video player library for React
react-jPlayerby jplayer
JavaScript
132
Version:v7.1.3
License: Permissive (MIT)
ws-avc-playerby matijagaspar
Video player for browser that is able to play realtime low latency h264 video stream from websocket.
ws-avc-playerby matijagaspar
JavaScript
139
Version:v1.0.0
License: Permissive (BSD-3-Clause)
html5-video-everywhereby tikservices
Higher performance and stable video watching experience on the web
html5-video-everywhereby tikservices
JavaScript
117
Version:v0.5
License: Weak Copyleft (MPL-2.0)
Bootstrap-video-player-jQuery-pluginby html5-ninja
A customizable HTML5 video player plugin for jQuery based on bootstrap UI , live demo available on
Bootstrap-video-player-jQuery-pluginby html5-ninja
JavaScript
110
Version:Current
License: No License