https://github.com/khou/upscaler
Drag-and-drop image upscaler for macOS, powered by Real-ESRGAN. Native Apple Silicon, no install dependencies.
https://github.com/khou/upscaler
applescript image-upscaling macos real-esrgan super-resolution upscaler
Last synced: about 1 month ago
JSON representation
Drag-and-drop image upscaler for macOS, powered by Real-ESRGAN. Native Apple Silicon, no install dependencies.
- Host: GitHub
- URL: https://github.com/khou/upscaler
- Owner: khou
- License: mit
- Created: 2026-05-03T23:37:04.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-05-07T04:32:16.000Z (about 1 month ago)
- Last Synced: 2026-05-07T05:39:30.012Z (about 1 month ago)
- Topics: applescript, image-upscaling, macos, real-esrgan, super-resolution, upscaler
- Language: AppleScript
- Size: 22.5 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Upscaler
A drag-and-drop image upscaler for macOS. Drop PNG/JPEG/WebP images on the app
icon, pick 2x/3x/4x, and get higher-resolution copies powered by Real-ESRGAN.
No subscription, no telemetry, no internet connection required after install.
## Install (prebuilt)
1. Download the latest `Upscaler.zip` from [Releases](../../releases).
2. Unzip and move `Upscaler.app` to `/Applications`.
3. First launch: right-click the app → **Open** (it's ad-hoc signed, not
notarized, so Gatekeeper asks once).
## Use
- Drag images onto the app icon, or double-click the app and pick files.
- Choose a scale factor.
- Choose where to save the output.
- Wait. Each image is saved as `_x.png`.
## Build from source
Requires macOS with command line tools (no Xcode needed).
```sh
git clone https://github.com/khou/upscaler.git
cd upscaler
bash scripts/fetch-engine.sh # downloads upscayl-bin + Real-ESRGAN models
bash scripts/make-droplet.sh # produces build/Upscaler.app
open build/Upscaler.app
```
## How it works
`Upscaler.app` is an AppleScript droplet that bundles the
[upscayl-ncnn](https://github.com/upscayl/upscayl-ncnn) inference binary and
[Real-ESRGAN](https://github.com/xinntao/Real-ESRGAN) model weights inside its
`Contents/Resources/engine/` directory. When you drop an image, the script
shells out to the bundled binary, which runs the model on your GPU via Vulkan
(MoltenVK on macOS).
Universal binary, so the same `.app` runs natively on both Apple Silicon and
Intel Macs.
## Licensing
The wrapper code in this repository is MIT-licensed (see [LICENSE](LICENSE)).
The bundled inference binary is **AGPLv3** (from the upscayl-ncnn project), so
any `.app` you build or distribute carries the AGPL obligations of that
binary. If you redistribute the built app you must comply with AGPLv3 for the
bundled engine. The Real-ESRGAN model weights are BSD 3-Clause.
If you want to distribute commercially without AGPL obligations, swap the
engine for either the original Real-ESRGAN ncnn binary (BSD 3-Clause, older,
Intel-only on macOS) or your own ncnn build, and update `scripts/fetch-engine.sh`
accordingly.
## Why AppleScript
The first version was a SwiftUI app; it ran into a Swift toolchain skew on
Command Line Tools that needs a full Xcode install or a CLT update to fix. An
AppleScript droplet builds with `osacompile`, which is part of every macOS
install, so anyone can build this repo without installing anything extra.
A native rewrite (likely Rust + egui or Tauri, with on-device ONNX inference
via Core ML) is on the roadmap.