{"id":13581718,"url":"https://github.com/ayoisaiah/f2","last_synced_at":"2026-04-09T22:07:22.492Z","repository":{"id":38365122,"uuid":"259488212","full_name":"ayoisaiah/f2","owner":"ayoisaiah","description":"F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!","archived":false,"fork":false,"pushed_at":"2025-06-16T02:02:30.000Z","size":54319,"stargazers_count":2073,"open_issues_count":4,"forks_count":57,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-07-14T22:38:45.886Z","etag":null,"topics":["batch-rename","bulk-rename-files","golang","linux","macos","rename-files","windows"],"latest_commit_sha":null,"homepage":"https://f2.freshman.tech","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/ayoisaiah.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":null,"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,"zenodo":null},"funding":{"patreon":"freshman"}},"created_at":"2020-04-28T00:20:46.000Z","updated_at":"2025-07-14T21:29:37.000Z","dependencies_parsed_at":"2024-02-09T01:31:34.310Z","dependency_job_id":"bfc3c60c-8384-4f6a-b5f1-a060d195b8c4","html_url":"https://github.com/ayoisaiah/f2","commit_stats":{"total_commits":426,"total_committers":2,"mean_commits":213.0,"dds":"0.0023474178403756207","last_synced_commit":"5c60eb75a8f9ffb9dd9e3277f6a216d031fca8ec"},"previous_names":["ayoisaiah/goname"],"tags_count":43,"template":false,"template_full_name":null,"purl":"pkg:github/ayoisaiah/f2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayoisaiah%2Ff2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayoisaiah%2Ff2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayoisaiah%2Ff2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayoisaiah%2Ff2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ayoisaiah","download_url":"https://codeload.github.com/ayoisaiah/f2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ayoisaiah%2Ff2/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265452489,"owners_count":23767977,"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":["batch-rename","bulk-rename-files","golang","linux","macos","rename-files","windows"],"created_at":"2024-08-01T15:02:12.185Z","updated_at":"2026-01-11T22:49:05.879Z","avatar_url":"https://github.com/ayoisaiah.png","language":"Go","readme":"**Read this in other languages:** [Deutsch](docs/README.de.md) | [Español](docs/README.es.md) | [Français](docs/README.fr.md) | [Português](docs/README.pt.md) | [Русский](docs/README.ru.md) | [繁體中文](docs/README.zh.md)\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"https://ik.imagekit.io/turnupdev/f2_logo_02eDMiVt7.png\" width=\"250\" height=\"250\" alt=\"f2\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n   \u003ca href=\"http://makeapullrequest.com\"\u003e\u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\" alt=\"\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/ayoisaiah/F2/actions\"\u003e\u003cimg src=\"https://github.com/ayoisaiah/F2/actions/workflows/test.yml/badge.svg\" alt=\"Github Actions\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://golang.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/Made%20with-Go-1f425f.svg\" alt=\"made-with-Go\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://goreportcard.com/report/github.com/ayoisaiah/f2\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/ayoisaiah/f2\" alt=\"GoReportCard\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/ayoisaiah/f2\"\u003e\u003cimg src=\"https://img.shields.io/github/go-mod/go-version/ayoisaiah/f2.svg\" alt=\"Go.mod version\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/ayoisaiah/f2/blob/master/LICENCE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/ayoisaiah/f2.svg\" alt=\"LICENCE\"\u003e\u003c/a\u003e\n   \u003ca href=\"https://github.com/ayoisaiah/f2/releases/\"\u003e\u003cimg src=\"https://img.shields.io/github/release/ayoisaiah/f2.svg\" alt=\"Latest release\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eF2 - Command-Line Batch Renaming\u003c/h1\u003e\n\n**F2** is a cross-platform command-line tool for batch renaming files and\ndirectories **quickly** and **safely**. Written in Go!\n\n## What does F2 do differently?\n\nCompared to other renaming tools, F2 offers several key advantages:\n\n- **Dry Run by Default**: It defaults to a dry run so that you can review the\n  renaming changes before proceeding.\n\n- **Variable Support**: F2 allows you to use file attributes, such as EXIF data\n  for images or ID3 tags for audio files, to give you maximum flexibility in\n  renaming.\n\n- **Comprehensive Options**: Whether it's simple string replacements or complex\n  regular expressions, F2 provides a full range of renaming capabilities.\n\n- **Safety First**: It prioritizes accuracy by ensuring every renaming operation\n  is conflict-free and error-proof through rigorous checks.\n\n- **Conflict Resolution**: Each renaming operation is validated before execution\n  and detected conflicts can be automatically resolved.\n\n- **High Performance**: F2 is extremely fast and efficient, even when renaming\n  thousands of files at once.\n\n- **Undo Functionality**: Any renaming operation can be easily undone to allow\n  the easy correction of mistakes.\n\n- **Extensive Documentation**: F2 is well-documented with clear, practical\n  examples to help you make the most of its features without confusion.\n\n## ⚡ Installation\n\nIf you're a Go developer, F2 can be installed with `go install` (requires v1.23\nor later):\n\n```bash\ngo install github.com/ayoisaiah/f2/v2/cmd/f2@latest\n```\n\nOther installation methods are\n[documented here](https://f2.freshman.tech/guide/getting-started.html) or check\nout the [releases page](https://github.com/ayoisaiah/f2/releases) to download a\npre-compiled binary for your operating system.\n\n## 📃 Quick links\n\n- [Installation](https://f2.freshman.tech/guide/getting-started.html)\n- [Getting started tutorial](https://f2.freshman.tech/guide/tutorial.html)\n- [Real-world example](https://f2.freshman.tech/guide/organizing-image-library.html)\n- [Built-in variables](https://f2.freshman.tech/guide/how-variables-work.html)\n- [File pair renaming](https://f2.freshman.tech/guide/pair-renaming.html)\n- [Renaming with a CSV file](https://f2.freshman.tech/guide/csv-renaming.html)\n- [Sorting](https://f2.freshman.tech/guide/sorting.html)\n- [Resolving conflicts](https://f2.freshman.tech/guide/conflict-detection.html)\n- [Undoing renaming mistakes](https://f2.freshman.tech/guide/undoing-mistakes.html)\n- [CHANGELOG](https://f2.freshman.tech/reference/changelog.html)\n\n## 💻 Screenshots\n\n![F2 can utilise Exif attributes to organise image files](https://f2.freshman.tech/assets/2.D-uxLR9T.png)\n\n## 🤝 Contribute\n\nBug reports and feature requests are much welcome! Please open an issue before\ncreating a pull request.\n\n## ⚖ Licence\n\nCreated by Ayooluwa Isaiah and released under the terms of the\n[MIT Licence](https://github.com/ayoisaiah/f2/blob/master/LICENCE).\n","funding_links":["https://patreon.com/freshman"],"categories":["Go","Files and Directories","linux","\u003ca name=\"file-renamer\"\u003e\u003c/a\u003eFile renamers"],"sub_categories":["Files"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayoisaiah%2Ff2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fayoisaiah%2Ff2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fayoisaiah%2Ff2/lists"}