Cross-platform shell, scripting language and automation framework for Windows, Linux and macOS, built for structured data and objects.
ayoisaiah/f2
A cross-platform command-line tool for batch renaming files and directories with dry-run previews, conflict checks and undo.
Open-source alternative to:Bulk Rename Utility
- Stars
- 2,455
- Forks
- 66
- Open issues
- 4
- Last commit
- 18 days ago
What is it?
F2 is a command-line tool written in Go that renames many files and directories at once. It runs as a dry run by default, so you can review the proposed changes before anything is written to disk. Each rename is validated before execution, and detected conflicts can be resolved automatically.
Renaming can use built-in variables based on file attributes, such as EXIF data for images or ID3 tags for audio files. It supports simple string replacement as well as regular expressions. Renaming operations can be undone, which makes it easier to recover from mistakes.
F2 runs on Linux, macOS and Windows, and can be installed with go install or from prebuilt binaries on the releases page.
Key features
- 01Dry run by default to preview changes before applying them.
- 02Uses file attributes such as EXIF and ID3 tags as renaming variables.
- 03Supports both string replacement and regular expressions.
- 04Detects and can automatically resolve naming conflicts.
- 05Lets you undo renaming operations.
- 06Runs on Linux, macOS and Windows.
Use cases
- Organizing a photo library by renaming files using EXIF capture dates.
- Tidying a music collection by renaming tracks from ID3 tag metadata.
- Bulk-renaming downloaded files with regex patterns before archiving them.
Topics
FAQ
- What is f2?
- A cross-platform command-line tool for batch renaming files and directories with dry-run previews, conflict checks and undo. F2 is a command-line tool written in Go that renames many files and directories at once. It runs as a dry run by default, so you can review the proposed changes before anything is written to disk. Each rename is validated before execution, and detected conflicts can be resolved automatically.
- Is f2 free to use? What license does it have?
- f2 is open source under the MIT license. Check the license terms before using it in commercial products.
- Is f2 still maintained?
- Actively maintained. The last commit to f2 was on Oct 4, 2026.
- What can I use f2 for?
- Organizing a photo library by renaming files using EXIF capture dates. Tidying a music collection by renaming tracks from ID3 tag metadata. Bulk-renaming downloaded files with regex patterns before archiving them.
- Where can I get f2?
- The source code and installation instructions are on GitHub: https://github.com/ayoisaiah/f2
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A standalone command-line tool that watches files and directories and runs a command whenever they change.
Command-line tool that moves files to the freedesktop.org trashcan, the same trash used by KDE, GNOME and XFCE.
Fast, native, feature-rich terminal emulator with platform-native UIs and GPU rendering, plus a libghostty library for embedding terminals.
The package manager for macOS and Linux that installs command-line tools and GUI apps from its formula and cask repositories.
An open-source, AI-integrated terminal for macOS, Linux and Windows that supports BYOK and local models, durable SSH sessions and inline file previews.