I got tired of uploading sensitive images to random websites, so I built a local-only blur tool
Source: Dev.to
The Problem
A few days ago I was preparing a technical blog post. I needed to blur a few email addresses and a face in a screenshot before publishing.
I did what most developers would do: I searched for a free online image‑blur tool, clicked the first result, and uploaded my image.
Then I stopped.
- Where was that image going?
- Was it being stored on a server somewhere?
- For how long?
- Who else had access to it?
The website had no privacy policy, no mention of data retention, and no reassurance that my file would be deleted after processing. That feeling of unease stuck with me, so I decided to build something better.
Introducing Blur‑image.org
A browser‑based image‑blur tool that processes everything locally on your machine. No uploads, no servers, no third parties ever seeing your data.
- All heavy lifting happens in the browser via JavaScript, the Canvas API, and local processing pipelines.
- No backend calls for image manipulation.
- No API keys sent over the wire.
- No analytics trackers that log your image metadata.
- The second you close the tab, every trace of your edit is gone.
Features
1. Selective Blur Tool
- Canvas‑based brush and selection rendering.
- Paint over areas to blur, adjust blur strength dynamically, and create multiple independent blur regions.
- All operations are stored locally in memory as coordinate maps—never serialized or sent anywhere.
2. Full Image Blur Tool
- Global convolution effect applied to the entire canvas.
- Adjustable intensity.
- Restore specific areas by painting over them after the full blur is applied (local mask overlay).
3. Face Blur Tool
- Client‑side face detection model (TensorFlow.js or similar) bundled with the tool.
- Detects multiple faces, draws bounding boxes, and applies Gaussian blur or pixelation.
- Manual adjustment of detected areas is possible.
- Key detail: the model loads once into the browser’s memory and never sends image data to an external endpoint.
4. Sensitive Information Blur Tool
- OCR runs locally using a browser‑compatible text‑detection engine.
- Scans for phone numbers, email addresses, IDs, and physical addresses via regular expressions combined with bounding‑box recognition.
- Blur, remove, or manually add detections.
- No text content ever leaves your device.
5. Text Blur Tool
- General text detection at the word or line level.
- Apply blur or pixelation—ideal for UI mockups, code screenshots, or any image where text needs to be obscured without destroying readability.
6. Pixelate Image Tool
- Downscale a selected region to a lower resolution, then upscale with nearest‑neighbor interpolation.
- Control pixel block size.
- Works on the full image or user‑selected areas.
- Pixelation is often stronger than blur because it removes identifying details more aggressively.
7. Motion Blur Tool
- Directional blur effect that samples pixels along a specified angle and distance.
- GPU‑accelerated where possible using CSS filters or WebGL shaders.
- Produces a dynamic, creative effect distinct from standard Gaussian blur.
Why Local Processing Matters
- Data‑flow security: No man‑in‑the‑middle attacks on your image data.
- No server breaches: User uploads never leave the browser, eliminating exposure risk.
- Clear ownership: No legal gray areas about data retention.
- Offline capability: Once the page loads, you can disconnect from the internet and still blur, pixelate, and detect faces.
Performance depends on your device and browser. Large images with high‑resolution face detection or OCR will take longer and consume more memory. The tool mitigates this by:
- Processing images at reasonable default scales.
- Giving you control over output quality.
Waiting an extra second for a local process is infinitely better than uploading a sensitive image to an unknown server.
Who Is This For?
- Developers who need to obscure API keys, email addresses, or internal endpoints in tutorials.
- Designers sharing mockups that contain client data.
- Anyone who feels uneasy hitting the upload button on a free online tool.
Try It
Visit Blur‑image.org and give it a spin.
Feedback
I am actively working on improvements and would genuinely appreciate feedback from other developers:
- Does the face detection work well on your test images?
- Is the OCR fast enough for documents?
- Are there edge cases where the local processing feels too slow?
Drop your thoughts in the comments or reach out directly.
Why I Built This
I built this to solve my own problem, but I want it to be genuinely useful for other developers who care about privacy as much as I do.
Thanks for reading. Go blur something without worrying about who is watching.