🦀 Pure RustLaMa Inpainting via ONNX RuntimeDesktop App + CLI

Erase Anything from a Photo.Open-Source AI. 100% Offline.

WClean is a free, open-source AI object remover built in pure Rust. Paint over what you don't want — a passer-by, a logo, a watermark — and the open-source LaMa inpainting model fills the hole so naturally it looks like it was never there.

  • Apache-2.0 Licensed
  • 100% Offline & Private
  • No Python · No PyTorch · No Cloud
  • GPU Accelerated (WebGPU / DirectML)

Why WClean

The open-source sibling of Kiword — a native, private inpainting engine you can audit, script, and run anywhere.

Truly Cross-Platform Core

The engine is plain Rust + ONNX Runtime, compiled to a single native binary per platform — Windows, macOS, and Linux. No Python or PyTorch runtime required.

100% Offline & Private

Your photos never leave your machine. No account, no upload, no telemetry — safe for family albums and confidential work.

Open-Source LaMa Model

Apache-2.0 inpainting weights, shipped and versioned with the app, so results are reproducible on every machine.

GPU Acceleration

WebGPU execution provider out of the box, DirectML available on Windows, and a plain CPU fallback everywhere else.

Desktop App + CLI

A friendly desktop app (Tauri 2) for one-off edits, plus a headless CLI for scripting and batch jobs.

Honest Quality

HD strategies (crop / resize / original) ported 1:1 from IOPaint, with unmasked pixels strictly preserved.

Install in One Click

Windows 10/11 (x64) installer — per-user install, no admin rights required.

  1. 1

    Grab the latest WClean_<version>_x64-setup.exe from GitHub Releases.

  2. 2

    Run it — you get a Start Menu shortcut plus a right-click menu entry on .jpg / .png / .webp / .bmp files: "Remove watermark with WClean".

SmartScreen note: builds are not code-signed yet, so Windows may show "Windows protected your PC". Click More info → Run anyway — the binaries are built by the public CI in the repository, so every step is auditable.

Build from source (macOS / Linux)

Requirements: Rust 1.92+ (MSVC toolchain on Windows), Node.js (Tauri CLI), Python 3 (model download script only).

# 1. Fetch the LaMa ONNX model (~200 MB) into models/
python scripts/download_model.py

# 2. Run the CLI
cargo run --release -p wclean-cli -- \
  --image photo.png --mask mask.png --output out.png --json

# 3. Build & launch the desktop app
npm install -g @tauri-apps/cli
cd src-tauri && tauri build

Headless CLI for Scripting & Batch Jobs

The mask is any raster image; white (≥ 127) marks the area to remove. Machine-readable stats with --json; all diagnostics go to stderr, stdout stays parseable.

wclean-cli --image photo.jpg --mask mask.png --output clean.png

# Common options
wclean-cli --image <p> --mask <p> [--output out.png] [options]

 --strategy <s>      crop | resize | original (default: crop)
 --crop-margin <n>   context margin per crop (default: 128)
 --crop-trigger <n>  min long edge to crop (default: 512)
 --resize-limit <n>  long-edge cap for resize (default: 1280)
 --no-keep-unmasked  allow edits outside mask (default: keep)
 --model <p>         model path override (default: ./models or $WCLEAN_MODEL_PATH)
 --json              machine-readable stats

How It Works

Mask thresholding
HD strategy: crop / resize / original
Symmetric padding to mod 8
LaMa ONNX forward pass
Strict compositing of unmasked pixels

The full pipeline is a faithful port of IOPaint's LaMa implementation to Rust: mask binarization, connected-component cropping with context margin, symmetric padding (required by LaMa's Fourier convolutions), and strict compositing of unmasked pixels. First launch optimizes the 198 MB fp32 graph once (~20 s); afterwards inference takes a few seconds per 512×512 crop on CPU — enable WebGPU or DirectML for a solid speedup.

Frequently Asked Questions

Is WClean really free and open source?

Yes. WClean is released under the Apache-2.0 license, and both the source code and the LaMa model weights are public on GitHub. There is no account, subscription, or upload step.

Does WClean upload my photos anywhere?

No. WClean runs 100% offline on your machine — images never leave your computer, and there is no telemetry. This makes it suitable for private family photos and confidential documents.

Which platforms does WClean support?

Windows 10/11 (x64) ships an installer and a portable CLI today. macOS and Linux can build from source with Rust 1.92+; prebuilt binaries for both are on the roadmap.

Why does Windows show a SmartScreen warning?

WClean builds are not code-signed yet, so Windows may show "Windows protected your PC". Click "More info" and then "Run anyway" — the binaries are built by the public CI in the repository, so every build step is auditable.

How do I mark what I want to remove?

In the desktop app, paint over anything you want gone and hit Clean. In the CLI, supply a mask image where white pixels (brightness ≥ 127) mark the removal area. Unmasked pixels are never touched.

Like WClean? Meet Kiword.

Our take on making document cleanup effortless: private, on-device AI dictation, translation, and writing polish for school, work, and home. One app.

Apache-2.0 — credits: IOPaint (algorithm reference), LaMa / Carve-ONNX (model weights), ONNX Runtime (inference engine).

This website uses cookies

We use cookies to analyze site traffic and improve your experience. By clicking "Accept All", you consent to our use of analytics cookies. You can customize your preferences or decline non-essential cookies.