{"id":18537168,"url":"https://github.com/patrickap/img-sort","last_synced_at":"2026-04-02T02:46:31.220Z","repository":{"id":143554587,"uuid":"594502668","full_name":"patrickap/img-sort","owner":"patrickap","description":"A little golang tool that helps you keep your photos and videos organized. 🗂️","archived":false,"fork":false,"pushed_at":"2024-12-23T19:19:18.000Z","size":62806,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-04T12:54:43.446Z","etag":null,"topics":["cli","golang","organize","photo","sort","tool","video"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrickap.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-28T18:44:44.000Z","updated_at":"2024-12-23T19:19:22.000Z","dependencies_parsed_at":"2024-02-11T23:24:07.670Z","dependency_job_id":"bb8b6a3a-511c-4e6c-9f42-3cd9eb911eda","html_url":"https://github.com/patrickap/img-sort","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickap%2Fimg-sort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickap%2Fimg-sort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickap%2Fimg-sort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickap%2Fimg-sort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrickap","download_url":"https://codeload.github.com/patrickap/img-sort/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248078246,"owners_count":21044076,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","golang","organize","photo","sort","tool","video"],"created_at":"2024-11-06T19:37:18.930Z","updated_at":"2026-04-02T02:46:31.199Z","avatar_url":"https://github.com/patrickap.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# img-sort\n\nIntroducing img-sort, a little golang tool that helps you keep your photos and videos organized. This tool will sort all your media in year and month folders, making it easy for you to find the photos and videos you need.\n\n## Features\n\n- Simple and easy to use with flags\n- Supports various file formats including `JPEG`, `HEIC`, `MP4`, `MOV` and more\n- Reads the exif data if available otherwise uses the modification time\n- Photos and videos without date or time information are moved to a directory `unknown`\n- Duplicates are handled by appending a postfix `-1`, `-2`, `-3` and so on\n\n## Folder Structure\n\nThe folder structure created by img-sort will look like the following example:\n\n```yaml\n├── 2021\n│   ├── 2021-01\n│   │   ├── 2021-01-07_11.23.44.jpg\n│   │   ├── 2021-01-07_13.24.53.heic\n│   │   ├── 2021-01-07_20.27.47.jpg\n│   │   ├── 2021-01-07_20.27.47-1.jpg\n│   │   ├── 2021-01-09_15.58.24.jpg\n│   │   ├── 2021-01-09_21.39.27.mp4\n│   │   ├── 2021-01-09_23.13.37.jpg\n│   │   ├── 2021-01-14_10.44.50.mov\n│   ├── 2021-02\n│   |   ├─ ...\n│   ├── ...\n│   └── 2021-12\n├── 2022\n│   ├── 2022-01\n│   ├── 2022-02\n│   ├── ...\n│   └── 2022-12\n├── unknown\n├── ...\n```\n\n## Installation\n\nIn order to use this application, the following dependencies must be installed on your system:\n\n- Perl: A version of Perl `\u003e= 5`and `\u003c 6` must be installed.\n- Exiftool: A version of Exiftool `\u003e= 12.55` must also be installed on your system. This application searches for the binaries at `/usr/bin/exiftool`.\n\nPlease ensure that these dependencies are installed before attempting to run this application.\n\n```bash\n# Linux\nsudo apt-get install perl\nsudo apt-get install exiftool\n\n# MacOS\nbrew install perl\nbrew install exiftool\n```\n\nAfter all dependencies are installed [download](./build) the executable of img-sort and add it to the `$PATH` variable or manually move it to `/usr/local/bin/img-sort`.\n\n## Usage\n\nSimply run `img-sort \u003csource\u003e \u003ctarget\u003e [flags]`. The tool will take care of the rest.\n\n```bash\nimg-sort /path/to/source /path/to/target\n```\n\n## Available Flags\n\n`--dry` / `-d`: Perform a dry run to test a command without modifying any data.\n`--modtime` / `-m`: If there is no date information available the file modification time can be used as a fallback.\n\n## Contribution\n\nImg-sort is developed in Go. To build the binary, execute `just go-build`, which will generate the binary at `./build/img-sort`. To publish a new version, use `just release \u003cpatch|minor|major\u003e`. This command will automatically increment the version according to semantic versioning.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickap%2Fimg-sort","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrickap%2Fimg-sort","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickap%2Fimg-sort/lists"}