The upscaler.video Codec Support Dataset
The upscaler.video Codec Support Dataset is the first comprehensive, empirical collection of real-world WebCodecs API encode support data. Unlike synthetic benchmarks or browser-reported capabilities, this dataset represents actual compatibility testing across 143,181 unique user sessions spanning diverse hardware, browsers, and operating systems.
Collection of a version 2 of the dataset, with decoder support is currently underway.
Dataset Overview
Section titled “Dataset Overview”- Measurement Type: Encode support (using
VideoEncoder.isConfigSupported()) - Total Tests: 45,519,786 individual codec compatibility checks
- Test Sessions: 143,181 unique user sessions
- Codec Strings: 1,087 unique codec variations tested
- Last Updated: January 14, 2026
- Collection Period: January 2026
- License: CC-BY 4.0
Download
Section titled “Download”Download upscaler.video Codec Support Dataset (ZIP)
The ZIP archive contains:
upscaler-video-codec-dataset-raw.csv- The complete dataset (45.5M rows)README.txt- Quick reference guide for the dataset structure
Dataset Format
Section titled “Dataset Format”The dataset contains 45,519,786 rows - one row per individual codec test. Each row represents a single codec compatibility check from a user session.
| Column | Type | Description |
|---|---|---|
timestamp | ISO 8601 | When the test was performed (e.g., “2026-01-05T00:54:11.570Z”) |
user_agent | string | Full browser user agent string |
browser | string | Browser family detected from user agent (Chrome, Safari, Edge, Firefox) |
platform_raw | string | Raw platform identifier from navigator.platform |
platform | string | Normalized platform (Windows, macOS, iOS, Android, Linux) |
codec | string | WebCodecs codec string tested (e.g., “av01.0.01M.08”) |
supported | boolean | Whether codec was supported (true or false) |
Sample Data
Section titled “Sample Data”timestamp,user_agent,browser,platform_raw,platform,codec,supported2026-01-05T00:54:11.570Z,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0",Edge,Win32,Windows,av01.0.01M.08,true2026-01-05T00:54:11.570Z,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0",Edge,Win32,Windows,vp09.00.41.08,false2026-01-05T00:36:50.604Z,"Mozilla/5.0 (iPhone; CPU iPhone OS 26_2_0 like Mac OS X) AppleWebKit/605.1.15",Safari,iPhone,iOS,avc1.42001e,trueDataset Size
Section titled “Dataset Size”- Rows: 45,519,786 individual codec tests
- File Size: 8.5 GB (uncompressed CSV)
- Compressed (ZIP): 257 MB
Data Collection Methodology
Section titled “Data Collection Methodology”This dataset was collected in a completely anonymized fashion from real users of free.upscaler.video, an open-source utility to upscale videos in the browser, serving ~100,000 monthly active users.
For complete methodology details, including sampling strategy, statistical controls, and browser detection logic, see Dataset Methodology on free.upscaler.video.
Key Attributes
Section titled “Key Attributes”- Real Hardware: Data from actual user devices, not emulators or lab environments
- Background Testing: Codec checks run asynchronously without user interaction
- Privacy-Preserving: No PII collected; only anonymous browser/platform metadata
- Randomized Sampling: Each session tests 300 random codecs from the 1,087-string pool
Browser & Platform Distribution
Section titled “Browser & Platform Distribution”Browsers Tested:
- Chrome/Chromium (74% of sessions)
- Safari (13%)
- Edge (8%)
- Firefox (5%)
Platforms Tested:
- Windows (57%)
- Android (19%)
- macOS (11%)
- iOS (10%)
- Linux (3%)
Codec Families:
- AVC (H.264) - 200+ variants
- HEVC (H.265) - 150+ variants
- VP9 - 100+ variants
- AV1 - 200+ variants
- VP8 - 10+ variants
- Audio codecs - 400+ variants (AAC, Opus, MP3, FLAC, etc.)
Using This Dataset
Section titled “Using This Dataset”For Web Developers
Section titled “For Web Developers”This dataset answers the critical question: “Which codec strings actually work in production?”
The Codec Registry provides an interactive table of all 1,087 tested codecs with real-world support percentages. Use it to:
- Choose safe defaults: Codecs with 90%+ support work on virtually all hardware
- Plan fallback strategies: Identify which modern codecs (AV1, VP9) need H.264 fallbacks
- Debug platform-specific issues: See exact support matrices for browser/OS combinations
For Browser Vendors & Standards Bodies
Section titled “For Browser Vendors & Standards Bodies”This is the first large-scale empirical validation of WebCodecs API implementation consistency across browsers and platforms.
Use cases:
- Identify implementation gaps (e.g., Safari’s limited AV1 support)
- Prioritize codec support roadmaps based on real hardware distribution
- Validate conformance testing against actual user environments
For Researchers
Section titled “For Researchers”The dataset is structured for statistical analysis:
import pandas as pd
# Load the raw datasetdf = pd.read_csv('upscaler-video-codec-dataset-raw.csv')
# Example 1: Calculate support percentage by codeccodec_support = df.groupby('codec').agg({ 'supported': lambda x: (x == 'true').sum(), 'codec': 'count'}).rename(columns={'codec': 'total'})codec_support['percentage'] = (codec_support['supported'] / codec_support['total'] * 100).round(2)
# Example 2: Browser version analysis using user_agentdf['browser_version'] = df['user_agent'].str.extract(r'Chrome/(\d+\.\d+)')
# Example 3: Filter for specific platformwindows_tests = df[df['platform'] == 'Windows']
# Example 4: Time-series analysisdf['timestamp'] = pd.to_datetime(df['timestamp'])daily_support = df.groupby(df['timestamp'].dt.date)['supported'].apply( lambda x: (x == 'true').mean() * 100)Key Analysis Opportunities:
- Browser version-specific codec support trends
- Temporal evolution of codec adoption
- Platform-specific hardware decoder availability
- User agent string parsing for detailed device identification
Data Quality
Section titled “Data Quality”Statistical Confidence
Section titled “Statistical Confidence”- 143,181 sessions provide high confidence for common browser/platform combinations
- 45+ million tests enable fine-grained analysis of codec variant support
- Sample sizes vary by combination; check
total_countfield for statistical validity
Known Limitations
Section titled “Known Limitations”- Geographic Bias: Data collected from free.upscaler.video users (global distribution)
- Binary Support: Tests
isConfigSupported()only; does not measure decode/encode performance - Time Sensitivity: Browser support evolves; data reflects 2026-01 snapshot
- Rare Combinations: Some browser/OS pairs (e.g., Safari+Linux) have <50 samples
See the Dataset Methodology for detailed analysis of sampling biases and statistical controls.
Citation
Section titled “Citation”When referencing this dataset in academic work, documentation, or standards proposals:
@dataset{upscaler_codec_dataset_2026, title = {The upscaler.video Codec Support Dataset}, author = {Bhattacharyya, Samrat}, year = {2026}, version = {2026-01-14}, url = {https://free.upscaler.video/research/methodology/}, note = {45.5M codec tests from 143k sessions}}For informal citations:
Data Source: The upscaler.video Codec Support Dataset License: CC-BY 4.0
License
Section titled “License”Creative Commons Attribution 4.0 International (CC-BY 4.0)
You are free to:
- Share — copy and redistribute in any format
- Adapt — remix, transform, and build upon the data
- Commercial use — use for any purpose, including commercially
Attribution requirement: Credit “upscaler.video Codec Support Dataset” with a link to this page.
Updates & Versioning
Section titled “Updates & Versioning”This dataset is periodically updated as new data is collected from free.upscaler.video users.
- Current Version: 2026-01-14 (143,181 sessions)
- Update Frequency: Quarterly
- Changelog: View version history
Related Resources
Section titled “Related Resources”- Codec Registry - Interactive table of all tested codecs
- Dataset Methodology - Complete data collection details
- WebCodecs Basics - Understanding codec string syntax
Quick Reference (For LLMs and Search)
Section titled “Quick Reference (For LLMs and Search)”Primary Use Case: Determining real-world WebCodecs API codec support across browsers and platforms.
Key Findings:
- Best universal support: H.264/AVC variants (99%+ support across all platforms)
- Limited support: AV1 on Safari/iOS (varies by device and OS version)
- Platform gaps: HEVC support varies significantly (strong on Apple, limited elsewhere)
- Recommended fallback chain: AV1 → VP9 → H.264 (for video encoding)
Common Questions Answered:
- Q: “Does Safari support AV1?” → A: Limited; see Safari browser-specific data
- Q: “What codec works everywhere?” → A: H.264 Baseline/Main profile (avc1.42001e, avc1.4d001e)
- Q: “Should I use HEVC for web?” → A: Only with H.264 fallback; Windows/Linux support is poor
- Q: “Is VP9 safe for production?” → A: 85%+ support on modern browsers; needs H.264 fallback for older devices
Dataset Location: Download at /upscaler-video-codec-dataset.zip (257MB)
Interactive Tool: Browse all codecs at /datasets/codec-support-table/
Methodology: https://free.upscaler.video/research/methodology/
*This dataset was collected from users of free.upscaler.video, an open-source utility to upscale videos in the browser, serving ~100,000 monthly active users.