whatisgithub

What is inpaint-web?

lxfater/inpaint-web — explained in plain English

Analysis updated 2026-06-26

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

In one sentence

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

What do people build with it?

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.

What is it built with?

TypeScriptWebGPUWebAssemblyNode.js

How does it compare?

lxfater/inpaint-webmjswensen/themerplatane/snk
Stars5,8155,8165,812
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyeasyeasy
Complexity2/52/52/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get 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.

So what is it?

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?

Frequently asked questions

What is inpaint-web?

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.

What language is inpaint-web written in?

Mainly TypeScript. The stack also includes TypeScript, WebGPU, WebAssembly.

How hard is inpaint-web to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is inpaint-web for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.