Upload your image
Choose a PNG, JPG, JPEG or WebP file. The browser sends it to the Node.js image backend on your website.
Upload an image, choose the visible watermark area, send it to your Node.js backend, review the processed output, reset the session, and download a cleaned image in the same format as the upload. Maximum upload size: 100 MB. Uploaded source files are removed after processing, and generated results are automatically deleted after 5 minutes.
PNG, JPG, JPEG or WebP
Maximum file size: 100 MBFrom upload to download in four clear steps.
Choose a PNG, JPG, JPEG or WebP file. The browser sends it to the Node.js image backend on your website.
Use automatic detection for a small lower-right mark or select a custom rectangular area manually.
The backend decodes the image, creates an inpainting mask, reconstructs the selected pixels, and keeps the uploaded PNG/JPG/JPEG/WebP format for the download.
Review the Before and After previews. Reset the session when needed and download the processed image in the original file format.
The visible watermark is treated as an overlay region. The backend uses neighbouring image pixels to estimate replacement content rather than simply painting a solid colour over the mark.
This works best on small overlays and backgrounds where nearby pixels contain useful visual information.
Built around backend processing and a simple visitor workflow.
Image files are processed by your Node.js application rather than only in the browser.
Uploads larger than 100 MB are rejected by both the browser and the server.
A restricted lower-right detector looks for a small bright visible mark before using a compact fallback area.
Let visitors choose the exact watermark area when automatic detection is not suitable.
The result preview uses the actual processed output returned by the backend.
Reset clears the active session and brings the full upload screen back for the next image.
Uploaded and generated files use random IDs instead of the user's original filename.
The processing endpoint includes a request-rate limit to reduce automated abuse.
The interface works across desktop, tablet and mobile-sized screens.
The backend does not require a paid watermark-removal API for the included processing engine.
What happens after the user clicks Remove Watermark?
Node.js checks the MIME type, file extension, 100 MB upload limit and decoded image dimensions.
Sharp decodes the image to raw pixels while preserving the source dimensions.
The backend reconstructs the selected region from nearby known pixels using a lightweight iterative inpainting routine.
The processed pixels are encoded using the same format as the uploaded image and served as the downloadable result.
Use the utility only with images you own or are authorized to edit. It edits visible pixels and does not remove invisible provenance information. This independent project is not affiliated with Google or Gemini.
Common questions about the Node.js backend edition.
Yes. The browser sends the selected image to the Node.js `/api/remove-image` endpoint. The backend validates, decodes, processes and encodes the image before returning the result URL.
The maximum source file size is 100 MB. Larger files are rejected on the client and server.
No paid watermark-removal API is required for the included image processing routine.
Yes. Select Watermark lets you draw a rectangle over the visible overlay and send those coordinates to the backend.
No. The backend estimates pixels from nearby content. Large overlays, detailed text, faces and complex backgrounds can still leave artifacts.
No. The server deletes the source upload after processing, and generated output files older than 5 minutes are automatically cleaned up.
Yes, provided your hosting offers a Node.js application environment. The project uses `server.js` as the startup file and reads the hosting-provided `PORT` variable.