Skip to content

sun-jiao/flut-renamer

Repository files navigation

feature graphic image

Flut Renamer

Flut Renamer is a powerful yet easy-to-use tool designed to help users manage and rename files and directories. No more manually renaming one by one – our app offers various features including inserting text, file metadata, and Exif data, replacing text, deleting text, rearranging, and more, allowing you to quickly batch rename files according to your needs.

"Flut" is derived from "Flutter", indicating that the app is built using the Flutter framework, and "Flut" means "flood" or "tide" in German, implying that this app can batch rename files as swiftly as floods or tidal waves.

  • Multiple renaming options: Easily achieve batch file renaming by inserting, replacing, deleting text, and rearranging.
  • Insert file metadata and Exif data: Extract information from file metadata and Exif data to insert it into the file name.
  • Completely open-source and free: Flut Renamer is entirely open-source and contains no advertisements or in-app purchases, allowing you to use it freely at any time.
  • Cross-platform compatibility: Built on the Flutter framework, Flut Renamer can run on multiple operating systems, enabling you to use it anytime, anywhere.

Install

Android

Get it on Google Play

Install from the Google Play Store or download the *.apk from releases.

Linux

Download the *.AppImage or *.tar.gz from releases.

For Arch Linux users, just run:

yay -S flut-renamer # build from source code
yay -S flut-renamer-bin # binary version

Windows

Download the *.exe from releases.

macOS

Download the *.dmg from releases.

iOS

Download the *.ipa from releases and install it using AltStore or other tools.

Known issues or limitations

Android

Android provides drag-and-drop files as content URIs, which cannot be renamed, so we need to convert them to absolute paths.

Drag-and-dropped files from the AOSP Files app and Files by Google are not allowed to get an absolute path, so drag-and-drop from them is not supported.

Drag-and-drop works fine with Solid Explorer and OnePlus File Explorer.

iOS

There are two steps to pick files on iOS, first choose the directory where your files are located. Then, within the selected folder, pick the files you want to rename. Due to the system restrictions, we have to use the two-step process. Otherwise, Flut Renamer can not rename picked files.

The desktop_drop library does not have iOS support yet, so drag-and-drop is not available on iOS.

I tried a few other libraries, such as super_drag_and_drop, which fails to provide the path to the dropped file, and native_drag_n_drop, which copies the file into the app's sandbox directory. None of them provide the path to the original file, so renaming dropped files is impossible.

(In fact, I have no Apple development experience at all, and I don’t even know the Swift language. The iOS and macOS native code were completed with the following links as references: Writing custom platform-specific code, Providing access to directories, juanmartin/renamerApp-ios. Therefore, if there are any errors in the Swift code, please feel free to point them out by opening an issue or a pull request. I'll be very grateful to you.)

todo:

  • Duplicate name check. (Done.)
  • Convert, including case conversion, Chinese Simplified/Traditional/Pinyin conversion, and Latin/Cyrillic script transliteration. (Done.)
  • Incremental renaming: for example, RenamerFile-1, RenamerFile-2, RenamerFile-3, RenamerFile-4, ... (Done.)
  • Rules re-editing. (Done.)
  • Implement iOS renamer with specific code and Platform channel. (Done.)

Screenshots

Desktop

Desktop-0 Desktop-1
Desktop-2 Desktop-3

Phone

Phone-0 Phone-1 Phone-2 Phone-3 Phone-4

Seven-inch Tablet

Seven-inch_Tablet-0 Seven-inch_Tablet-1
Seven-inch_Tablet-2 Seven-inch_Tablet-3

Ten-inch Tablet

Ten-inch_Tablet-0 Ten-inch_Tablet-1
Ten-inch_Tablet-2 Ten-inch_Tablet-3

Credit

  • Thanks to m040601 for suggesting a new name for this application. "flut renamer" is inspired by their suggestion "renamer-flutter"
  • Thanks to LinuxLinks for recommending this application in their article.
  • Thanks to HowToMen for recommending this application in their video.
  • Thanks to Andy for recommending this application in their article.