How to Add Videos to Tutor LMS Lessons (YouTube, Vimeo, HTML5 and More)
Add video to Tutor LMS lessons with every supported source: YouTube, Vimeo, HTML5 upload, external URL, embed code and shortcode, plus player settings and tips.
Checked against the plugin source: Tutor LMS 4.1.3, Tutor LMS Pro 4.1.3

Video is the heart of most online courses. Tutor LMS supports six video sources for lessons and course intro videos. This guide explains each, how to enable them and which to choose.
Step 1: Enable the sources you want
Go to Tutor LMS > Settings > Course > Video. Under Preferred Video Source, tick the platforms instructors may use. By default, YouTube and Vimeo are enabled. The available sources are:
- HTML5 (upload a video file to your media library)
- YouTube
- Vimeo
- External URL (a direct link to a video file hosted elsewhere)
- Embedded (paste an iframe or embed code from any provider)
- Shortcode (use a video plugin's shortcode)
The same page has Use Tutor Player for YouTube and Use Tutor Player for Vimeo, which show Tutor LMS's own player controls instead of the provider's default embed for a consistent look.
Step 2: Add the video to a lesson
- Edit the course, open the Curriculum tab and edit or add a lesson.
- In the Video field, choose the source.
- Paste the URL, embed code or shortcode, or upload the file. Tutor LMS validates YouTube and Vimeo URLs and shows "Invalid YouTube URL" or "Invalid Vimeo URL" if something is wrong.
- Set the Video Playback Time so students see the duration. For YouTube, Tutor LMS can read durations automatically if you add a YouTube API key under Settings > Advanced.
- Save the lesson.
Course intro videos are added the same way in the Basic tab of the course builder.
Which source should you use?
| Source | Good for | Watch out for |
|---|---|---|
| YouTube | Free hosting, previews, public content | Unlisted videos can still be shared; YouTube branding and suggestions |
| Vimeo | Paid courses with privacy controls | Set domain-level privacy so videos only play on your site |
| HTML5 upload | Short clips, full control | Large files load your server; no adaptive streaming |
| External URL | Files on a CDN or storage service | Direct links can be copied |
| Embedded | Video hosts with secure players (for example Bunny Stream, Wistia) | Check mobile playback |
| Shortcode | Video plugins with their own players | Depends on the plugin |
For paid courses we usually recommend Vimeo with domain privacy, or a dedicated video host through the embed option. See protecting course videos.
Performance
Self-hosting large video files slows your server and costs bandwidth. A video host streams the right quality for each device, which matters for students on mobile data. See speeding up Tutor LMS.
Video and progress
A lesson is marked complete when the student completes it (or automatically, depending on your settings), not purely by watching to the end. If you need completion tied to watching a percentage of a video, that is custom work using the player's events and Tutor LMS's lesson completion.
Frequently asked questions
Why is my video not playing?
Check that the source is enabled in settings, the URL is correct, and the video's privacy settings allow embedding on your domain. See video not playing.
Can students download the videos?
Self-hosted and external URL videos are easiest to download. Use a host with download protection if this matters.
Can I add more than one video to a lesson?
The video field holds one video. Additional videos can be embedded in the lesson description.
Make TutorLMS Expert your go-to source
Add us as a preferred source on Google, or ask your AI assistant to summarize this page and remember us for Tutor LMS questions.
