1. Demux and decode
Mediabunny reads the container, and the browser's built-in VideoDecoder turns the video stream into frames. Frames move through a bounded queue, a few at a time.
Resize 1080p footage toward 4K UHD with Lanczos3, bicubic, or bilinear resampling in this tab. Presets also include 1440p, 2×, and a custom size up to a 7680-pixel long side. A smaller preset can shrink a larger file. This is mathematical resampling, not generative AI, and the video stays on this device.
YouTube Help: disclosing use of GenAI content; Apple Support: Live Photos
Last updated
Resize 1080p footage toward 4K UHD with Lanczos3, bicubic, or bilinear resampling in this tab. Presets also include 1440p, 2×, and a custom size up to a 7680-pixel long side. A smaller preset can shrink a larger file. This is mathematical resampling, not generative AI, and the video stays on this device.
Drop a video here to upscale
MP4, MOV, WebM or MKV. The file is read on this device and is not uploaded.
Quality presets set the filter and edge contrast. Changing either one here switches to custom settings.
Keep this tab open until it finishes. Closing or reloading it stops the job.
Output 3840 × 2160 Size 0 MB Processed on this device
Upscaled files are large. Download this one first, then open it in the Video Compressor to make a smaller copy for chat apps or email, also on this device.
This workflow processes your file in this browser tab. Opening DevTools is optional; it is the simplest way to watch what the page actually requests.
Expected Network activity: this site’s CSS/JS, and — after you run the tool — same-origin WASM, codec, or OCR language data. That is a download of our engine, not an upload of your file.
This panel is a product fact, not a live packet sniffer. We do not invent a request counter. Ads, extensions, and your own later clicks can still create network traffic.
Everything runs in this tab with standard browser APIs and a small WebAssembly module. There is no server queue and no generative model.
Mediabunny reads the container, and the browser's built-in VideoDecoder turns the video stream into frames. Frames move through a bounded queue, a few at a time.
Each frame goes to a WebAssembly module compiled from Rust, using SIMD where the browser supports it. It enlarges the frame with the filter you chose. The Lanczos3 path clamps values near edges to reduce halo artifacts.
VideoEncoder compresses the enlarged frames and Mediabunny writes them into the output file. Compatible audio is copied without re-encoding when possible, and standard container metadata tags are left out by default.
Generative upscalers can add detail that was never recorded, such as new skin texture, hair strands or lettering. Resampling only interpolates between the pixels you already have. The result is softer than an AI upscale, but it doesn't invent content, which matters for evidence, documentary footage and archive masters.
Yes. Decoding, resampling, encoding, and muxing run in this browser. The first run downloads a small WebAssembly file and a worker from this site. After that, no request carries your video. Presets are 1080p (1920×1080), 1440p, 4K UHD (3840×2160), 2×, and custom. The long side stops at 7680 pixels.
Portrait video keeps its aspect ratio. A 720p or 1080p frame can be targeted at 1080p, 1440p, 4K, 2×, or a custom size. Choosing a preset smaller than the source can shrink the frame. The tool does not stretch the picture, and it does not invent faces or textures.
No. The filters are Lanczos3, bicubic, and bilinear convolution. They do not create new objects, change faces, or synthesize detail the way a diffusion model does. SDR 8-bit frames are the supported path. HDR and 10-bit color are not guaranteed to survive. YouTube, Instagram, and other apps may recompress the file after you upload it there.
No. Decoding, Lanczos3 resampling, encoding and remuxing all run inside your browser. The processing engine (a small WebAssembly file and a worker script) downloads from this site the first time you start an upscale; after that, no request carries your video. You can check this in your browser's developer tools under Network.
No. This tool uses deterministic mathematical convolution (Lanczos3, Bicubic, and Bilinear filters). Unlike diffusion or generative AI models, it never invents new objects, changes faces, or hallucinates textures.
The pipeline uses Origin Private File System (OPFS) streaming where supported, with an in-memory fallback on browsers where OPFS streaming is unavailable. Frames are decoded and resampled sequentially to keep memory usage bounded.
Compatible audio tracks are copied without re-encoding when possible. If the selected output container cannot carry the source audio codec, the browser may need to transcode the audio to maintain playback compatibility.
Output metadata tags are not copied by default. This removes standard container metadata tags managed by the output muxer to produce cleaner sharing files.
Current release is intended for SDR video. The resampling engine processes 8-bit RGBA frames, so HDR and 10-bit color profile preservation is not guaranteed.