GPU RESAMPLING
TOOLKIT

Classic resampling filters, powered by your GPU.
Choose the method that fits your image.

Explore the methods

GPUResize 2 works in Premiere Pro, After Effects and DaVinci Resolve (OFX). Resolve setup: included Fusion macro ↗

01 / CLASSIC FILTERS

Different filters. Different results.

22 resampling methods, from classic to advanced.
From Bilinear and Mitchell to Lanczos, pixel art and Content-Aware.

Bilinear ↔ Lanczos 6256 → 768 px · 1 pass · sharpening off
Meet the filters
Filter Where it comes from, what it does Pick it for
Nearest Copies the single closest source pixel, so no new colors ever appear. Blocks stay blocks, which is exactly what masks, pixel art and index-like data want. Aka Impulse in Nuke. Masks, exact values
Bilinear Hardware-style interpolation: matches ordinary GPU linear texture filtering by blending the four nearest pixels. Smooth, with a fixed sampling footprint that can miss fine detail when shrinking. Previews, quick scaling
Triangle Scale-aware tent filtering: the same linear weighting as Bilinear when enlarging, but a wider source footprint when shrinking. A practical antialiased reduction rather than a fixed four-pixel blend. Soft downscaling
Area Averages the source coverage of an output pixel. A useful starting point for reducing fine patterns; it can reduce aliasing but does not guarantee a moiré-free image. On an enlarged axis it uses linear interpolation. Downscaling texture
Notch A broad, flat-topped cubic blend (B = 1.5, C = -0.25). It can quiet repeating patterns without adding ringing, but also softens wanted detail. Compare it with Parzen rather than treating softness as a fixed ranking. Moiré, screen patterns
Parzen A cubic B-spline (b = 1, c = 0), used directly as smoothing weights. Broad, positive weights soften transitions without adding ringing. This is a smoothing reconstruction, not an interpolating spline with a coefficient prefilter. Soft, halo-free edges
Bell Combining three box averages gives a rounded quadratic B-spline, often mistaken for a Gaussian. It smooths transitions without adding sharpening halos. Gentle smoothing
Cubic The plain Hermite cubic (B = 0, C = 0): an eased blend between the two nearest pixels on each enlarged axis. Smooth transitions without ringing. Cubic is also Nuke's default filter; that is a host choice, not a quality guarantee. Smooth upscaling
Mitchell Mitchell and Netravali's 1988 study explored the balance between blur, jaggies and ringing. The B = C = 1/3 recipe is a useful compromise to try on photos, with some smoothing and possible mild halos. Balanced starting point
Keys Robert G. Keys published his cubic-convolution analysis in 1981. This b = 0, c = 1/2 setting is also known as Catmull-Rom; it produces crisp transitions with possible halos at hard edges. Crisp graphics
Simon Named for K. W. Simon's resampling work. Its B = 0, C = 0.75 curve joins smoothly in curvature, giving stronger edge contrast than Keys, with a greater risk of visible outlines. Sharper graphics
Rifman The sharpest cubic of the family (b = 0, c = 1), named after Samuel Rifman’s 1973 work on resampling satellite imagery. Expect visible halos on hard edges; pair it with Clamp Ringing. Maximum cubic sharpness
Lanczos 6 A sinc tapered by another sinc, associated with Cornelius Lanczos's sigma factors and Claude Duchon's 1979 filtering paper. Radius 3, width 6: often called Lanczos 3 where names count radius/lobes instead of full width. Sharp all-rounder
Lanczos 8 Radius 4, width 8. A wider neighborhood changes the balance of detail, alias rejection and ringing. Compare it with Lanczos 6; the extra samples are not automatically an improvement. Fine texture
Lanczos 12 Radius 6, width 12: a wider version of the same Lanczos construction. It changes fine detail and can spread ringing farther around an edge; a larger number is not a quality score. Detail experiments
Kaiser A sinc tapered by James Kaiser's Bessel-based window, from digital signal processing. A different taper from Lanczos at the same radius of 3; compare edge texture and halos rather than assuming one always rings less. Alternative to Lanczos 6
Sinc 4 The raw sinc, cut off two pixels either side with no window at all, as RenderMan and Nuke define it. Hard, glassy edges with strong ringing: the reference point the windowed filters are softened from. Hardest edges
EWA LanczosSharp Uses a radial, windowed-jinc kernel with a sharpening adjustment associated with Nicolas Robidoux. The circular or elliptical footprint treats diagonal detail differently from separate row and column filtering. Diagonals, uneven scale
FSR 1 EASU AMD’s Edge-Adaptive Spatial Upsampling, open-sourced in 2021 to upscale games in real time. It reads local edge direction and rebuilds contours along it. Clean-edged upscaling
Pixel - Scale2x Andrea Mazzoleni developed Scale2x for AdvanceMAME in 2001; its rule is related to LucasArts' earlier EPX. GPUResize adapts the neighbor-copying rule to requested dimensions, with adjustable color tolerance. Enlarging pixel art
Pixel - Eagle A late-1990s emulator filter that rounds corners by comparing three neighbors. Letters and single-pixel details can blob together. Retro sprites
Content-Aware Changes where content goes rather than how neighbors blend: an importance map decides which areas may be squeezed. Protect alpha makes transparency boundaries count too. Changing aspect ratio
02 / PIXEL ART

Pixel art has
options, too.

Compare Nearest, Scale2x, Eagle and FSR 1 EASU on the same pixel artwork. Choose a method on each side and drag to explore the edges.

NearestScale2xEagleFSR 1 EASU
64 → 512 px1 pass · sharpening off
03 / DOWNSCALING

Downscaling is part of the toolkit.

Explore how Bilinear and Area handle a reduction.
The right choice depends on the image and the task.

Bilinear ↔ Area · test chart1536 → 256 px · shown at 3× · sharpening off
04 / POST-SHARPEN

The finishing touch. Your amount.

Compare sharpening off, RCAS and Unsharp Mask after the same resize. Try 50% or 100% in this comparison. In the plug-in, Amount goes up to 200%. Sharpening changes local contrast; judge the texture and edges together.

GPUResize comparison
05 / MULTIPASS

Stair-step scaling. Both directions.

A whole resize sequence. One Iterations control. Stair-step scaling — also called incremental resizing — breaks an upscale or downsample into smaller steps. Explore up to 16 GPU-accelerated passes without stacking effects or scripting intermediate sizes.

One resize, in smaller steps.

Upscale · 300.0% overall · ≈ 144.2% per step

256 pxSource · 100%
369 pxPass 1 · 144.1%
533 pxPass 2 · 144.4%
768 pxPass 3 · 144.1%

Downsample · 33.3% overall · ≈ 69.3% per step

768 pxSource · 100%
533 pxPass 1 · 69.4%
369 pxPass 2 · 69.2%
256 pxPass 3 · 69.4%
Four frames: source → two intermediate sizes → output. Three resize passes, each using the previous result. Actual GPUResize renders · Lanczos 6 · sharpening off.

Downsample

Reduce in stages · Bilinear · 1536 → 256 px

Large reductions can turn fine lines and repeating patterns into aliasing or moiré. Try several smaller reductions and watch how those patterns change. This Bilinear example makes the difference visible; also compare a single-pass Area downsample in the filter demo above.

GPUResize comparison

Stairstep upscale

Enlarge in stages · Lanczos 6 · 256 → 768 px

For HD to 4K upscaling or a larger enlargement, stairstep gives you another way to shape the result. Compare edge smoothness, ringing (halos) and fine texture: repeated filtering can soften detail as well as change contours. It does not recover detail missing from the source.

GPUResize comparison

Judge the shot, not the pass count. Check at 100% output size and in motion at your delivery resolution. Extra local contrast can look sharper without adding detail, and some filters can build up halos over repeated passes. Keep the source, filter and working color space consistent when comparing. Then compare single-pass resizing with post-resize sharpening, too. These previews are scaled to fit your screen.

06 / CREATIVE RESIZING

Resizing glitch effects.

Push Content Aware into expressive distortions. Sweep multipass from 1 to 16 and back while the output dimensions stay fixed. Let the image bend, stretch and shift.

Content Aware · Iterations 1 → 16 → 1 · 32s loop · 1s per stepAmount 100% · rigidity 50% · sharpening off

Output: 384 × 512 → 192 × 512, displayed at the original width for comparison. Footage: Ron Lach / Pexels.

07 / OUTPUT MODES

Set the size. Or reshape the frame.

Four output modes: set dimensions in Pixels, scale by Percentage, reshape with Free Distort, or pixelate with Mosaic.

1920 × 1080 → 3840 × 2160

Pixels

Set exact pixel dimensions: 1920 × 1080 to 3840 × 2160.

Pick a resolution preset or enter the width and height. Choose Stretch, Fit inside or Fit outside to control how the image fits the target frame.

For a specific delivery size.

100% → 200%

Percentage

Scale both axes to 200%, or stretch just the width.

Scale relative to the source dimensions. Set width and height percentages independently: double both dimensions, reduce them by half, or stretch just one axis.

For the same relative resize across different source sizes.

Four corners. Your shape.

Free Distort

Move four corner handles to reshape the image.

Move the four corners independently to stretch, skew or fold the image. Choose the resampling filter for the transformed image.

For custom shapes and creative distortion. Iterations resizes the image in steps, then applies your four-corner shape once. More passes change the filtering, not the shape.

160 × 90 blocks. Same output size.

Mosaic

Compare 24 × 14 and 8 × 5 blocks, both with the same output dimensions.

Set Horizontal Blocks and Vertical Blocks to pixelate the image while keeping its original size and position. Animate the counts for changing block sizes; fractional values make the transition smooth.

Choose a resize filter and Iterations for the reduction, then a Restore method to bring it back. Nearest gives visible blocks. Use a masked copy over the original to mosaic a selected region.

1600 by 900 source into a 900 by 900 frame: Stretch outputs 900 by 900, Fit inside 900 by 506, Fit outside 1600 by 900.
1600 × 900 source → 900 × 900 target frame. Stretch changes proportions. Fit inside keeps the whole image within the target frame. Fit outside covers it while preserving proportions. The frame is a size reference: Fit outside does not crop the output.
HOW IT WORKS

From source to output.

Source imageThe frame supplied by your host

CHOOSE YOUR SIZE MODE

Pixels / PercentageSet dimensions or a relative scale
Resize in stepsChoose a filter + IterationsEach step resamples the previous result.
Upscale or downsample.
or
Free DistortPosition the four corners
Resize steps + one warpChoose a filter + IterationsResize toward the output bounding box.
Apply the bilinear warp once, at the end.
or
MosaicSet horizontal and vertical blocks
Reduce + restoreResize method + IterationsRestore method returns to the input size.
Nearest creates blocks by default.
Optional post-sharpenOff / RCAS / Unsharp MaskAfter the complete resize, at output resolution
Output image

Iterations applies up to 16 filtering passes, including passes at the same size. Free Distort applies the corner shape once at the end. Mosaic adds one restoration pass. Post-sharpen runs once, after the complete process.

PRACTICAL CONTROLS

Choose the filter.
Build the process.

Choose your output mode. Set dimensions in Pixels, scale by Percentage, reshape with Free Distort, or pixelate at the original frame size with Mosaic.

Multipass downscale. Reduce through intermediate sizes.
Stairstep upscale. Enlarge in progressive steps.
Post-sharpen. Finish with optional RCAS or Unsharp Mask.

Clamp Ringing. Limit bright and dark overshoot around strong edges.
Filtering space. Choose Original, Degamma 2.2, Log or Lab for different ways of mixing colours. These are interpolation choices, not automatic colour-profile conversions.

Choose your settings, compare the results—no single filter suits every image.

Read the manual