Image Organizer by Year
A fast, terminal-based tool to organize image files into folders by year, using only their filenames. Supports .jpg
, .png
, .heic
, and more. Built in Go with concurrency for high performance.
๐ Featuresโ
- ๐ Extracts year from image filenames using smart regex patterns
- ๐ผ๏ธ Supports common image formats:
.jpg
,.jpeg
,.png
,.gif
,.bmp
,.tiff
,.webp
,.raw
,.heic
- โก Uses Goโs goroutines for concurrent processing of files
- ๐งช Preview mode to simulate organization before moving files
- ๐ Automatically moves unmatched files to an
Extra/
folder - ๐ง Skips existing files to prevent overwrites
- ๐ Fully offline, no dependencies
๐ฆ Downloadsโ
Grab the latest version for your OS from the Releases page:
OS | Architecture | Download Link |
---|---|---|
Windows | x64 | v1.0-io-win-x64.exe |
macOS | Universal | v1.0-io-macos |
Linux | x64 | v1.0-io-linux-x64 |
โ ๏ธ Make sure to give execute permission on Unix-like systems:
chmod +x v1.0-io-linux-x64
orchmod +x v1.0-io-macos
๐ ๏ธ Usageโ
- Place the executable in the folder with your image files.
- Open a terminal or command prompt in that folder.
- Run the program:
./v1.0-io-linux-x64 # Or the relevant binary for your OS
- You will be prompted to:
- Choose between Preview (1) or Organize (2)
- Enter a starting year (e.g., 2000)
- Confirm the operation (for Organize mode)
๐ What It Doesโ
- Detects years in filenames using many formats (e.g. IMG_20230404_223211.jpg, 2020-01-01.png, BURST20191212, etc.)
- Organizes images into folders named after the detected years:
2020/
IMG20201212.jpg
2021/
photo20210101.png
Extra/
random_image.png
๐งช Example Sessionโ
Choose option:
1. Preview organization (recommended first)
2. Organize files
Enter choice (1 or 2): 1
Enter starting year (e.g., 2000, default is 1900): 2010
PREVIEW MODE - Analyzing files in: /Users/Yash/Pictures
==================================================
Looking for years from 2010 to 2025
Found 56 image files
Proposed organization:
2020/ (8 files)
- IMG20201110_203045.jpg
- 20201111_family.png
- IMG_20201112_123000.jpg
... and 5 more
2021/ (12 files)
- trip2021-03-05.jpg
- IMG_20210306.jpg
- 2021.03.07.jpg
... and 9 more
Extra/ (4 files)
- unknown1.png
- image_xyz.jpg
... and 2 more
โ ๏ธ Limitationsโ
- Only uses filename-based date detection (EXIF support coming soon)
- Only processes files in the current directory (non-recursive)
- No undo after organizing
๐ Licenseโ
MIT License ยฉ ThatBackendGuy