Skip to content
GPLWP Guides

How to add a video player to WordPress

Media & Galleries Time About 15 minutes 6 steps Updated 2 Sep 2026

MEDIA & GALLERIES
The short answer

WordPress can add a basic video player without a plugin. Use the Video block for an uploaded file, or paste a YouTube or Vimeo URL to create an embed; install a dedicated player plugin only when you need analytics, playlists, captions, or interactive features.

The route
  1. 01Choose where to host the video
  2. 02Add the video block
  3. 03Set the player options
  4. 04Add captions and a caption
  5. 05Publish and check playback
  6. 06Use a dedicated player when needed

What you need

  • A WordPress site with permission to edit posts or pages
  • A video file or a published video URL
  • A poster image and WebVTT caption file if required

Choose where to host the video

Decide whether the video should come from YouTube or Vimeo, your WordPress Media Library, or a dedicated video service. An external embed avoids uploading the file to your site, while a self-hosted video gives you more control but uses your site’s storage and bandwidth. WordPress supports both approaches through its built-in blocks.

For one or two ordinary videos, the built-in route is usually enough. Choose a dedicated player when you need branded controls, viewer analytics, playlists, calls to action, or interactive content.

Add the video block

Edit the post or page, select the + button, and search for Video. The block offers Upload, Media Library, and Insert from URL. You can also type /video in an empty paragraph to insert it quickly.

For YouTube, Vimeo, or another supported service, paste the video URL on its own line. WordPress can turn the URL into the matching embed block, so you do not normally need to copy iframe code.

Set the player options

Select the video block and open the settings sidebar. Keep the playback controls enabled, then choose a suitable alignment and width. Set a poster image if the first frame is not a useful preview. The poster image appears before playback starts.

Use autoplay sparingly. Browsers and mobile devices may block autoplay, especially when the video has sound, and device settings such as low-power mode can also prevent it. Do not make autoplay the only way visitors can start the video.

Add captions and a caption

Use Add caption below the player for a short description. For timed subtitles or accessibility captions, open the block toolbar’s Text tracks option and upload a .vtt WebVTT file. Give the track a readable label, select its language, and choose the correct kind, such as Subtitles or Captions.

Preview the published page and turn the captions on from the player controls. A caption file that has invalid timings or an incorrect language setting may upload but fail to display correctly.

Publish and check playback

Save or publish the page, then check it in a private browser window on desktop and mobile. Confirm that the video loads, the controls work, the poster appears, and the captions can be selected. Also check the page without being logged in, because a private or restricted external video may be visible to you but unavailable to visitors.

If a self-hosted file fails, open its media URL directly. If it does not play there, replace or re-encode the file in a format supported by the visitor’s browsers. If an external embed shows a blank area, confirm that the source video is public or embeddable and paste its normal video URL rather than a private dashboard URL.

Use a dedicated player when needed

The built-in Video block is the fast, sensible choice for a basic player. If you need a more controlled presentation, install Presto Player from the WordPress admin area and configure its player settings before replacing your basic embeds. It is designed for WordPress sites that need custom skins, YouTube and Vimeo support, self-hosted videos, analytics, captions, playlists, and interactive elements.

Choose this route when those features justify an extra plugin. Keep the manual block instead for a simple video, because adding a plugin only to display one ordinary clip creates another component to maintain.

The fast route

Let Presto Player do it

Customizable player with analytics, captions, playlists, and interactive elements for sites needing more than basic video embeds.

Get Presto Player

Sources

  1. wordpress.org /documentation/article/video-block/?utm_source=openai
  2. wordpress.org /documentation/article/embeds/?utm_source=openai
  3. wordpress.com /support/wordpress-editor/blocks/video-block/?utm_source=ope…

Questions

Does WordPress have a video player built in?
Yes, WordPress includes a Video block that uploads a file, selects one from the Media Library, or inserts a video URL. It provides normal playback controls, a poster image, autoplay, looping, muted playback, captions, and text tracks. You do not need a plugin for a straightforward video, although advanced analytics, playlists, and interactive features normally require a dedicated player plugin.
Should I upload the video to WordPress or embed YouTube?
Embed YouTube or Vimeo when you want to avoid storing the video on your WordPress server. Upload it to WordPress when you need direct control over the file and its presentation. External embeds depend on the source video remaining public and embeddable, while self-hosted videos consume storage and bandwidth. For large libraries, consider a video-hosting service rather than serving every file from shared hosting.
Why does my WordPress video not autoplay?
Autoplay may fail because browsers and mobile devices restrict automatic playback, particularly when sound is enabled. Low-power mode and data-saving settings can also interfere. Treat autoplay as optional, provide visible playback controls, and test on more than one device. Muted autoplay is more widely permitted, but it still is not guaranteed in every browser or situation.
How do I add captions to a WordPress video?
Select the Video block, open its toolbar menu, choose Text tracks, and upload a WebVTT file ending in <code>.vtt</code>. Add a readable label, set the source language, and choose Subtitles or Captions as the track kind. Captions should include dialogue and relevant audio information; subtitles generally translate dialogue for viewers who can hear the audio.