F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!
Read this in other languages: Deutsch | Español | Français | Português | Русский | 繁體中文
F2 - Command-Line Batch Renaming
F2 is a cross-platform command-line tool for batch renaming files and directories quickly and safely. Written in Go!
What does F2 do differently?
Compared to other renaming tools, F2 offers several key advantages:
- Dry Run by Default: It defaults to a dry run so that you can review the
- Variable Support: F2 allows you to use file attributes, such as EXIF data
- Comprehensive Options: Whether it's simple string replacements or complex
- Safety First: It prioritizes accuracy by ensuring every renaming operation
- Conflict Resolution: Each renaming operation is validated before execution
- High Performance: F2 is extremely fast and efficient, even when renaming
- Undo Functionality: Any renaming operation can be easily undone to allow
- Extensive Documentation: F2 is well-documented with clear, practical
⚡ Installation
If you're a Go developer, F2 can be installed with go install (requires v1.23 or later):
go install github.com/ayoisaiah/f2/v2/cmd/f2@latest
Other installation methods are documented here or check out the releases page to download a pre-compiled binary for your operating system.
📃 Quick links
- Installation
- Getting started tutorial
- Real-world example
- Built-in variables
- File pair renaming
- Renaming with a CSV file
- Sorting
- Resolving conflicts
- Undoing renaming mistakes
- CHANGELOG
💻 Screenshots

🤝 Contribute
Bug reports and feature requests are much welcome! Please open an issue before creating a pull request.
⚖ Licence
Created by Ayooluwa Isaiah and released under the terms of the MIT Licence.