RenameClick is an offline-first AI file renamer and organizer for Mac/Windows.
It analyzes file content locally (no uploads) to generate clean, descriptive names, then auto-sorts files into folders by category using presets. Comes with 2 presets out of the box, but the real power is custom presets with your own categories.
Supports batch processing, multilingual output, custom prompts (instructions), and optional cloud/local LLMs (Ollama, LM Studio).
This is a relaunch with a set of updates added since the first release.
Over the past weeks, I focused on expanding flexibility based on early feedback:
Added support for cloud AI providers (optional)
Integrated LM Studio and Ollama for local LLMs
Introduced custom prompts to fully control naming logic
Added a multilingual interface
Launched automatic file organization into category folders
Improved batch processing and overall stability
Happy to answer questions or hear how people are using it.
Report
Wishing I had encountered this tool merely twenty-four hours ago, whilst I was spending a rather desperate afternoon manually renaming years of photo archives. The utility is evident.
One inquiry for the developers: do you intend to expand support to include design-specific file types, such as .ai or .indd?
@sphnsx Wishing you'd found it earlier is the most relatable feedback possible. About .ai / .indd, expanding the list of supported file types is part of the overall strategy. I'll look into these formats specifically and see what’s feasible to add.
A lot of value here depends on naming conventions and organization logic: how do custom prompts and category presets work together, and what guardrails do you offer so people can enforce consistent patterns (dates/vendors/projects) without spending hours prompt-tuning?
@curiouskitty Great point. There are actually two separate layers at play here.
First, there is a non-LLM naming layer: practical naming tools and conventions (dates, EXIF, naming rules) that enforce consistency without involving the model. This layer is disabled when custom instructions are applied, because they may conflict with these rules. It is used when the default RenameClick naming prompt is active. Below is a screenshot of the default Filename Format presets, which represent the non-LLM naming convention tools.
Second, there is a custom prompt that is sent to the LLM as-is and focuses solely on generating the filename. It does not handle categories. The app includes a built-in example prompt that demonstrates the recommended structure and serves as a starting template. Here it is: ``` You are an information extraction system.
Input: an image or PDF of an electricity bill.
Task: extract the following fields strictly from the document content:
1. Payable until date
2. Total amount due
3. Payer full name (Name Surname)
Rules:
- Use the date labeled "Payable until" or equivalent.
- Convert the date to ISO format YYYY-MM-DD.
- Amount must be numeric with comma as decimal separator (e.g. 317,03).
- Name must be exactly as written on the bill.
- If any field is missing or unclear, do not guess. Output "UNKNOWN" for that field.
Categories are handled separately, isolated from naming and custom instructions, and works on the actual file content. The model simply evaluates whether the content fits a category based on its description.
Does this fully protect users from spending time tuning prompts? Probably not - there’s no perfect setup. But the goal is to keep the basics simple, make defaults usable out of the box, and let people go deeper only if they want to. Getting to “good” is easy; getting to “perfect” is always an iterative process.
Report
Offline batch renaming hits scale pain fast: 10k+ files means slow content extraction, collisions, and nondeterministic names that make “undo” and dedupe scary.
Best practice is a deterministic pipeline: lightweight local parsers first (EXIF/PDF metadata), content hashes for stable IDs, preview + transactional apply with full rollback, and collision rules (suffixing, folder-level atomic moves).
How do presets encode the decision logic (regex + LLM + heuristics), and can users export a renaming manifest so runs are reproducible across Ollama, LM Studio, and cloud models?
@ryan_thill Content is extracted from each file sequentially, and the processing time per file is largely constant. It mainly depends on the prompt and varies by file type (DOC, PDF, JPG), as well as by image resolution, which ultimately translates into token count. On average, each file takes roughly the same amount of processing time, regardless of whether you process 100 files or 10,000.
Filenames cannot be fully deterministic by nature of LLMs, but the temperature is set very close to the minimum, so a reasonable level of consistency can be expected. The main goal here is to minimize hallucinations and correctly identify the actual content of the file.
Collisions and deduplication are handled via incremental suffixes. Globally, the flow is: first full processing and preview of all files, then the user explicitly decides which files to rename and how to apply the changes.
EXIF and other metadata are parsed separately and can be used for formatting. The LLM has no awareness of this metadata, and it does not need to.
Regarding presets, I’m not entirely sure which presets you mean. If this refers to category presets, those are separate from the naming logic. There is no exportable renaming manifest at the moment, but the internal pipeline is unified across all providers integrated into RenameClick, so the behavior remains consistent whether using Ollama, LM Studio, or a cloud model.
@roopreddy Not planning an iOS version right now. The app is heavily built around desktop workflows and local file access. But if you have a particular iOS use case you’re thinking about, feel free to share - happy to think it through
Report
File naming is one of those things everyone puts off because it’s tedious. Automating it locally without sending files anywhere is a nice balance.
Replies
RenameClick
This is a relaunch with a set of updates added since the first release.
Over the past weeks, I focused on expanding flexibility based on early feedback:
Added support for cloud AI providers (optional)
Integrated LM Studio and Ollama for local LLMs
Introduced custom prompts to fully control naming logic
Added a multilingual interface
Launched automatic file organization into category folders
Improved batch processing and overall stability
Happy to answer questions or hear how people are using it.
Wishing I had encountered this tool merely twenty-four hours ago, whilst I was spending a rather desperate afternoon manually renaming years of photo archives. The utility is evident.
One inquiry for the developers: do you intend to expand support to include design-specific file types, such as .ai or .indd?
RenameClick
@sphnsx
Wishing you'd found it earlier is the most relatable feedback possible.
About .ai / .indd, expanding the list of supported file types is part of the overall strategy. I'll look into these formats specifically and see what’s feasible to add.
Product Hunt
RenameClick
@curiouskitty
Great point. There are actually two separate layers at play here.
First, there is a non-LLM naming layer: practical naming tools and conventions (dates, EXIF, naming rules) that enforce consistency without involving the model. This layer is disabled when custom instructions are applied, because they may conflict with these rules. It is used when the default RenameClick naming prompt is active. Below is a screenshot of the default Filename Format presets, which represent the non-LLM naming convention tools.
Second, there is a custom prompt that is sent to the LLM as-is and focuses solely on generating the filename. It does not handle categories. The app includes a built-in example prompt that demonstrates the recommended structure and serves as a starting template. Here it is:
```
You are an information extraction system.
Input: an image or PDF of an electricity bill.
Task: extract the following fields strictly from the document content:
1. Payable until date
2. Total amount due
3. Payer full name (Name Surname)
Rules:
- Use the date labeled "Payable until" or equivalent.
- Convert the date to ISO format YYYY-MM-DD.
- Amount must be numeric with comma as decimal separator (e.g. 317,03).
- Name must be exactly as written on the bill.
- If any field is missing or unclear, do not guess. Output "UNKNOWN" for that field.
- Do not include currency symbols.
- Do not include extra words or explanations.
Output format (single line, exact):
Electricity Bill__YYYY-MM-DD__Amount__Name Surname
Good example:
Electricity Bill__2025-03-05__317,03__Arthur Sullivan
```
Categories are handled separately, isolated from naming and custom instructions, and works on the actual file content. The model simply evaluates whether the content fits a category based on its description.
Does this fully protect users from spending time tuning prompts? Probably not - there’s no perfect setup. But the goal is to keep the basics simple, make defaults usable out of the box, and let people go deeper only if they want to. Getting to “good” is easy; getting to “perfect” is always an iterative process.
Offline batch renaming hits scale pain fast: 10k+ files means slow content extraction, collisions, and nondeterministic names that make “undo” and dedupe scary.
Best practice is a deterministic pipeline: lightweight local parsers first (EXIF/PDF metadata), content hashes for stable IDs, preview + transactional apply with full rollback, and collision rules (suffixing, folder-level atomic moves).
How do presets encode the decision logic (regex + LLM + heuristics), and can users export a renaming manifest so runs are reproducible across Ollama, LM Studio, and cloud models?
RenameClick
@ryan_thill
Content is extracted from each file sequentially, and the processing time per file is largely constant. It mainly depends on the prompt and varies by file type (DOC, PDF, JPG), as well as by image resolution, which ultimately translates into token count. On average, each file takes roughly the same amount of processing time, regardless of whether you process 100 files or 10,000.
Filenames cannot be fully deterministic by nature of LLMs, but the temperature is set very close to the minimum, so a reasonable level of consistency can be expected. The main goal here is to minimize hallucinations and correctly identify the actual content of the file.
Collisions and deduplication are handled via incremental suffixes. Globally, the flow is: first full processing and preview of all files, then the user explicitly decides which files to rename and how to apply the changes.
EXIF and other metadata are parsed separately and can be used for formatting. The LLM has no awareness of this metadata, and it does not need to.
Regarding presets, I’m not entirely sure which presets you mean. If this refers to category presets, those are separate from the naming logic. There is no exportable renaming manifest at the moment, but the internal pipeline is unified across all providers integrated into RenameClick, so the behavior remains consistent whether using Ollama, LM Studio, or a cloud model.
Documentation.AI
Do you plan to launch this for iOS as well?
RenameClick
@roopreddy
Not planning an iOS version right now.
The app is heavily built around desktop workflows and local file access.
But if you have a particular iOS use case you’re thinking about, feel free to share - happy to think it through
File naming is one of those things everyone puts off because it’s tedious. Automating it locally without sending files anywhere is a nice balance.
RenameClick
@mhamdouchi
That was exactly the goal: make the boring cleanup effortless, but keep everything local and private. Appreciate the comment!
Yeah!!! Renaming files could be the worst task someone has to face, so I'm truly happy to see something like this and wish you all the best here!
RenameClick
@german_merlo1
Haha, so true 😄 Thanks for the kind words!