explaingit

lxfater/inpaint-web

5,815TypeScriptAudience · generalComplexity · 2/5Setup · easy

TLDR

A browser-based tool that removes unwanted objects from photos and upscales images to higher resolution, running entirely on your own device via WebGPU, no server, no uploads, fully private.

Mindmap

mindmap
  root((inpaint-web))
    What It Does
      Remove objects
      Super-resolution
      Background fill
    How It Works
      Runs in browser
      WebGPU processing
      No server needed
    Tech Stack
      TypeScript
      WebGPU and WebAssembly
      Node.js
    Roadmap
      Segment Anything
      Stable Diffusion fill
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Remove a person, logo, or object from a photo directly in your browser without uploading the image to any third-party server.

USE CASE 2

Upscale a blurry or low-resolution photo to a sharper, larger version using local AI processing.

USE CASE 3

Edit product or personal photos offline after the initial page load, keeping images completely private.

USE CASE 4

Try AI-powered photo inpainting and super-resolution for free without a subscription or cloud account.

Tech stack

TypeScriptWebGPUWebAssemblyNode.js

Getting it running

Difficulty · easy Time to first run · 5min

WebGPU support requires a modern browser such as Chrome 113 plus, Safari may need a feature flag enabled.

In plain English

inpaint-web is a browser-based tool for removing unwanted parts of a photo and for increasing image resolution. Inpainting refers to erasing an object or area from a photo and having the software fill in what the background likely looked like, so the object appears to have never been there. The tool also supports super-resolution, which takes a lower-quality image and produces a sharper, more detailed version at a larger size. What makes this project different from many similar tools is that everything runs inside your web browser with no server involved. The processing happens on your own computer using WebGPU and WebAssembly, two browser technologies that allow computationally intensive tasks to run locally rather than sending data to a remote service. This keeps your images private and means the tool can work offline after the initial page load. A live demo is available at inpaintweb.lxfater.com for trying it out without any installation. The frontend code is adapted from a project called cleanup.pictures, and the inpainting model is based on MI-GAN from Picsart AI Research. The project roadmap lists two features as planned but not yet complete: integration with Segment Anything for quick object selection and removal, and integration with Stable Diffusion for AI-generated replacement content. The existing history tracking and post-processing steps are listed as done. Getting the development version running requires Node.js and a terminal. You run npm install to fetch dependencies and npm run start to launch the local server. The project is open source and free to use.

Copy-paste prompts

Prompt 1
I want to remove a watermark from a photo using inpaint-web. Walk me through painting the selection mask and running the inpainting step.
Prompt 2
How do I run inpaint-web locally for development? Give me the exact npm commands to install dependencies and start the server.
Prompt 3
I have a blurry 480p image. How do I use inpaint-web's super-resolution feature to get a sharper, higher-resolution version?
Prompt 4
My browser doesn't seem to support WebGPU. What browsers work best with inpaint-web and are there any flags I need to enable?
Prompt 5
I want to extend inpaint-web to add Segment Anything for one-click object selection. What part of the TypeScript codebase should I modify?
Open on GitHub → Explain another repo

← lxfater on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.