Features

Video upscaler

Upscale videos 2× or 4× using WebGL Lanczos resampling — fully in-browser, no upload required. Queue multiple files and retry any that fail.

Video Upscaler

The video upscaler increases video resolution 2× or 4× using WebGL-accelerated Lanczos resampling — a high-quality algorithm that produces sharp results without the softness of bicubic interpolation. All processing runs locally in your browser.

Accessing the tool

Navigate to /video-upscale or click Video Upscaler in the header tools menu.

Choosing a scale

2× Upscale — Doubles resolution in each dimension. A 960×540 video becomes 1920×1080. This is the recommended option for most clips.

4× Upscale — Quadruples resolution. A 480×270 video becomes 1920×1080. Ideal for old, low-resolution footage. Note: the input must be ≤ 1024px on the longest side (a 1920px input would produce 7680px output, exceeding browser rendering limits).

Supported formats

Upload MP4, WebM, MOV, AVI, MKV, MPEG, M4V, or OGV files. Maximum file size: 200 MB.

Processing time

Processing time depends on clip duration, source resolution, and your device's GPU. Rough estimates:

Clip length720p sourceNotes
10s30–60sFast GPU
30s2–5 minMid-range laptop
60s5–10 minNear the duration limit

The maximum clip duration is set in the site configuration (typically 120 seconds). Longer clips should be trimmed before upscaling.

Output format

Upscaled video is exported as WebM (VP9) — a widely supported, efficient format. Download from the queue card when processing is complete.

Queue

You can add multiple clips to the queue and they will process sequentially. While a clip is processing you can continue adding more files. The current clip must finish before the next begins.

Use the × button on a queue card to remove a clip. Completed clips show a green Download button.

Dimension limits

Input resolution2× output4× output
480×270960×5401920×1080
960×5401920×10803840×2160
1280×7202560×14405120×2880
1920×1080✓ accepted✗ too large (4× cap is 1024px)

If the output would exceed your browser's WebGL rendering limit (typically 8192px), the upscaler will display an error before starting. Downscale the source clip first or switch to 2×.

How it works

The upscaler uses a WebGL2 fragment shader implementing the Lanczos-2 kernel — a high-quality reconstruction filter that preserves edge sharpness and avoids the ring artefacts of simpler methods. Each video frame is decoded, upscaled via the GPU, and re-encoded into the output stream.

For very small source clips (< 480px), the pipeline uses a two-pass cascade for extra sharpness.

Troubleshooting

"Video encoding produced no data" — This usually means the clip was too short (< 1 second) or the selected codec isn't supported by your browser. Try a different browser or a longer clip.

"Source image could not be decoded" — The output resolution exceeded your GPU's texture size limit. Switch to 2× scale or downscale the source first.

Processing is very slow — The Lanczos shader runs on your GPU. On integrated graphics, a 30-second 1080p clip can take several minutes. Close other GPU-heavy apps if possible.

Output looks soft — This is expected for highly compressed source video. The upscaler can only recover detail that exists in the source; heavily compressed clips may still look soft at 4×.