django-embed-video
Django app for easy embedding YouTube and Vimeo videos and music from SoundCloud.
What it is and what it does
django-embed-video is a Django app that simplifies embedding video and audio content from YouTube, Vimeo, and SoundCloud into web pages. It provides template tags and model fields that parse media URLs, extract metadata like thumbnails, and generate the appropriate embed code—eliminating the need to manually construct iframe tags or handle different platform APIs.
The package works by accepting video URLs in templates or model fields, automatically detecting the source platform, and rendering embeds with configurable dimensions. It handles multiple URL formats for each platform, including mobile URLs and platform-specific variations, and can lazy-load embeds to improve page performance. Installation requires adding it to Django's INSTALLED_APPS and optionally configuring the request context processor.
Use it for:
- Add a video field to a Django model and render embedded videos in templates without writing custom iframe code.
- Build a content management system where editors paste YouTube or Vimeo URLs and the app automatically generates responsive embeds.
- Extract and display video thumbnails alongside links in a media gallery or blog post.
- Support multiple video platforms (YouTube, Vimeo, SoundCloud) in a single template without platform-specific logic.
- Lazy-load video embeds on a page with many videos to reduce initial load time.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides Django template tags and model fields to embed YouTube, Vimeo, and SoundCloud media directly into web pages with automatic URL parsing and thumbnail extraction.
Yes. The package is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and solves a common Django need with low install friction. Use it if your Django project needs to embed videos from YouTube, Vimeo, or SoundCloud—it eliminates boilerplate and handles URL parsing and platform detection automatically.
Install
django-embed-video on PyPI
pip
pip install django-embed-videouv
uv add django-embed-videopoetry
poetry add django-embed-videoInstalling django-embed-video
Before you install
Low friction install with three straightforward runtime dependencies. Maintained actively with recent releases; last commit in April 2026 and version 1.4.10 from May 2024 show ongoing support.
License in practice
MIT license (permissive) means you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install django-embed-video
# In Django settings.py, add to INSTALLED_APPS:
INSTALLED_APPS = [
'embed_video',
# ...
]
# In template:
{% load embed_video_tags %}
{% video "https://www.youtube.com/watch?v=dQw4w9WgXcQ" "800x600" %}
Requires Django to be installed and configured; the request context processor must be set in TEMPLATES settings if you need HTTP/S detection in template tags.
Verify before relying
- Whether the package handles all current YouTube, Vimeo, and SoundCloud URL formats reliably in production.
- Performance characteristics when processing many video URLs or thumbnails in a single page render.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — requests, Django, importlib-metadata |
| Maintenance | actively maintained — 829 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 77,124/month — #14,554 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_embed_video-1.4.10-py3-none-any.whl
Keywords: youtube, vimeo, video, soundcloud
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
micawberExtracts rich metadata (title, author,…
unclear · top 15,000 on PyPI
sphinxcontrib-youtubeAdds Sphinx directives to embed YouTube, Vimeo,…
permissive · top 15,000 on PyPI
django-taggitAdds simple tagging functionality to Django…
permissive · top 5,000 on PyPI
sphinxcontrib-videoA Sphinx extension that embeds HTML5 videos…
permissive · top 15,000 on PyPI
mkdocs-videoA MkDocs plugin that embeds videos in…
permissive · top 15,000 on PyPI
django-analyticalIntegrates multiple third-party analytics…
permissive · top 15,000 on PyPI
django-jinjaIntegrates Jinja2 templating into Django,…
permissive · top 15,000 on PyPI
soundcloud-v2A Python wrapper for SoundCloud's internal v2…
permissive · top 15,000 on PyPI
pytubepytube downloads YouTube videos and playlists…
permissive · top 5,000 on PyPI
sorl-thumbnailGenerates and caches image thumbnails for…
permissive · top 15,000 on PyPI