Face Recognition Photo Organizer is an offline standalone desktop application for Windows that automatically finds and groups all photos of the same person across your entire photo library. Instead of manually sorting thousands of photos, the app uses artificial intelligence to recognize faces and organize them for you.
A no nonsense photo organiser for windows, if you want to group people by faces without having to deal with complex UI or professional tools.
- User friendly UI
- No need for manual tagging, or confirming faces
- Completely offline and built for privacy
- Just point to the location of your folders and let the app do its thing.
Click to read our privacy statement
The app doesn't connect to the internet in any way or form (unless you specifically specify one of the folder from an online location to be scanned, then it will use the network activity to fetch data from that folder). The app is completely offline, all AI packages and bundles are provided with the setup file.You can use this app on an airgapped computer if you want. And as such, we do not collect any data, analytical or otherwise.
If you plan on reporting a bug, you may have to voluntarily disclose the log file. We will use that log file to track the bug and solve it for next patch, and as such the log file may be available on the open web for an indefinite amount of time. The log file, while not containing any identifier, will be associated with the account that submits the bug report. Use an alternate account if you want your account to not be associated with the log file.
This function was requested and while it will take time to integrate it into the app, I have added some helper files that you can run to extract photos.
- Features
- Comparison with other similar apps
- Known bugs
- User Guide
- License and Usage
- Performance Figures
- User friendly GUI, built by professional for everyday users!
- Hide people from list
- Rename people
- Hide photos
- Preview photos or open them in your default photos app
- Hide people with less than X photos
- Change thumbnail for people's list
- Sort by name of number of photos
- Quickly jump to a person
- Transfer face tag to another person to remove it (for false positive; in my testing with 90,980 real everyday photos, false positives were a rarity)
- Hide unnamed people
- Auto naming conflict resolution
- Finds new photos or deleted photos on disk autmatically
- Exclusion by wildcard or subfolder
- Doesn't change your folder structure, the faces only work inside the app and is kept in a separate database. So if you have organised your folders in a certain way, it won't mess with that.
- Lets user decide the threshold percentage, for facial matching (45%-50% recommended)
- Allocates system resources dynamically so as not to bog down your system.
Our focus is on creating a user friendly app to organise photos by person instead of creating an app that does everything photo related, making them cluttered. This keeps the UI easy and clean to be user friendly to everyone, not just professionals.
| Feature | FRPO | DigiKam | Tonfotos |
|---|---|---|---|
| UI Complexity | Easy | Hard | Medium |
| Manual Tagging Not Required | ✓ (Very Accurate) | ✗ (Accuracy drops with large amount of photos) | ✗ (Cleanup required from time to time) |
| Photo Management Library | Only for organising by faces | Full suite (editing, GPS, collections, batch processing, metadata) | Timeline, albums, smart filters, events |
| Instant Re-clustering (no rescan) | ✓ | ✗ | ✗ |
| Tag Preservation Across Re-clustering | ✓ | ✗ | ✗ |
| Dedicated Unmatched Faces Group | ✓ | ✗ | ✗ |
| Dynamic CPU Throttling (background) | ✓ | ✗ | ✗ |
| Scan Frequency Options | ✓ (4 modes) | ✗ (manual only) | ✗ (auto only) |
| InsightFace 99.8% Accuracy | ✓ | ✗ (~95%) | ✗ (~98%) |
| Manual Face Transfer Between Persons | ✓ | Limited | ✓ |
| Primary Photo Selection per Person | ✓ | ✗ | ✓ |
| View Mode: Zoom to Tagged Faces | ✓ | ✗ | ✓ |
| Cost | Free - Non Commercial | Free | ✗ ($99) |
| Photo Editing | ✗ | ✓ | ✓ |
| Timeline View | ✗ | ✓ | ✓ |
| Duplicate Detection | TBA - Planned Feature | ✓ | ✓ |
| Metadata Management | TBA - Planned Feature | ✓ | Limited |
| Cross-Platform | ✗ (Windows only) | ✓ (Linux/Win/Mac) | ✗ (Windows only) |
| Photo Enhancement/Filters | ✗ | ✓ | ✓ |
These are detailed in the release versions
Click here to expand the user guide
- What Is This App?
- How It Works
- Getting Started
- Understanding the Interface
- Working with People
- Settings Explained
- Tips and Best Practices
- Keyboard Shortcuts
- Common Questions
- Troubleshooting
- Advanced Features
Face Recognition Photo Organizer is a desktop application for Windows that automatically finds and groups all photos of the same person across your entire photo library. Instead of manually sorting thousands of photos, the app uses artificial intelligence to recognize faces and organize them for you.
The app works in two simple steps:
- Scan Your Photos - The app looks through your photo folders once to find all faces
- Group Similar Faces - Faces that look alike are automatically grouped together as the same person
Once scanning is complete, you can instantly adjust how strict the matching is without rescanning everything.
When you first open the app, you will see a message that says "No Folders to Scan". This is normal because you need to tell the app where your photos are located.
Click the "Take me to settings" button to add your photo folders.
- Click the Settings button at the bottom of the screen
- Go to the Folders to Scan tab
- Under "Include folders for scanning", click the + Add Folder button
- Select the folder containing your photos
- Repeat for any additional photo folders you have
- Close Settings
The app will now automatically start scanning your photos. This initial scan can take some time depending on how many photos you have.
The app window has four main sections:
Left Panel - People List
- Shows all the people detected in your photos
- Each person is labeled "Person 1", "Person 2", etc. until you rename them
- Shows how many photos contain each person
- Click on a person to see their photos
Right Panel - Photo Grid
- Displays thumbnail previews of photos for the selected person
- Single-click a photo to preview it in a larger view inside the app
- Double-click a photo to open it in your default image viewer
- Use the size slider at the top to make thumbnails bigger or smaller
Bottom Progress Bar
- Shows scanning progress when processing photos
- Displays status messages
Bottom Status Bar
- Shows technical information like GPU status
- Displays total number of faces found
- Help button on the right for quick tips
View Mode Dropdown
- Show entire photo (default) - Thumbnails show the full image
- Zoom to tagged faces - Thumbnails zoom into just the person's face, helpful for identifying people in group photos
Size Slider
- Adjust how large or small the photo thumbnails appear
Filter Button (three horizontal lines)
- Sort people by name (A to Z or Z to A)
- Sort people by number of photos (low to high or high to low)
Jump To Button (grid of dots)
- Only appears when sorting by name
- Click to see an alphabet list
- Click a letter to quickly jump to names starting with that letter
- Click on a person's name in the left panel
- All photos containing that person appear in the right panel
- Use the photo preview to browse through their photos
By default, people are named "Person 1", "Person 2", etc. You should rename them to actual names:
- Find the person in the left panel
- Click the three-dot menu next to their name
- Select Rename
- Type the person's real name
- Click Confirm
All photos of that person are now tagged with their name. This name will persist even if you adjust settings or add new photos later.
The first photo shown for each person is their "primary photo". You can change this:
- View the person's photos in the right panel
- Find the photo you want to use as their primary photo
- Click the three-dot menu on that photo
- Select Make primary photo
The person's avatar in the left panel will now use this photo.
If someone appears in your photos but you don't want them in the list:
- Click the three-dot menu next to their name
- Select Hide person
They will disappear from the list. To see them again, turn on "Show hidden person" in Settings.
To hide specific photos without hiding the entire person:
- Click the three-dot menu on the photo
- Select Hide photo
Hidden photos appear with diagonal lines when "Show hidden photos" is enabled in Settings.
- Click the three-dot menu on the photo
- Click on either remove tag. This will permanently hide the photo (later releases will mvoe it to unmatched faces) OR
- Click on one of the names from person list (only people you have renamed will appear here), the photo will now be a part of their grid.
Click the Settings button at the bottom left to access all settings.
Threshold
- Controls how similar two faces need to be to match
- Lower values (30-40%) - More lenient, may group different people together
- Higher values (50-60%) - More strict, may split the same person into multiple entries
- Default: 50%
- After changing, click Recalibrate to regroup all faces
- Start at 45% - 50% and adjust based on your results
Use system resources dynamically
- When ON: App slows down when minimized to tray to save computer resources
- When OFF: App runs at full speed always
- Default: ON
- NOTE: You must use close to tray to use this
Show single unmatched images
- When ON: Shows a group called "Unmatched Faces" containing people who appear only once
- These are usually screenshots, memes, or random images you don't care about
- When OFF: Hides these single-appearance faces
- Default: OFF
Hide persons with less than X photos
- When enabled, people with fewer than the specified number of photos are hidden
- Useful for filtering out people who only appear once or twice
- Default: OFF (set to 2 photos when enabled)
Close to tray
- When ON: Clicking X minimizes the app to your system tray instead of closing it
- To fully quit, right-click the tray icon and select Quit
- Default: ON
Show hidden person
- When ON: People you previously hid appear in the list again with "(hidden)" in their name
- You can unhide them individually from their menu
- Default: OFF
Show hidden photos
- When ON: Photos you hid appear with diagonal lines across them
- You can unhide them individually from their menu
- Default: OFF
Show development options
- Shows technical statistics like how many faces are tagged
- Regular users should keep this off
- Default: OFF
Include folders for scanning
- Add all folders containing photos you want to organize
- The app scans these folders and all subfolders
- Supported formats: JPG, JPEG, PNG, BMP, GIF, HEIC, HEIF
Exclude subfolders from scanning
- Add specific subfolders you want to skip
- These are NOT scanned even if they are inside an included folder
- Takes priority over included folders
Wildcard Exclusion
- Use patterns to exclude files or folders
- Examples:
*.gif- Skip all GIF files*thumbnail- Skip folders with "thumbnail" in the name*cache*- Skip folders containing "cache"
- Separate multiple patterns with commas
Rescan For Changes
- Manually trigger a new scan
- Use this when you have added or deleted photos
- The app will find new photos and remove deleted ones from the database
The log shows all actions the app has taken, including:
- When scanning started and finished
- How many photos were found
- Any errors that occurred
- Settings changes you made
Click Save Log to save the log as a text file for troubleshooting.
Start with Default Settings
- Use the 50% threshold initially
- Scan your photos and review the results
- Adjust threshold up or down based on what you see
Adjust Threshold Based on Results
- Too many different people grouped together? Raise the threshold
- Same person split into multiple entries? Lower the threshold
Name People as You Go
- Once someone is named, the app remembers them forever
- New photos of that person will automatically appear under their name
- Named people are easier to find and organize
Use Hidden Features Wisely
- Hide unmatched faces to focus on real people
- Hide persons with fewer than 2-3 photos to reduce clutter
- Only show hidden items when you need to review them
Be Patient During First Scan
- The initial scan takes time but only happens once
- You can minimize the app to the tray to reduce system impact
- The app will continue working in the background
Use Dynamic Resources
- Keep this setting ON if you use your computer while scanning
- The app will slow down when minimized so it doesn't interfere with your work
Organize in Stages
- Name your most important people first
- Use the photo count sorting to find people who appear most often
- Work through the list gradually
When you add new photos to your folders:
- Open the app
- Go to Settings > Folders to Scan
- Click Rescan For Changes
The app will find new photos and automatically add them to the correct people if they are already named.
In Photo Preview (Lightbox)
- Left Arrow - Previous photo
- Right Arrow - Next photo
- Escape - Close preview
Why is Person 1 labeled "Unmatched Faces"? This is a special group containing faces that don't match anyone else. These are typically screenshots, memes, profile pictures, or people who appear only once. You can hide this group in Settings.
Will the app modify my original photos? No. The app only reads your photos. It never edits, moves, or deletes the original image files. All organization happens in the app's database.
What happens if I delete photos from my computer? The next time you rescan, the app will remove those photos from its database automatically.
Can I use this on multiple computers? The app stores its data in your user profile. Each computer has its own separate database. You would need to scan and organize photos separately on each computer.
Where is my data stored?
All data is stored in: C:\Users\[YourUsername]\AppData\Roaming\facial_recognition\face_data or for sort %appdata%\facial_recognition\face_data
This includes the photo database and face recognition data. Your original photos remain in their original locations.
Why does the app use so much GPU/CPU? Face recognition is computationally intensive. The app uses your graphics card (GPU) if available for faster processing. Enable "Use system resources dynamically" to reduce impact when the app is minimized.
Can I back up my data? Yes. Back up the folder mentioned above to preserve all your people names and organization. Restore this folder to recover your data.
App takes a long time to start
- It's a known bug for the time the app starts. Consecutive starts should be shorter.
Stuck at loading photos
- If the number of photos is huge (say 3000) the load time for the first try might take a little bit as the system builds cache.
- Marked for improvement
App won't start scanning
- Make sure you have added at least one folder in Settings > Folders to Scan
- Check that the folder path is correct and accessible
- Try clicking "Rescan For Changes"
No faces detected in my photos
- Make sure your photos actually contain visible faces
- Check that the photos are in a supported format (JPG, PNG, HEIC, etc.)
- Very small or blurry faces may not be detected
Same person appears as multiple different people
- Increase the threshold value in Settings > General Settings
- Click Recalibrate after changing the threshold
- Try values between 50-60%
Different people grouped together
- Decrease the threshold value
- Click Recalibrate
- Try values between 30-40%
App is slow or freezing
- Enable "Use system resources dynamically"
- Minimize the app to tray while scanning
- Close other heavy applications
- The first scan is the slowest; subsequent operations are much faster
Photos not opening in default viewer
- Make sure you have a default app set for image files
- Try right-clicking a photo file in Windows Explorer and selecting "Open with" to set a default app
Names disappeared after recalibration
- This should not happen. If it does, report it as a bug
- Names are tied to individual faces and should persist through all operations
Thumbnails are rendering weirdly, or not matching the face
- Clear cache in settings.
- Next time you open a person's grid, the thumbnail cache will automatically be built in the background.
- Person with large number of photos might take some time to load the first time the cache is being built.
When "Show development options" is enabled in Settings, you will see additional information:
Tag Statistics
- Shows how many faces are tagged vs total faces for each person
- Format: "Person Name (45/50 tagged)"
- Helps you understand confidence in person identification
Remove All Tags
- Accessible from the person's menu
- Removes all name tags, reverting person back to "Person X"
- Use this if you want to start fresh with naming
This app is provided free of cost, and no usage restriction for personal, non-commercial use only. You may not use this app on computers used for commercial purposes, even if the app itself is being used for personal use.
The app uses facial recognition technology. You are responsible for complying with applicable privacy laws and obtaining consent from individuals whose images are processed.
- [10/7/2025, 5:46:28 AM] - [10/7/2025, 10:50:24 AM] - Scan complete: 104577 faces in 90491 photos
- Took almost 5 hours to scan 90,000 photos for 100,000 faces from a Seagate Exos HDD, running on AMD Threadripper 7960x
- [10/7/2025, 10:46:38 AM] - [10/7/2025, 10:50:24 AM] - Custering to person identification
- Took 4 minutes on Nvidia RTX 4090 for face clustering and identification
If you encounter issues not covered in this guide:
- Check the log in Settings > View Log for error messages
- Save the log file for reference, and create an issue ticket on this project
- Make sure you are using the latest version of the app
Remember: The app never modifies your original photos, so you can always start fresh if needed by deleting the app data folder and rescanning.
- The JS implementation was done in most parts by Claude Sonnet 3.5 and Sonnet 4 models. Not surprised that there is a high priority DOM retention bug that came with it. Issue is marked and is being addressed.
- Variable names in part have been changed to be more accurate to represent what they do, left to me they would look like a, b, c, c_final, cff, and makes it harder to maintain later.
- Explanatory comments for defs, func and class have been converted to be nore readable and user source friendly in case someone forks it.
- This README.md file has been originally written by Sonnet 4, but later revised by me.












