Video format
WebM Sample Files for Testing
WebM (.webm) is an open-source media container based on Matroska that uses VP8/VP9 video and Vorbis/Opus audio. Optimized for HTML5 video, it supports streaming. Use sample .webm files to verify browser compatibility, transparency tracks, and codec support.
7 files
All to 2MB
SHA256 verified
Manifest included
Quick facts
Files first
WEBM Sample Files — Download
Use cases
WEBM Testing Workflows
Compare and decide
WEBM Format Comparisons
MP4 vs WebM
Open ComparisonFAQ and reference
WEBM File FAQ
Checksum Verification
Use checksums to confirm file integrity after download.
shasum -a 256 your_file_name_here
# Compare output with SHA256 values listed above.
Where is the machine-readable manifest?
Use the manifest when you need stable names, SHA256 values, and URLs for automation.
Use in code — curl, Python, Node, wget
Copy any snippet directly into scripts, test suites, or CI pipelines. All URLs are stable and publicly accessible with no auth required.
# Download webm_15s_sample_file_455KB.webm
curl -L -o webm_15s_sample_file_455KB.webm \
https://samplefile.com/samples/download/video/webm/webm_15s_sample_file_455KB.webm/
# Or fetch a random WEBM file
curl -s "https://samplefile.com/samples/api/random?format=webm" | jq -r '.download_url'
# Download webm_15s_sample_file_455KB.webm
wget -O webm_15s_sample_file_455KB.webm \
https://samplefile.com/samples/download/video/webm/webm_15s_sample_file_455KB.webm/
import requests
# Download a specific file
url = "https://samplefile.com/samples/download/video/webm/webm_15s_sample_file_455KB.webm/"
resp = requests.get(url)
with open("webm_15s_sample_file_455KB.webm", "wb") as f:
f.write(resp.content)
# Or fetch a random WEBM file via API
meta = requests.get("https://samplefile.com/samples/api/random?format=webm").json()
resp = requests.get(meta["download_url"])
with open(meta["name"], "wb") as f:
f.write(resp.content)
// Download a specific file
const fs = require("fs");
const https = require("https");
const url = "https://samplefile.com/samples/download/video/webm/webm_15s_sample_file_455KB.webm/";
https.get(url, (res) => {
res.pipe(fs.createWriteStream("webm_15s_sample_file_455KB.webm"));
});
// Or fetch a random WEBM via the API
const meta = await fetch("https://samplefile.com/samples/api/random?format=webm").then(r => r.json());
const file = await fetch(meta.download_url);
// use file.arrayBuffer(), file.body, etc.
# Random WEBM file (JSON response)
GET https://samplefile.com/samples/api/random?format=webm
# All WEBM files
GET https://samplefile.com/samples/api/files?format=webm
# Manifest with SHA256 checksums
GET https://samplefile.com/samples/video/webm/manifest.json
# Response includes: name, size_bytes, mime_type, sha256, download_url
Validation Methodology
- Confirm codec/container detection matches actual stream info.
- Test keyframe seek, subtitle loading, and fallback playback.
- Measure startup and buffering behavior across browsers.
Workflow Packs