
Near identical grouping saves more culling time than any other check, and it is the one that behaves most strangely. Here is what a visual fingerprint really is, why capture time gets consulted before pixels do, and why your software keeps grouping forty minutes of speeches into a single pile.
Before any of the technology makes sense, separate three problems that share one word.
Only the third one is what culling software means by duplicates, and it is the only one of the three with no correct answer. The first two are arithmetic. The third is a judgment call the software makes on your behalf, using measurements that have nothing to do with what was happening in the room.
This piece is about how that judgment is made. If what you want is the practical routine for handling the results, our guide to cleaning up duplicate photos is the one to read. The broader set of checks is covered in how AI picks your best photos.
For byte identical files there is a clean answer, and it has existed for decades. The software runs the whole file through a checksum, a calculation that turns any amount of data into one short string. Same bytes in, same string out, every time. Two files with the same checksum are the same file.
What makes a checksum useless for photography is exactly what makes it reliable elsewhere: change one pixel and the string changes completely. There is no such thing as two checksums being close. A frame and the frame fired a fifth of a second later are as unrelated to a checksum as a wedding and a spreadsheet.
So the whole interesting problem is the third case, and it needs a measurement with a middle. Something that can say these two are ninety percent alike, rather than same or not same.
Here is the trick, and it is more direct than people expect.
Take the photo. Throw away the color. Shrink it down to something absurdly small, a grid of a few dozen squares a side, the size of a postage stamp seen from across a room. Now walk across that grid and write down one yes or no for each square: is this square brighter than the one next to it? The string of answers is the fingerprint.
Two photos that look alike produce nearly the same string. To compare them you count how many positions differ. Zero means the layouts are indistinguishable. A handful means the same scene with something small changed. A lot means unrelated pictures. The tool draws a line somewhere on that count and calls everything under it one group.
Reducing the photo that far destroys focus, grain, small movement, expression and detail. That destruction is deliberate. What survives is layout: where the light is, where the dark shapes are, roughly where the bodies stand. Two frames from the same burst survive identically, which is precisely what you want, because you want them grouped.
But it means the fingerprint is blind to every difference you care about. The frame where he is laughing and the frame where he blinked are the same photo to it. That is not a bug, it is the division of labor: grouping decides which frames belong together, and a completely separate set of checks decides which one wins inside the group. Those are the checks we pulled apart in blur and blink detection.
Newer tools add a second method. Instead of layout, the photo is converted into a long list of numbers describing content, a face, a white dress, a dark room, and similarity is measured in that space. It handles the case where you stepped sideways between frames far better. It is also happier to group two genuinely different moments that contain the same people and the same room, which is where a lot of surprising behavior comes from.
Before any pixel is compared, most tools sort by the capture time written into each file and only compare frames that fall inside a short window of each other.
The reason is arithmetic. Comparing every frame against every other in a two thousand frame wedding means close to two million comparisons. Comparing each frame only against its immediate neighbors in time means a couple of thousand. That is the difference between grouping that finishes while you make tea and grouping that does not finish at all.
An efficiency decision made in an engineer's head becomes behavior you feel on a Tuesday night. Two frames shot an hour apart are never compared, no matter how identical they look. And the clock in your camera is now load bearing.
If your second body is four minutes off, or one camera never left the last time zone, or one of them missed the daylight saving change, the frames from a single moment scatter into separate windows and never get compared. The moment arrives in your list as unrelated singles. This is the single most common cause of grouping that simply does not happen, and it takes thirty seconds to prevent. More on the rest of that problem in culling second shooter photos.
Now the behavior that makes people distrust the feature. Every case below is the fingerprint working exactly as designed.
| What you see | What the software measured |
|---|---|
| Forty minutes of speeches in one enormous group | The camera was on a tripod. Every frame has the same layout, so every frame has the same fingerprint. Different people, different tears, one shape. |
| Sixty families at the barn door session grouped together | Same backdrop, same framing, same light. The people are a small part of a mostly identical picture. |
| The rings, the invitation and the shoes in one pile | All shot from above on the same windowsill. Flat lays on a repeated surface are near identical by construction. |
| Every dark accident of the day together | A black frame looks like every other black frame. Lens cap shots, missed flashes and pocket frames all collapse into one group, which is genuinely useful. |
| Two hundred products on the same white sweep | The sweep is most of the frame. This is why product and real estate work behave differently from weddings. |
| Two cousins who look nothing alike, grouped as one person | Face grouping, not layout. Imagen uses face recognition to detect subjects and duplicates, and family resemblance in mixed light is genuinely hard. |
Notice the pattern. The software groups by what dominates the frame, and at a lot of shoots the thing that dominates the frame is not the subject. It is the room.
The opposite failure is quieter and costs more, because a group that never formed does not announce itself.
None of these are wrong answers. Each one is the measurement doing its job on inputs that no longer look alike. But the practical effect is that you will occasionally review the same moment three times, twenty minutes apart, and pick a frame from each. Then you deliver three nearly identical photos, which is a gallery problem rather than a software problem, and it is worth knowing that this is where it comes from.
Every tool draws a line on the similarity count, and where it draws that line is a taste decision with real consequences in both directions.
| Setting | What you get | What it costs |
|---|---|---|
| Loose grouping | Fewer, larger groups. Less to review. | Two moments merge. You pick a winner from one of them and never really look at the other. |
| Tight grouping | More, smaller groups. Nothing hidden. | Your burst splits in three. You pick a winner from each and deliver three versions of one photograph. |
Imagen exposes this directly, letting you choose the grouping criteria based on how similar you want images to be before they are collected together. Narrative approaches it from the other end with Scenes, ranking every image in a scene by sharpness so the best frame surfaces first. Both are reasonable. Neither is correct, because correct depends on whether you are picking a wedding or a headshot day.
Which leads to the thing worth remembering about this entire feature. A group is a question, not a verdict. It is the software saying these six frames appear to be one moment, would you like to look at them side by side. That framing is the whole value, because people are poor at judging one photo on its own and very good at comparing two, which is also why picking photos is so hard when the frames are scattered through a list.
We are building a picking app, so treat this as interested rather than neutral.
Grouping is where a phone earns its place. Deciding which of six near identical frames you like is a run of quick comparisons, and comparisons work fine on a phone on the drive home. Deciding whether the focus landed on the iris does not, so the same shoot opens on the Mac later and you carry on from there, with every frame still in place. That split is the point of phone versus computer culling.
And whatever a grouping algorithm concludes, nothing is ever deleted, moved or renamed. Kepla marks which photos it picked. The five frames it passed over in a group of six stay exactly where they were, under the same names, one tap away. Given how easily a fingerprint can put two different moments in one pile, a tool that acts on that conclusion is trusting its own arithmetic more than it should.
Status, plainly: the picking app for iPhone, iPad and Mac is still being built. What is live today is the Kepla booking page, free while we build.
It shrinks each photo to a tiny grayscale grid, then records whether each square is brighter than its neighbor. That string of answers is a visual fingerprint. Two photos that look alike produce nearly the same string, and the software counts how many positions differ. A low count means one moment. Shrinking deliberately destroys focus, grain and expression, so only the layout survives.
Because it groups by what fills the frame, and at many shoots that is the room rather than the subject. A camera locked on a tripod during speeches produces forty minutes of frames with the same layout. A repeated backdrop, a flat lay surface or a white sweep does the same. Every one of those groups is the measurement working correctly on a scene you built to be repetitive.
Most likely a clock problem or a change in the frame itself. Tools compare capture times first and only compare pixels within a short window, so a second body with an unsynced clock scatters one moment across the timeline. Rotating to portrait, zooming, a flash firing on one frame or someone walking through the shot all change the layout enough to break the match.
No, and confusing them causes trouble. Finding identical files is done with a checksum, which gives an exact yes or no and cannot tell you that two photos are similar. Culling tools solve a different problem, near identical frames from one moment, where every file is genuinely unique. There is no exact answer to that, only a similarity score and a threshold.
It depends on the work. Loose grouping means fewer, larger groups and less to review, but two separate moments can merge and one gets skimmed. Tight grouping means nothing hides, but one burst can split into three groups and you end up delivering three versions of the same photograph. Weddings usually suit looser settings, repeated setups suit tighter ones.
Grouping itself never does. It only arranges frames so you can compare them side by side. Some tools can then file lower rated frames into a rejects subfolder if you switch that option on, so check the settings first. Kepla never deletes, moves or renames anything. It marks which photos it picked, and the rest stay exactly where they were.
Kepla for Mac clears the obvious misses from a card, names the reason on every frame it sets aside, and leaves the choosing to you. Nothing is ever deleted, moved or renamed. Free through the private preview · the first hundred photographers keep it at $99 a year.