MS Photo Duplicates

Joined
Nov 23, 2025
Messages
2
When I add a photo to iCloud Photos, MS Photos creates a duplicate image: *.JPG and *(1).JPG. Only the original shows up in the iCloud. When I delete the duplicate *(1).jpg from MS Photos it leaves the original; however it deletes the original from iCloud.

How can I add photos to iCloud without getting duplicates in MS Photos?

How can I identify and delete the duplicates in MS Photo while maintaining a copy in iCloud?
 

Solution
Thanks — that’s a common sync / folder-management problem. Short version: MS Photos is showing and deleting files that live in your local iCloud Photos folder, so deleting what looks like a “duplicate” in Photos can remove the one copy that iCloud is keeping. The safe approach is to (A) make a verified backup, (B) stop iCloud/Photos from actively syncing while you remove local duplicates, then (C) remove duplicates from the local disk (not from the cloud) and restart sync. Below are concrete, safe steps and a couple of simpler alternatives depending on what you want.
Before you begin — do this
  1. Backup your photos first. Either:
    • Download a copy of your iCloud Photos using iCloud.com (select photos → Download) OR
    • Copy the...
Thanks — that’s a common sync / folder-management problem. Short version: MS Photos is showing and deleting files that live in your local iCloud Photos folder, so deleting what looks like a “duplicate” in Photos can remove the one copy that iCloud is keeping. The safe approach is to (A) make a verified backup, (B) stop iCloud/Photos from actively syncing while you remove local duplicates, then (C) remove duplicates from the local disk (not from the cloud) and restart sync. Below are concrete, safe steps and a couple of simpler alternatives depending on what you want.
Before you begin — do this
  1. Backup your photos first. Either:
    • Download a copy of your iCloud Photos using iCloud.com (select photos → Download) OR
    • Copy the entire Pictures\iCloud Photos folder (or wherever iCloud stores your photos) to an external drive.
      Do not skip this. If anything goes wrong, the backup lets you restore.
How to avoid creating duplicates when adding photos to iCloud
  • Put photos directly into iCloud (upload via iCloud.com or use the iCloud for Windows app) instead of copying them into a local folder that is already being scanned by MS Photos.
  • Don’t import the same file twice into the same watched folder. If you copy a file into the same folder twice, Windows (or some apps) will add “(1)” to the name and create a duplicate.
  • If you prefer to use MS Photos only to view images and not manage files, remove the iCloud Photos folder from Photos app’s sources:
    1. Open Photos → Settings (three dots → Settings).
    2. Under “Sources” (or “Add a folder”), remove the folder you don’t want Photos to index (for example the iCloud Photos folder). Photos will stop showing/managing files in that folder.
Safe workflow to remove duplicates while keeping a copy in iCloud
  1. BACKUP (again): Ensure you have a copy on an external drive or local folder outside iCloud’s sync folder.
  2. Turn off iCloud Photos on the PC temporarily:
    • Open the iCloud for Windows app → Photos → Options → uncheck “iCloud Photos” (or sign out if you prefer). When prompted, choose the option that keeps a local copy if offered. (If you aren’t offered that, rely on your backup.
  3. With iCloud Photos paused/off, the local iCloud folder will no longer sync to iCloud, so deletes or moves you do now won’t propagate.
  4. Find and remove duplicates locally:
    • Quick pattern search for the typical duplicates named like “*(1).jpg”:
      • Open PowerShell and run (change path if your pictures are elsewhere):
        Get-ChildItem -Path "$env:USERPROFILE\Pictures" -Recurse -Include " (1).jpg"," (1).jpeg" | Select-Object FullName
      • Review the list. When you’re sure, to delete (test first with -WhatIf):
        Get-ChildItem -Path "$env:USERPROFILE\Pictures" -Recurse -Include " (1).jpg"," (1).jpeg" | Remove-Item -WhatIf
        If output looks correct, run it again without -WhatIf to actually delete:
        Get-ChildItem -Path "$env:USERPROFILE\Pictures" -Recurse -Include " (1).jpg"," (1).jpeg" | Remove-Item
    • If you want content-aware duplicate detection (same photo but different names), use a duplicate finder (free options: dupeGuru, AllDup, or “Duplicate Cleaner Free”) to scan your (now-local) picture folders and remove duplicates. Always have the backup before bulk deletes.
  5. Re-enable iCloud Photos:
    • Turn iCloud Photos back on in iCloud for Windows. It will re-sync the cleaned local folder with iCloud. Because you removed duplicates while sync was off, the cloud should end up with the single desired copy.
Alternative simpler method (if you don’t want to disable iCloud)
  • Rather than deleting inside the iCloud Photos folder while sync is on, move suspected duplicates to a separate folder outside the iCloud folder and keep them there until you confirm the cloud copy is correct. But be aware: moving files out of the iCloud folder while sync is enabled is usually treated like deletion by iCloud and may remove the cloud copy — that’s why I recommend pausing/disabling sync or making a backup first.
Why MS Photos was deleting the “original” in iCloud
  • The Photos app is a front-end for files on disk. When a file is inside an iCloud-synced folder, deleting it from the local disk is interpreted by the sync client as a user delete and propagates the deletion to iCloud. Even if MS Photos shows two files locally (original and “(1)”), they may still be treated by the sync engine as the same synced item — so deleting one can remove the cloud copy. That’s why pausing sync and backing up is important.
Quick checklist for you to try now
  • Do you have iCloud for Windows installed and are the photos stored under C:\Users\<you>\Pictures\iCloud Photos? (Yes/No)
  • Are the duplicates always named with “(1)” or do they have other differences?
    If you tell me the exact iCloud setup and the folder paths you see, I can give you the exact PowerShell commands and a tailored sequence (or a safe dupe-finder configuration) to remove the duplicates.
If you want, tell me:
  • Where you add photos from (phone via cable, import from camera, copy into Pictures folder, upload to iCloud.com?, and
  • Whether you use iCloud for Windows or only iCloud.com.
I can then give the exact commands and step-by-step actions for your setup.
 

Solution
Added note: I have tried searching in MS Explorer using *(1)* but this returns every file with a 1. I have tried searching for *(* but this returns everything.
 

Thanks, David — that clarification helps. You’re right: File Explorer’s wildcards and some quick searches will match lots of things (any file with a 1 or any bracketed expression), so you need a search that looks specifically for the literal string " (1)" (including the parentheses). The safest, most reliable ways are:
1) Use PowerShell (precise and safe — recommended)
  • Open Start → type PowerShell → right‑click → Run as your user (not as Administrator).
  • To just list files whose filename contains the literal "(1)":
    • Replace the path with your actual pictures folder (example uses the Pictures folder).
      Code:
      Get-ChildItem -Path "$env:USERPROFILE\Pictures" -Recurse -File |
      Where-Object { $_.Name -match '\(1\)' } |
      Select-Object FullName
      Explanation: the -match '(1)' uses a regex so the parentheses are treated literally. This will not delete anything — it just lists matches.
  • To check how many matches you have:
    Code:
    Get-ChildItem -Path "$env:USERPROFILE\Pictures" -Recurse -File |
    Where-Object { $_.Name -match '\(1\)' } |
    Measure-Object
  • To preview what would be deleted (do NOT run the remove until you verify):
    Code:
    Get-ChildItem -Path "$env:USERPROFILE\Pictures" -Recurse -File |
    Where-Object { $_.Name -match '\(1\)' } |
    Remove-Item -WhatIf
    If the preview looks correct, remove the -WhatIf to actually delete.
2) If you want to remove only duplicates that have an exact counterpart without the " (1)" suffix
  • This makes sure you don’t accidentally delete unique files that happen to have "(1)" in name:
    Code:
    Get-ChildItem -Path "$env:USERPROFILE\Pictures" -Recurse -File |
    Where-Object { $_.Name -match '\(1\)'} |
    ForEach-Object {
    $origName = $_.Name -replace ' \(\d+\)','' # strip " (1)" or "(2)" etc.
    $origPath = Join-Path $_.DirectoryName $origName
    if (Test-Path $origPath) { [PSCustomObject]@{ Duplicate = $_.FullName; Original = $origPath }
    }
    } | Format-Table -AutoSize
  • Review the list. When you’re satisfied, you can delete the duplicates (again, do a backup or use -WhatIf first).
3) Confirm duplicates by hash (optional, more certain)
  • To compute SHA256 for a pair and verify they are bit‑identical:
    Get-FileHash -Algorithm SHA256 "C:\path\to\file (1).jpg","C:\path\to\file.jpg"
  • If the hashes match, the files are identical; if not, don’t delete.
4) Why File Explorer searches returned too many results
  • Explorer/AQS and simple wildcards can treat parentheses or the number "1" as a general match depending on how you typed the query, so a search like (1) can match many filenames containing "1" or be interpreted loosely. For more reliable name-based searches use PowerShell or a file indexer tool. See the discussion of advanced search operators and faster name-based tools.
5) Faster GUI alternatives
  • Everything (Voidtools) — instant, literal filename search (type (1) and it will show only names containing that exact string). Great for quick visual verification before running deletes. Using a dedicated duplicate‑finder (dupeGuru, Duplicate Cleaner, etc. is better when you need content-aware duplicates rather than just name‑based. Forum posts recommend these kinds of tools for inspecting duplicates safely.
6) Safety: iCloud sync considerations (important)
  • Before deleting, pause or disable iCloud Photos sync on the PC so deletions don’t propagate to iCloud, or create a verified backup of your iCloud library. Photos.app and iCloud act on the local file system, so deleting the local file while sync is active can remove the cloud copy. See the notes about pausing sync / backing up first.
Quick recommended workflow for you
  1. Make a backup (copy Pictures\iCloud Photos to an external drive or download from iCloud.com). (Do this first.
  2. Pause iCloud for Windows (or sign out) so deletions won’t propagate to the cloud.
  3. Run the PowerShell listing command above and review the results.
  4. Option A (name-based): Use the "original exists" script to confirm pairs, then delete duplicates (with -WhatIf first).
    Option B (content-aware): Use a duplicate finder to compare image contents and remove duplicates after you confirm.
  5. Re-enable iCloud and let it re-sync.
If you want, tell me:
  • The exact path where iCloud Photos stores your pictures (for example C:\Users\David\Pictures\iCloud Photos\Photos), and
  • Whether the duplicates always show the pattern " (1)" exactly or sometimes other numbers,
and I’ll give you a ready-to-run PowerShell script tailored to your path that will (1) list pairs of duplicate/(1) files, (2) create a CSV report, and (3 optionally) move duplicates to a quarantine folder instead of deleting them outright.
 

When I add a photo to iCloud Photos, MS Photos creates a duplicate image: *.JPG and *(1).JPG. Only the original shows up in the iCloud. When I delete the duplicate *(1).jpg from MS Photos it leaves the original; however it deletes the original from iCloud.

How can I add photos to iCloud without getting duplicates in MS Photos?

How can I identify and delete the duplicates in MS Photo while maintaining a copy in iCloud?
I’ve run into the same issue before. One approach that works is to pause syncing in MS Photos before adding new images to iCloud. That way, iCloud uploads the originals without MS Photos automatically creating duplicates. After the upload, you can re-enable syncing.


Also, using a dedicated duplicate finder tool in MS Photos can help identify duplicates without affecting iCloud copies. It takes a bit of setup, but it prevents accidental deletions.
 

Back
Top