DownloadFile Organizer (for Windows)

Have you ever backed up your phone’s photos to a PC, then opened that folder months later?
Thousands of files sit in one DCIM folder, named IMG_2381 or 20240115_143022 and nothing else.
To find out when a picture was taken, you have to open it.

It gets worse the second and third time you back up.
You cannot tell which photos you already copied, so the same shots pile up folder after folder.
They eat the disk, and you cannot safely delete any of them because you do not know which is which.

File Organizer walks that folder and files everything into folders by the date it was taken.
Anything you already copied is recognised by its contents, not its name, and skipped.
It is a Windows program, and there is nothing to install — just run the executable.

Download and run

Get the zip from the download page, extract it, and run FileOrganizer.exe.

  • Windows 10 / 11
  • No installation. It is portable and touches no registry keys, so you can carry the folder on a USB stick.
  • It needs about 30MB of disk space.

Note that the interface is in Korean. This guide gives the English meaning next to every label.

The window opens in a dark theme. [테마] (Theme) at the bottom right switches to light.

How to Use

The basic sequence

Two folder fields sit at the top, options on the right, preview and buttons below.

  1. 소스 폴더 (Source folder) — the folder holding the photos and videos to sort.
  2. 저장 폴더 (Destination folder) — where the sorted files go. Date folders are created for you.
  3. Options — tick what you need on the right.
  4. [소스 폴더 탐색] (Scan source folder) — see what will come out, and how much of it, before anything moves.
  5. [시작] (Start) — confirm, and it runs.

Step 4 is separate on purpose.
Moving several thousand photos is awkward to undo.
So the app counts everything and shows you the folder tree it would build first; you start only if it looks right.

A finished scan reads like this:

발견된 파일: 3,412개 (사진 3,180개, 동영상 232개) - 24.7 GB
  ↑ found: 3,412 files (3,180 photos, 232 videos)

예상 폴더 구조:            ← the folder tree it would build
  2024 (1,204개)
  2023 (1,976개)
  동영상/                  ← videos
    2024 (155개)
    2023 (77개)

Both folder paths come back filled in next time you open the app — this is a job you tend to repeat.

Choosing the date format

This decides how deep the date folders go.

OptionFolders you get
연-월 — year-month (default)2024/01, 2024/02
연-월-일 — year-month-day2024/01/15, 2024/01/16

Year-month is the default because splitting by day breaks the tree into crumbs.
A month where you took a picture or two a day leaves you thirty folders.
For travel photos, where the exact day matters, year-month-day is the better choice.

Videos and other files

동영상 별도 폴더로 분리 — separate videos into their own folder (on by default)
Videos go under a 동영상 (videos) folder, sorted by date inside it.
Turn it off and they mix into the same date folders as the photos.
One video can weigh as much as hundreds of photos, so keeping them apart makes later housekeeping easier.

기타 파일 포함 — include other files (off by default)
This sweeps up everything that is neither photo nor video into an 기타 파일 (other files) folder.
Not just PDFs and documents — zip archives, executables, extensions nobody recognises, all of it.
The point is not to lose the odds and ends that travelled with your photos.

That folder is not split by date; a document has no “date taken” worth the name.
Subfolder structure is not preserved either — everything lands in one place.

Include subfolders

하위 폴더 포함 is on by default and digs through every subfolder of the source.
Backup folders are usually nested — 2024, 카톡, and so on — so turning this off misses most of the files.

Skip duplicates

중복 파일 삭제 is on by default. It recognises files by content, whatever they are called.
If IMG_2381.jpg and IMG_2381(1).jpg are the same picture, only one is kept.

Leaving it on means you can run the job into the same destination folder as often as you like.
Only new photos are added. That is the reason this program exists.

Turn it off and it runs faster, but name clashes stack up as IMG_2381_1.jpg, IMG_2381_2.jpg.

Image optimisation

All three are off by default — leaving the original untouched is the right default.
Switch on only what you need.

OptionWhat it doesDefaultAccepted range
해상도 제한 — limit resolutionShrinks the longer side to at most N pixels4096px100 – 8000
용량 제한 — limit file sizeReduces resolution until the file fits10MB~0.1 – 50MB
품질 설정 — JPEG qualitySets the compression quality8570 – 100

The resolution limit looks only at the longer side, and the aspect ratio is kept.
A 5000×3000 photo capped at 4096px becomes 4096×2457.

Quality cannot go below 70, because that is where banding starts to show on smooth areas like sky or skin.
At 85 you will struggle to tell the copy from the original.

Progress and cancelling

A separate window shows the percentage, the file being handled, 처리: 1,203 / 3,412 파일 (processed: 1,203 of 3,412), and the number of duplicates found so far.

[취소] (Cancel) stops after the current file.
What has already been copied stays — rolling a half-finished move back is the more dangerous option.
Run it again with duplicate skipping on and it picks up where it left off, passing over what it already copied.

At the end you get counts for processed, duplicate and failed files, the elapsed time, and an offer to open the destination folder.

Good to Know

How it finds the date

The date lives inside the file, not in its name. This is the order it looks in.

Photos

  1. EXIF DateTimeOriginal — when the shutter fired
  2. EXIF DateTimeDigitized
  3. EXIF DateTime
  4. If none of those exist, the earlier of the file’s creation and modification times

Videos

  1. A date pattern in the filenameVID_20240115_143022.mp4, 20240115_143022.mp4, 2024-01-15_14-30-22.mp4, plain 20240115, and similar. Only dates from 1990 through next year are accepted.
  2. Otherwise the earlier of creation and modification time

The earlier of the two is deliberate.
Copying a file often resets its creation date to the day you copied it, which would dump your 2019 photos into this year’s folder.
Whichever timestamp is earlier sits closer to the truth.

If no date can be had, the file goes to 날짜미상 (unknown date).

How it spots duplicates

Reading thousands of files end to end would be far too slow.
So it runs the cheap checks first.

  1. File size — if nothing in the destination has that exact size, it is done. Most files are settled here.
  2. Head and tail — a fingerprint over the first 1MB, the last 1MB, and the size. Files of 2MB or less are read whole instead.
  3. Full check — only survivors of the first two get a full MD5 hash compared.

Rename a file or move it between folders and it is still recognised.
Conversely, one differing pixel makes it a different file — a re-saved copy of the same scene will not be caught.

When the job starts, it first indexes what is already in the destination folder.
So if that folder is large, there is a quiet stretch right after you press start. It has not frozen.

Your originals stay put

It copies. Nothing in the source folder is deleted or moved.
If you dislike the result, delete the destination folder and run it again.

Copying happens in 4MB chunks so that a 100GB folder never inflates memory usage.
File timestamps travel with the copy.

A failed copy is retried up to three times, half a second apart; if it still fails, that one file is logged as an error and the run continues.
Partial fragments are deleted — half a photo left behind is worse than none.
If the disk fills up, it stops there and then, since retrying would be pointless.

Before you switch optimisation on

  • Videos are never optimised. They are copied as-is regardless of the settings.
  • PNG files ignore the size limit. Only the resolution limit applies to them.
  • Transparency becomes white. Saving as JPEG means the alpha channel has to go somewhere.
  • Anything that is not JPG, PNG or WebP is re-encoded as JPEG — HEIC, RAW, CR2, NEF and friends. The filename keeps its original extension, so you end up with a file named .heic that is JPEG inside.
  • It will not shrink indefinitely. Chasing a size limit stops at 800px on the longer side; past that it saves the file oversized and notes it in the log.
  • Rotation is corrected. The EXIF orientation is baked into the pixels so portrait shots never lie on their side, and the shooting metadata is preserved.

If you shoot RAW, leave optimisation off. RAW exists to be kept as a master, and converting it to JPEG here gains you nothing.

The folder tree it builds

With the default options, the destination ends up like this:

destination/
├── 2024/
│   ├── 01/
│   └── 02/
├── 2023/
├── 동영상/           (videos)
│   └── 2024/
│       └── 01/
├── 날짜미상/          (unknown date)
└── 기타 파일/         (other files — only if you enabled it)

Name collisions within a folder are numbered — IMG_2381_1.jpg. Nothing is overwritten.

Supported formats

Photos — JPG, JPEG, PNG, GIF, BMP, WebP, HEIC, RAW, CR2, NEF

Videos — MP4, AVI, MOV, MKV, WMV, FLV, WebM, M4V, MPEG, MPG, 3GP, 3G2, TS, MTS, M2TS, VOB, OGV, DivX, ASF, RM, RMVB, F4V, DV, MXF, QT

iPhone photos (HEIC) are read directly.
Extensions outside these lists come along only if you enable 기타 파일 포함 (include other files).

Where settings and logs live

In %APPDATA%\FileOrganizer — paste that into the address bar and it opens.

  • config.json — the source and destination paths you last used
  • <timestamp>_file_organizer.log — a fresh log for every run

Whatever failed, and why, is recorded there. The same lines scroll through the log pane at the bottom of the window.

Recipes

Tidying a phone backup
Date format 연-월, videos in their own folder, duplicate skipping on.
Point it at the same destination every time and only new photos are added.

When disk space runs short
Resolution limit 4096px, size limit 5–10MB.
For anything you view on a screen rather than print, 4096px is plenty — and keep the originals on an external drive.

One chaotic folder, all at once
Include other files on, videos in their own folder.
Photos, videos and documents all move across without anything being dropped.

One warning

Optimisation is a one-way door.
There is no way back to the original quality from a shrunken copy.
For photos that matter, copy one set across with optimisation off, and make the space-saving copies separately afterwards.

Goes well with

DownloadFile Organizer (for Windows)