Hidden Camera Lens Finder
Points your phone camera at a dark room and ranks every small bright glint by how much it behaves like a lens throwing your light back, so you know exactly where to look closer.
Lights off, light source beside the lens, sweep slowly. No frame, spot or note leaves your device.
Start the camera, analyse a photo or run the demo.
Camera off
Press Start camera and darken the room, analyse a flash photo, or try the simulated demo.
Each spot is a place to look with your own eyes
An empty list rules nothing out. Glass, tinted plastic and one-way mirrors hide a lens. Screw heads, chrome, LEDs and dust glint the same way. A pinhole smaller than your sensor resolves at that distance stays invisible.
Spots ranked by lens score
Marked spots 0
Sweep checklist
Spots, marks and checklist, written by your browser.
How the lens finder works
Why it works: a sensor at the focal plane reflects light back out through the lens along the incoming ray (retroreflection), so the return is strongest with your eye beside the light and survives as you move. Flat glare is bright at one angle only and slides away.
- Lights off, curtains closed.
- Light source within a few cm of the lens: the torch with the rear camera, or Screen flash with the front camera.
- Move slowly across the whole wall, eye level and below first.
- Anything that holds still while your view shifts: walk over, change angle by a metre, touch it. Press Mark top spot (or M) to log it with a note and a verdict.
Detector: frames are downscaled to 160 px wide (640 for photos, limits scaled to match), thresholded at the sensitivity cut-off (strict 250, normal 244, loose 232 out of 255) and grouped into 4-neighbour clusters. A cluster is kept when it is 2 to 80 px (scaled for photos), no side is over 14 px, and it fills 45% or more of its box, which drops lamps, windows and streaks. About 12 analyses a second. A spot matches the previous frame within 4.5% of frame width and is dropped after 15 missed frames.
Torch, screen flash and browser support: torch control needs a camera track that reports a torch capability, which in practice means Chrome on Android. iOS exposes no torch to web pages, so on iPhone use Analyse a photo with a flash photo from the Camera app, or Screen flash with the front camera. Set screen brightness to maximum by hand. Camera access needs HTTPS.
How to read the lens score
Each spot gets a score out of 100, and every part is shown when you open its row:
- Persistence up to 40: frames survived, divided by 30.
- Steadiness up to 25: drift per frame under 0.004 frame widths scores 25, under 0.01 scores 15, under 0.02 scores 5.
- Roundness up to 15: a spot filling 70% or more of its box scores 15, 55% or more scores 8.
- Small size up to 10: 20 px or less scores 10, anything larger 5.
- Saturated peak up to 10: a peak of 250 or more scores 10, otherwise 4.
60 or more (red) reads as look closer, 35 to 59 (amber) as check, and below that as weak. A still photo has no history, so persistence and steadiness score 0 there; take a second photo from another angle and compare.
Lens finder FAQ
How does the lens finder detect a hidden camera?
A camera sensor sits at the focal plane of its lens and reflects light back along the incoming ray, so a lens returns a small bright point toward your light. The page downscales each frame to 160 pixels wide, keeps bright clusters of 2 to 80 pixels that fill most of their box, tracks them across frames about 12 times a second and scores each one out of 100.
What does the lens score mean?
It adds persistence up to 40, steadiness up to 25, roundness up to 15, small size up to 10 and a saturated peak up to 10. A score of 60 or more reads as look closer, 35 to 59 as check, and anything lower as weak. A still photo has no history, so persistence and steadiness score 0 there.
Does the lens finder work on iPhone?
The camera works, but iOS gives web pages no torch control. On iPhone, take a flash photo with the Camera app and use Analyse a photo, or use the front camera with Screen flash and the screen at full brightness.
Does an empty spot list mean there is no camera?
No. Glass, tinted plastic and one-way mirrors can hide a lens, and a pinhole smaller than your camera can resolve at that distance stays invisible. Screw heads, chrome, LEDs and dust glint the same way, so every spot is a place to check with your own eyes.
Are my camera frames uploaded?
No. Every frame, spot, mark and note stays in this tab. Exports and saved frames are written by your browser, and only the room checklist and your camera settings are remembered on this device.
Detection runs entirely in this browser on frames from your own camera or photo. Thresholds are ours and stated above. Treat every spot as a place to look.