MCPcopy Index your code
hub / github.com/Suvink/cut-it-out

github.com/Suvink/cut-it-out @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
18 symbols 46 edges 11 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CutItOut - Free AI Background Remover

CutItOut is a free, open-source, and privacy-focused tool that removes image backgrounds instantly directly in your browser. Powered by WebAssembly and the U2-Net deep learning model, it ensures your images never leave your device.

CutItOut Demo

🚀 Features

  • 100% Client-Side: No server uploads. Your photos stay private.
  • AI-Powered: Uses the state-of-the-art U2-Net model via @imgly/background-removal.
    • This library loads the ONNX runtime via WebAssembly (WASM) to execute the U2-Net model directly in the browser.
    • There is no need for a backend server, reducing costs to zero and guaranteeing user privacy.
  • Smart Editing:
    • Magic Brush: Select areas to restore or erase based on color similarity.
    • Restore Mode: "Ghost" overlay helps you see what you're restoring.
    • Zoom & Pan: Precise control for detailed editing.
  • High Quality: Exports full-resolution transparent PNGs. No restrictions! No watermarks!

💻 Local Development

Follow these steps to run CutItOut locally on your machine.

Prerequisites

  • Node.js (v18 or higher)
  • npm (v9 or higher)

Installation

  1. Clone the repository bash git clone https://github.com/Suvink/cut-it-out.git cd cut-it-out

  2. Install dependencies bash npm install

  3. Start the development server bash npm run dev Open http://localhost:5173 in your browser.

Building for Production

To create a production build:

npm run build

The output will be in the dist folder, ready to be deployed to any static host (Vercel, Netlify, GitHub Pages, etc.).

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines on how to get started.

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Extension points exported contracts — how you extend this code

AppState (Interface)
(no doc)
src/store/useAppStore.ts

Core symbols most depended-on inside this repo

paintSelection
called by 2
src/components/CanvasViewer.tsx
colorDistance
called by 1
src/components/CanvasViewer.tsx
applySmartSelection
called by 1
src/components/CanvasViewer.tsx
removeBackground
called by 1
src/services/backgroundRemovalService.ts
useBackgroundRemoval
called by 1
src/hooks/useBackgroundRemoval.ts
processImage
called by 1
src/hooks/useBackgroundRemoval.ts
App
called by 0
src/App.tsx
ImageUploader
called by 0
src/components/ImageUploader.tsx

Shape

Function 14
Class 2
Interface 1
Method 1

Languages

TypeScript100%

Modules by API surface

src/components/CanvasViewer.tsx10 symbols
src/services/backgroundRemovalService.ts3 symbols
src/hooks/useBackgroundRemoval.ts2 symbols
src/store/useAppStore.ts1 symbols
src/components/ImageUploader.tsx1 symbols
src/App.tsx1 symbols

For agents

$ claude mcp add cut-it-out \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact