Placeholder Video Generator

Generate MP4 test videos on-the-fly. Any size. Instant delivery. Zero configuration.

https://placeholdervideo.dev/1920x1080

Returns a 1920×1080 MP4 video placeholder. Change dimensions, get a new video.

What Is a Placeholder Video?

A placeholder video is a temporary video file used during development when final content isn't available yet. Unlike static placeholder images, video placeholders let you test actual video player behavior, loading states, responsive sizing, and playback controls before production assets are ready.

Developers building video-heavy applications face a recurring problem: they need working video files to test their code, but sourcing appropriate test videos is tedious. Stock video sites require accounts and downloads. YouTube embeds introduce third-party dependencies. Local files don't work in collaborative environments where teammates need identical test assets.

This service solves that problem by generating placeholder videos dynamically through URL parameters. Request any resolution by modifying the URL path, and receive a valid MP4 file that plays in any browser, video player, or native application. The video displays its own dimensions on screen, making it immediately obvious which placeholder corresponds to which implementation.

How It Works

The API follows a simple URL pattern that any developer can memorize:

https://placeholdervideo.dev/{width}x{height}

Replace {width} and {height} with your target dimensions in pixels. The server generates an MP4 video matching those exact specifications and returns it with appropriate MIME headers for direct browser playback or download.

URL Parameters

ParameterFormatExampleResult
Dimensions{width}x{height}/1280x720720p HD video
Square{size}x{size}/1080x1080Instagram square format
Portrait{width}x{height}/1080x1920Vertical video for Stories/Reels
CustomAny integers/400x225Custom 16:9 thumbnail size

Response Format

Every request returns a valid MP4 file encoded with H.264 video codec and AAC audio codec, ensuring maximum compatibility across browsers, operating systems, and devices. The Content-Type header is set to video/mp4, allowing the video to be embedded directly via HTML5 <video> tags, used as a source in JavaScript video players, or downloaded for offline testing.

Use Cases

Web Development

Front-end developers working with HTML5 video elements need test files to verify their implementations. A placeholder video URL can be dropped directly into the srcattribute during development, then swapped for production URLs before deployment. This approach eliminates the need to commit large binary video files to version control repositories.

When building responsive layouts, developers must verify that video containers scale correctly across viewport sizes. Placeholder videos with explicit dimension overlays make it trivial to confirm that a 16:9 video maintains its aspect ratio on mobile, tablet, and desktop breakpoints.

UI/UX Prototyping

Designers creating interactive prototypes in tools like Figma, Sketch, or Adobe XD often need video components that demonstrate how the final product will behave. Embedding a placeholder video URL into a prototype provides realistic video player behavior without requiring actual content. Stakeholders reviewing prototypes see functional video elements rather than static screenshots.

API and Integration Testing

Backend developers building video processing pipelines, CDN configurations, or transcoding services need reliable test inputs. A URL-based placeholder video service provides deterministic test assets that can be requested programmatically during automated testing. Unlike downloaded files that might differ between environments, URL-based placeholders guarantee consistent inputs across development, staging, and CI/CD pipelines.

Playwright and Cypress Tests

Browser automation tests can use stable MP4 URLs to verify that real video metadata loads, controls render, and responsive media containers keep the expected aspect ratio. This catches media bugs that mocked components or static images miss.

FFmpeg Pipeline Testing

Media workers can fetch deterministic MP4 inputs for ffprobe extraction, thumbnail generation, transcode smoke tests, and queue-based processing checks without storing binary fixtures in the repository.

Quality Assurance

QA teams testing video playback across browsers and devices need videos of known specifications. When a bug report mentions video issues on a specific resolution, testers can instantly generate a placeholder video at that exact size to reproduce the problem. The dimension overlay in each placeholder eliminates confusion about which test asset is which.

Documentation and Tutorials

Technical writers creating documentation for video-related features need example videos to illustrate their explanations. Placeholder videos with visible dimensions serve as clear examples without requiring licensing of stock footage or creation of custom content. Readers can use the same placeholder URLs to follow along with tutorials.

Email Template Testing

Email developers testing video thumbnail implementations need video sources that respond reliably. While most email clients don't support inline video playback, many support video thumbnails with play buttons that link to hosted video pages. Placeholder videos provide stable test URLs during email template development.

Common Resolutions

While the generator accepts any dimension, certain resolutions correspond to industry-standard formats. These presets cover the most common development scenarios:

Landscape (Horizontal) Videos

Portrait (Vertical) Videos

Vertical video has become the dominant format for mobile-first platforms. Social media stories, short-form video apps, and mobile advertising all rely on portrait orientation.

Square Videos

Square format maximizes screen real estate in social media feeds where vertical scrolling is the primary interaction pattern.

Cinematic Aspect Ratios

Film and television use aspect ratios wider than 16:9. These formats appear in movie trailers, premium video content, and theatrical presentations.

Legacy and Specialty Formats

Technical Specifications

Video Encoding

All generated videos use H.264 (AVC) video with a silent AAC-LC audio track. The output is optimized for browser compatibility, fast metadata loading, and predictable test behavior rather than production-grade visual complexity.

ContainerMP4 (ISO Base Media File Format)
Video CodecH.264 / AVC
ProfileBaseline
Audio CodecAAC-LC silent stereo
Frame Rate30 fps
Duration10 seconds

Browser Compatibility

MP4 with H.264 encoding is supported by all modern browsers without requiring additional plugins or codecs:

HTTP Headers

Responses include headers that enable proper caching and range requests for seeking within the video:

Content-Type: video/mp4
Accept-Ranges: bytes
Cache-Control: public, max-age=86400, immutable
Access-Control-Allow-Origin: *

CORS Support

Cross-Origin Resource Sharing headers are included to allow the videos to be loaded from any domain. This enables usage in local development environments, CodePen/CodeSandbox demos, and cross-origin iframe embeds without CORS errors.

Integration Examples

HTML5 Video Element

<video width="1280" height="720" controls>
  <source src="https://placeholdervideo.dev/1280x720" type="video/mp4">
  Your browser does not support the video tag.
</video>

Responsive Video Container

<div style="position: relative; padding-bottom: 56.25%; height: 0;">
  <video style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" controls>
    <source src="https://placeholdervideo.dev/1920x1080" type="video/mp4">
  </video>
</div>

JavaScript Video Player

const video = document.createElement('video');
video.src = 'https://placeholdervideo.dev/1920x1080';
video.controls = true;
video.autoplay = false;
document.body.appendChild(video);

React Component

function VideoPlaceholder({ width, height }: { width: number; height: number }) {
  return (
    <video 
      width={width}
      height={height}
      controls
      src={`https://placeholdervideo.dev/${width}x${height}`}
    />
  );
}

Video.js Player

<video-js id="player" class="video-js" controls>
  <source src="https://placeholdervideo.dev/1280x720" type="video/mp4">
</video-js>
<script>
  var player = videojs('player');
</script>

Testing with cURL

# Download a placeholder video
curl -o test-video.mp4 https://placeholdervideo.dev/1920x1080

# Check video headers
curl -I https://placeholdervideo.dev/1920x1080

# Stream to ffprobe for analysis
curl -s https://placeholdervideo.dev/1920x1080 | ffprobe -

Comparison with Alternatives

Stock Video Sites

Services like Pexels, Videvo, and Pixabay offer free stock footage, but using them for placeholder purposes introduces unnecessary complexity. You must browse catalogs, download files, store them locally or on a CDN, and manage licensing attribution. For development placeholders where the content itself is irrelevant, this overhead provides no value.

YouTube Embeds

Embedding YouTube videos as placeholders introduces a third-party dependency that behaves differently from self-hosted video. YouTube embeds include branding, suggested videos, tracking scripts, and require network access to YouTube servers. They're unsuitable for testing native video player implementations.

Local Video Files

Committing video files to git repositories bloats repository size and slows clone operations. Sharing local files between team members requires additional infrastructure. Different machines might have different versions of test files, causing inconsistent behavior during development and debugging.

Big Buck Bunny and Similar Test Files

Open-source test videos like Big Buck Bunny are widely used, but they come in fixed resolutions. Testing a 400×225 thumbnail display requires either downloading and re-encoding the video or accepting dimension mismatches. URL-based generation provides exact dimensions on demand.

FeatureThis ServiceStock SitesYouTubeLocal Files
Custom dimensions✓ Any size✗ Fixed✗ Fixed✗ Re-encode needed
No download required
No account requiredVaries
Direct MP4 URL
CORS enabledVariesN/A
Version control friendly✓ URL only
Works offline

Frequently Asked Questions

What is the maximum resolution supported?

Custom dimensions are accepted up to 3840×2160 pixels, and selected known presets such as 8K are available for stress testing. Larger resolutions may result in slower response times due to increased generation and encoding overhead.

Can I use these videos in production?

These placeholder videos are designed for development, testing, and prototyping. While there are no technical restrictions on usage, the videos display dimension overlays that make them unsuitable as final production content. Replace placeholder URLs with actual video content before deploying to production.

How long are the generated videos?

All generated videos are 10 seconds in duration by default. This length is sufficient for testing playback, seeking, and player controls while keeping file sizes manageable.

Are the videos cached?

Yes. Generated videos are cached on the server and via CDN. Subsequent requests for the same dimensions return the cached version with minimal latency. Cache headers allow browsers to store videos locally for repeated playback during development sessions.

Can I request videos with audio?

All videos include a silent audio track encoded in AAC format. The audio track ensures proper behavior in video players that expect audio streams to be present, even when no audible content is needed.

Is HTTPS supported?

Yes. All requests should use HTTPS for secure delivery. HTTP requests are automatically redirected to HTTPS to prevent mixed content warnings when embedding videos in secure pages.

What happens if I request invalid dimensions?

Requests with non-integer dimensions, negative values, or dimensions below 16 pixels return a 400 Bad Request error with an explanatory message. Dimensions must be positive integers within the supported range.

Can I customize the video appearance?

Currently, videos display their dimensions on a neutral background. Future versions may include additional parameters for background color, frame rate, duration, and text overlay customization.

Is there an API rate limit?

The service is designed for development use and implements reasonable rate limiting to prevent abuse. Normal development workflows stay well within these limits. If you're building an application that requires high-volume video generation, contact us to discuss dedicated infrastructure.

How does this handle responsive video testing?

For responsive design testing, generate placeholder videos at your target breakpoint dimensions. The visible dimension overlay in each video confirms that the correct video is loading at each viewport size. This technique helps identify issues where video containers fail to resize properly or load incorrect resolution variants.

Popular Video Resolutions

Standard Formats

Mobile & Social Media

Cinema & Professional

Use Cases & Documentation