Live
Black Hat USAAI BusinessBlack Hat AsiaAI BusinessVCs are covering expenses like rent for young college dropouts founding AI startups; Antler: average AI unicorn founder age fell from 40 in 2020 to 29 in 2024 (Kate Clark/Wall Street Journal)TechmemeRunning OpenClaw with Gemma 4 TurboQuant on MacAir 16GBReddit r/LocalLLaMAStop Explaining Your Codebase to Your AI Every TimeDEV Community📙 Journal Log no. 1 Linux Unhatched ; My DevSecOps JourneyDEV CommunitySTEEP: Your repo's fortune, steeped in truth.DEV CommunityVCSU Hosting Free Public Lecture on (AI) Artificial Intelligence - newsdakota.comGoogle News: AI[D] KDD Review DiscussionReddit r/MachineLearningI Built an MCP Server That Understands Your MSBuild Project Graph — Before You BuildDEV CommunityGemma 4 31B beats several frontier models on the FoodTruck BenchReddit r/LocalLLaMA1 Artificial Intelligence (AI) Stock That Could Be Worth a Fortune by 2030 - finance.yahoo.comGoogle News: AI1 Artificial Intelligence (AI) Stock That Could Be Worth a Fortune by 2030 - fool.comGoogle News: AIAgent Middleware in Microsoft Agent Framework 1.0DEV CommunityBlack Hat USAAI BusinessBlack Hat AsiaAI BusinessVCs are covering expenses like rent for young college dropouts founding AI startups; Antler: average AI unicorn founder age fell from 40 in 2020 to 29 in 2024 (Kate Clark/Wall Street Journal)TechmemeRunning OpenClaw with Gemma 4 TurboQuant on MacAir 16GBReddit r/LocalLLaMAStop Explaining Your Codebase to Your AI Every TimeDEV Community📙 Journal Log no. 1 Linux Unhatched ; My DevSecOps JourneyDEV CommunitySTEEP: Your repo's fortune, steeped in truth.DEV CommunityVCSU Hosting Free Public Lecture on (AI) Artificial Intelligence - newsdakota.comGoogle News: AI[D] KDD Review DiscussionReddit r/MachineLearningI Built an MCP Server That Understands Your MSBuild Project Graph — Before You BuildDEV CommunityGemma 4 31B beats several frontier models on the FoodTruck BenchReddit r/LocalLLaMA1 Artificial Intelligence (AI) Stock That Could Be Worth a Fortune by 2030 - finance.yahoo.comGoogle News: AI1 Artificial Intelligence (AI) Stock That Could Be Worth a Fortune by 2030 - fool.comGoogle News: AIAgent Middleware in Microsoft Agent Framework 1.0DEV Community
AI NEWS HUBbyEIGENVECTOREigenvector

How I built a browser-based AI watermark remover with Next.js and Canvas API

DEV Communityby Dan DanApril 4, 20262 min read0 views
Source Quiz

The Problem AI tools like Gemini and Doubao add watermarks to generated images. Removing them usually requires desktop software or paid services. I wanted something instant, free, and private. ## The Solution CleanMark — 4 tools, all running client-side in the browser. Gemini Watermark Remover (auto-detect remove) Doubao Watermark Remover (auto-detect remove) Manual Eraser (brush tool for any custom watermark) Logo Overlay (cover watermarks with your own brand) ## Tech Stack Next.js 16 App Router Canvas API for image processing next-intl for i18n (EN/ZH) ## How the Watermark Removal Works The core idea is Canvas-based inpainting — analyze pixels around the watermark and fill with surrounding colors. ### For Gemini Doubao (Automatic) These AI tools embed watermarks at fixed, predictable pos

The Problem

AI tools like Gemini and Doubao add watermarks to generated images. Removing them usually requires desktop software or paid services. I wanted something instant, free, and private.

The Solution

CleanMark — 4 tools, all running client-side in the browser.

  • Gemini Watermark Remover (auto-detect & remove)

  • Doubao Watermark Remover (auto-detect & remove)

  • Manual Eraser (brush tool for any custom watermark)

  • Logo Overlay (cover watermarks with your own brand)

Tech Stack

  • Next.js 16 App Router

  • Canvas API for image processing

  • next-intl for i18n (EN/ZH)

How the Watermark Removal Works

The core idea is Canvas-based inpainting — analyze pixels around the watermark and fill with surrounding colors.

For Gemini & Doubao (Automatic)

These AI tools embed watermarks at fixed, predictable positions. So we:

  • Load the image onto an HTML canvas

  • Identify the watermark region (known coordinates/pattern)

  • Sample neighboring pixels outside the watermark area

  • Fill the region using a weighted average of surrounding pixels

For Manual Eraser

The user paints over the watermark with a brush:

  • Sample pixels around each stroke point

  • Apply blur/average to blend with surroundings

  • Result looks natural because it inherits local texture

Why Client-Side?

All processing uses the native browser Canvas API — no server needed. The image never leaves the device, zero privacy risk, instant results.

Try it

https://cleanmark.org

https://github.com/sunzhenyu/CleanMark

Was this article helpful?

Sign in to highlight and annotate this article

AI
Ask AI about this article
Powered by Eigenvector · full article context loaded
Ready

Conversation starters

Ask anything about this article…

Daily AI Digest

Get the top 5 AI stories delivered to your inbox every morning.

More about

geminiservicegithub

Knowledge Map

Knowledge Map
TopicsEntitiesSource
How I built…geminiservicegithubDEV Communi…

Connected Articles — Knowledge Graph

This article is connected to other articles through shared AI topics and tags.

Knowledge Graph100 articles · 168 connections
Scroll to zoom · drag to pan · click to open

Discussion

Sign in to join the discussion

No comments yet — be the first to share your thoughts!

More in Products