**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)
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
renaming changes before proceeding.
- **Variable Support**: F2 allows you to use file attributes, such as EXIF data
for images or ID3 tags for audio files, to give you maximum flexibility in
renaming.
- **Comprehensive Options**: Whether it's simple string replacements or complex
regular expressions, F2 provides a full range of renaming capabilities.
- **Safety First**: It prioritizes accuracy by ensuring every renaming operation
is conflict-free and error-proof through rigorous checks.
- **Conflict Resolution**: Each renaming operation is validated before execution
and detected conflicts can be automatically resolved.
- **High Performance**: F2 is extremely fast and efficient, even when renaming
thousands of files at once.
- **Undo Functionality**: Any renaming operation can be easily undone to allow
the easy correction of mistakes.
- **Extensive Documentation**: F2 is well-documented with clear, practical
examples to help you make the most of its features without confusion.
## ⚡ Installation
If you're a Go developer, F2 can be installed with `go install` (requires v1.23
or later):
```bash
go install github.com/ayoisaiah/f2/v2/cmd/f2@latest
```
Other installation methods are
[documented here](https://f2.freshman.tech/guide/getting-started.html) or check
out the [releases page](https://github.com/ayoisaiah/f2/releases) to download a
pre-compiled binary for your operating system.
## 📃 Quick links
- [Installation](https://f2.freshman.tech/guide/getting-started.html)
- [Getting started tutorial](https://f2.freshman.tech/guide/tutorial.html)
- [Real-world example](https://f2.freshman.tech/guide/organizing-image-library.html)
- [Built-in variables](https://f2.freshman.tech/guide/how-variables-work.html)
- [File pair renaming](https://f2.freshman.tech/guide/pair-renaming.html)
- [Renaming with a CSV file](https://f2.freshman.tech/guide/csv-renaming.html)
- [Sorting](https://f2.freshman.tech/guide/sorting.html)
- [Resolving conflicts](https://f2.freshman.tech/guide/conflict-detection.html)
- [Undoing renaming mistakes](https://f2.freshman.tech/guide/undoing-mistakes.html)
- [CHANGELOG](https://f2.freshman.tech/reference/changelog.html)
## 💻 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](https://github.com/ayoisaiah/f2/blob/master/LICENCE).