CLI tool
upscayl/upscayl avatar
upscayl/upscayl

Upscayl 2.15: A Vulkan-Bound AI Upscaler That Puts the GPU First

Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows.

49,243 stars2,466 forksTypeScriptAGPL-3.0

At a glance

What is it?
Upscayl is a free, open-source desktop app that upscales low-resolution images with AI, but it demands a Vulkan-compatible GPU and won't fix blur. This review covers its mechanism, installation, limitations, and who should skip it.
Who is it for?
Adopt Upscayl if you have a Vulkan-compatible GPU, work with pixelated or low-res images, and want a free, cross-platform desktop tool without cloud dependence. Skip it if your images are blurry or out-of-focus, if you rely on integrated graphics that lack Vulkan support, or if you need a headless CLI (use upscayl-ncnn instead).
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 27 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What Upscayl Actually Solves

Upscayl is a desktop application that enlarges and enhances low-resolution images using AI. The README positions it as a free and open-source alternative to commercial upscalers, available for Linux, macOS, and Windows. The target user is someone with a collection of small, pixelated images, such as old photos, screenshots, or game captures, who wants larger versions without the usual blur or blockiness. The project's own FAQ is blunt about what it cannot do: it cannot de-blur or adjust focus. If your image is out-of-focus, Upscayl is the wrong tool. That narrows the problem space to resolution enhancement, not image restoration. The core promise is that AI models guess missing details, which works for pixelation but fails for optical blur.

The Mechanism: Real-ESRGAN and Vulkan

Upscayl does not run on the CPU. The FAQ explains that it uses Real-ESRGAN and Vulkan architecture, with a backend called upscayl-ncnn that is fully open-source under AGPLv3. Real-ESRGAN is a known super-resolution model that reconstructs high-frequency details from low-resolution input. The Vulkan part is the critical constraint: it requires a Vulkan-compatible GPU. The README warns that many integrated GPUs do not work, though it suggests trying anyway. The backend, upscayl-ncnn, is a separate project and also serves as the CLI tool. This means the GUI is a thin wrapper around a command-line engine. The data flow is straightforward: you select an image, the app sends it to the NCNN backend, the GPU processes it through the Real-ESRGAN model, and the result is written back. The FAQ also notes a batch processing quirk: if a model does not support a certain action, Upscayl finishes upscaling all images before post-processing them, so stopping the batch early can leave images unprocessed or in the wrong scale.

Installation Paths and Their Rough Edges

Installation varies by platform. Linux users get the most options: Flatpak, Snap, AppImage, RPM, DEB, and ZIP, plus AUR and ebuilds. The portable method is downloading an AppImage, marking it executable, and running it. macOS users need version 12 or later and can install via the Mac App Store, a DMG, or Homebrew with `brew install --cask upscayl`. Windows users get an EXE installer, but the README warns about SmartScreen and an unverified publisher dialog. The development setup uses Node.js with Volta recommended: `volta install node`, then `git clone`, `npm install`, and `npm run start` for a local server. Building the app requires `npm run dist`, and publishing needs a GitHub token. The macOS DMG process includes an extra step of right-clicking and selecting Open to bypass Gatekeeper, which is a sign of an unsigned or not-notarized build. This is a common friction point for open-source apps, but it is still a hurdle for non-technical users.

The GPU Requirement Is a Hard Filter

The most significant limitation is the Vulkan GPU requirement. The README states it twice: once in an important note and once in the FAQ. Most iGPUs do not work, and CPU-only processing is not supported. This excludes a large segment of laptops and budget desktops. There is a workaround for Windows and Linux contributed by a user in issue #390, but the README says no one knows how to manipulate macOS and Haiku frameworks. This means the tool is not universal, and users with unsupported hardware will get nothing. The FAQ also clarifies that Upscayl cannot de-blur, which is a separate failure mode. If you feed it a blurry photo, the output will still be blurry, just larger. The batch processing quirk is another limitation: interrupting a batch can leave images in an inconsistent state, and the only advice is to wait for the process to finish. These constraints make Upscayl a specialized tool, not a general image editor.

Alternatives: The CLI and the Cloud

The primary alternative is the backend itself: upscayl-ncnn, which provides a command-line interface. If you need to upscale images in a script or on a server, you skip the GUI entirely and use this tool. The difference in approach is that the CLI is headless, so you trade the visual interface for automation and integration. Another category of alternatives is cloud-based upscalers, which do not require a local GPU. Those services run the models on remote servers, so you upload an image and download the result. The trade-off is privacy and cost: your images leave your machine, and you may pay per use. Upscayl, in contrast, keeps everything local, which is a strong point for sensitive images. The README does not mention cloud competitors by name, but the local-versus-remote distinction is clear from the project's design. For users with a compatible GPU, the local approach is faster and free. For users without one, the cloud is the only option, unless the workaround applies.

Maintenance and License Implications

The project is under active development, with a recent release v2.15.0 on 2024-12-25 and a pre-release earlier in the same month. The roadmap mentions fixing bugs and a whimsical goal of making the world use FOSS. The repository is not archived, and the last push is recent, so maintenance appears ongoing. The license is AGPL-3.0, which is a strong copyleft license. This means if you modify the app and distribute it, you must release your changes under the same license. The backend upscayl-ncnn is also AGPLv3, so any derivative work carries the same obligations. For individual users, this has no practical impact. For companies that want to embed Upscayl in a proprietary product, the license is a barrier. The project also accepts donations and credits sponsors like Warp and Requestly, which suggests a community-funded model. The documentation is split across a wiki and a docs site, which is a sign of active but possibly scattered maintenance.

Editorial conclusion

Adopt Upscayl if you have a Vulkan-compatible GPU, work with pixelated or low-res images, and want a free, cross-platform desktop tool without cloud dependence. Skip it if your images are blurry or out-of-focus, if you rely on integrated graphics that lack Vulkan support, or if you need a headless CLI (use upscayl-ncnn instead). Before adopting, verify your GPU's Vulkan compatibility against the project's Compatibility List, test with a sample image similar to the ones in COMPARISONS.MD, and check the AGPL-3.0 license if you plan to redistribute or modify the app. Upscayl is a practical tool, but its hard GPU requirement and inability to de-blur define its boundaries.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes