Integer scaling

Integer scaling, or pixel-perfect scaling, is a method for image upscaling (enlargement) with no blur and no distortion.

Turns each pixel into a square or rectangular group of integer number of same-color pixels. Prevents sharpness loss in videos and 3D games when scaling Full HD to 4K and maintains pixelation in old and pixel-art games.


Article
Details with information about progress and partial solutions.
Live demo
Demonstration that works right in web browser.
Reddit community
Community on a popular discussion platform.

Author’s projects

  • IntegerScaler
    Free program for integer scaling of games in Windows 7 and newer, compatible with graphics cards (GPUs) without built-in support for integer scaling.
  • SmartUpscale
    Extension (add-on) for web browsers Firefox and Chrome, that prevents unreasonable blur on images on web pages.
  • bsnes-mt
    Emulator of Super Nintendo (SNES, Super Famicom) with support for full integer scaling — with integer scales both vertically and horizontally.
  • IntegerScaling (C++/Rust/JS/PHP)
    Program library (C++/Rust/JS/PHP) that contains ready-to-use functions for calculations related to integer scaling.