Non-White Background Detector
Use cases
Samples pixel values from configurable image corners using Pillow, converts to RGB if needed, and checks if all colour channels exceed the whiteness threshold.
Concurrent downloads via ThreadPoolExecutor with parallel workers (1-10).
Supports JPEG, PNG, GIF, WebP.
Platform
Browser-based (no installation required)
Input
Image URLs CSV
URLs must be http:// or https://
Publicly accessible images only
Output
CSV with flagged images and preview grid
Features
- Pillow RGB pixel sampling from corners
- Whiteness threshold slider (200-255)
- Corner margin adjustment (0-50 pixels)
- Require ALL corners or ANY corner mode
- ThreadPoolExecutor parallel downloads (1-10 workers)
- Request timeout config (5-60 seconds)
- Image preview grid (up to 12 images)
How to use
- 1 Upload CSV with image URLs
- 2 Set whiteness threshold (200-255)
- 3 Select corners to check and margin distance
- 4 Configure parallel workers and timeout
- 5 Choose ALL or ANY corner requirement
- 6 Run detection and preview flagged images
- 7 Download filtered or full results CSV
Frequently asked questions
- How exactly does it decide a background is not white?
- It samples one single pixel per selected corner, offset from the edge by the corner margin (default 5px), and requires all three RGB channels of that pixel to be at or above the whiteness threshold (default 245). It never inspects the middle of the image, so an off-white centre with clean corners passes, and a product that reaches into one corner fails.
- Why are obviously white images being flagged?
- Usually one of three things: JPEG compression artefacts making a corner pixel slightly grey (lower the threshold from 245, or increase the corner margin), a watermark or badge sitting in a sampled corner (switch to 'Require ALL corners' mode so one busy corner does not trigger a flag), or a transparent PNG. Transparency is discarded on load, so the check runs against the hidden RGB values underneath the alpha channel, which are often black even though the image renders white on your site.
- Is there any rate limiting on the image downloads?
- No. It fires up to 10 parallel requests (default 5) directly at the image host with no delays and no custom user agent. Against your own origin server keep workers low; against a hotlink-protected CDN expect 403s, which show up in the Detection Error column rather than as flags.
- How are failed downloads counted in the results?
- Errored images are not flagged as non-white; they get an entry in the Detection Error column (Timeout, request error, or decode error) and are counted separately in the Errors metric. Filter that column before acting on the results, otherwise broken URLs silently pass your QA.
- Does the output keep my other CSV columns?
- Yes. Results are mapped back onto your original rows by URL, so SKU or product ID columns survive, with Has Non-White BG, Non-White Corners and Detection Error appended. You can download either just the flagged rows or the full annotated file.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
Compare product titles with competitors using MPN matching to find missing keywords.
Scrape product specifications from e-commerce pages into structured CSV.
Extract product reviews, ratings, and Q&A from e-commerce pages.
Match internal site search terms to landing pages using fuzzy TF-IDF matching.
Find sitemap URLs not linked from your site navigation element.
Follow redirect chains and see every hop along the way.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need