Hide the YouTube UI completely.
Deliver a fully branded popup video experience.
See what TubePlayer can do — hands on.
Embed videos directly on the page — no popup required.
Set up a YouTube player — popup or inline — in just a few lines of code.
Add TubePlayer to your project via npm or CDN.
npm install tubeplayer
<!-- CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/tubeplayer/dist/style.css" />
<!-- JS (UMD) -->
<script src="https://cdn.jsdelivr.net/npm/tubeplayer/dist/tubeplayer.umd.js"></script>
Declare the player using data attributes. Choose Popup for a layer overlay, or Inline to embed directly on the page.
[data-tube-layer] — Popup
data-tube-layer |
string | — | |
data-tube-animation |
"fade" | "fade" | |
data-tube-close-on-dim |
boolean | true |
[data-tube-youtube] / [data-tube-inline]
data-tube-youtube |
string | — | |
data-tube-inline |
string | — | |
data-tube-autoplay |
boolean | true / false | |
data-tube-muted |
boolean | false | |
data-tube-theme |
"dark" | "dark" | |
data-tube-controls |
string | — | |
data-tube-start |
number | 0 | |
data-tube-loop |
boolean | false | |
data-tube-poster |
string | — | |
data-tube-close-on-end |
boolean | false | |
data-tube-no-interaction |
boolean | false |
Import the script and call TubePlayer.init().
import TubePlayer from 'tubeplayer';
import 'tubeplayer/style.css';
TubePlayer.init();
Get a layer instance with TubePlayer.get(id) and subscribe to events.