Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Video.js - open source HTML5 & Flash video player
JavaScript CSS Other
Failed to load latest commit information.
build @misteroneill create video.novtt.js in dist builds. closes #2447
docs Removed Microsoft Caption Maker dead link
lang @misteroneill fixed a potential issue with vertical sliders by replac…
sandbox Don't use setGlobalOptions in sandbox
src @gkatsev fixed the default state of userActive
test @heff removed playerOptions from plugin options because it created an…
.editorconfig Added .editorconfig and travis CI badge
.gitignore Removing dist again in favor of some dark git magic
.jshintrc @eXon began Tech 2.0 work, improved how tech events are handled by th…
.npmignore @gkatsev made the sass files available via npm in src/css. closes #2546
.travis.yml @forbesjo switched automated testing to BrowserStack. closes #2492 @gkatsev fixed the default state of userActive Delete the duplicated 'a'
Gruntfile.js build: @gkatsev updated the Gruntfile to use ES6. closes #2106
LICENSE More build and testing cleanup. Also some reorganization. @forbesjo switched automated testing to BrowserStack. closes #2492
bower.json build: bower.json: remove moot `version` field
component.json v5.0.0-rc.75
composer.json Added a composer.json for PHP packages. closes #1241
contrib.json Fixed prerelease task to update master
grunt.js @heff added back the default cdn url for the swf
package.json v5.0.0-rc.75

Please Note!

The master branch is now the development branch for 5.0 and should be considered unstable until the first 5.0 release. If you're looking for the most recent stable release, please refer to the stable branch.

Video.js logo

Video.js - HTML5 Video Player Build Status

Video.js is a web video player built from the ground up for an HTML5 world. It supports HTML5 and Flash video, as well as YouTube and Vimeo (through plugins). It supports video playback on desktops and mobile devices. This project was started mid 2010, and the player is now used on over 50,000 100,000 websites.

Quick start

Thanks to the awesome folks over at Fastly, there's a free, CDN hosted version of Video.js that anyone can use. Simply add these includes to your document's <head>:

<link href="" rel="stylesheet">
<script src=""></script>

Then, whenever you want to use Video.js you can simply use the <video> element as your normally would, but with an additional data-setup attribute containing any Video.js options. These options can include any Video.js option plus potential plugin options, just make sure they're valid JSON!

<video id="really-cool-video" class="video-js vjs-default-skin" controls
 preload="auto" width="640" height="264" poster="really-cool-video-poster.jpg"
  <source src="really-cool-video.mp4" type='video/mp4'>
  <source src="really-cool-video.webm" type='video/webm'>
  <p class="vjs-no-js">
    To view this video please enable JavaScript, and consider upgrading to a web browser
    that <a href="" target="_blank">supports HTML5 video</a>

If you don't want to use auto-setup, you can leave off the data-setup attribute and initialize a video element manually.

var player = videojs('really-cool-video', { /* Options */ }, function() {
  console.log('Good to go!');; // if you don't trust autoplay for some reason

  // How about an event listener?
  this.on('ended', function() {
    console.log('awww...over so soon?');

If you're ready to dive in, the documentation is the first place to go for more information. Generally the player API docs are the most pertinent.


Video.js is a free and open source library, and we appreciate any help you're willing to give. Check out the contributing guide.

Video.js uses BrowserStack for compatibility testing

Building your own Video.js from source

To build your own custom version read the section on contributing code and "Building your own copy" in the contributing guide.


Video.js is licensed under the Apache License, Version 2.0. View the license file

Copyright 2014-2015 Brightcove, Inc.

Something went wrong with that request. Please try again.