ZHiCK Studio · free
ZHiCK Renamer▌
Batch renaming for people with render folders. It knows what an image sequence is, it shows you the result before it touches the disk, and it can put everything back.
The app, running. The theme control in its header is live — press it to see the other one.
Sequences are one row
240 EXRs arrive as a single line with a frame count, not 240 lines to scroll past.
It refuses bad batches
Collisions, occupied names and names Windows rejects are caught in the preview, before anything moves.
Undo outlives the app
Every batch is journalled to disk first, so Ctrl+Z still works after a crash.
Getting started
Three steps to your first rename
- 1
Drop a folder in
Drag a render folder onto the window, or use Add. Numbered frames are grouped automatically, so 240 EXRs arrive as one row rather than 240.
- 2
Type in the rule
The app opens with Find & replace already there. Type what you want gone and what should replace it — the preview updates on every keystroke, with the changed characters in green.
- 3
Press Rename
Nothing has touched the disk until you do. If a name would collide or Windows would reject it, that row is blocked and says why before you press anything.
The part that matters
A sequence is one row
…and 233 more
SH010_comp_bty.[1001-1240].exrbecomesSH010_cmp_bty.[1001-1240].exrOne row, 240 files renamed. Frame numbers, the separator and the extension are structure — no ordinary rule can touch them.
shot_v2.exr · shot_v3.exrbecomestwo rows, not a two-frame sequenceGrouping needs a matching digit width, and either 3+ digits of padding or 4+ frames. Versions are unpadded; frame numbers are not. It is a heuristic, so the frame count is on every row and grouping is a toggle.
Every rule
Eight rules, applied top to bottom
Find & replace
Swap text anywhere in the name. Tick Regex for patterns — an Examples menu and a ? cheat sheet appear beside it when you do.
Rules
Files
Rename 2The third row has no “comp” in it, so it is left alone and says so. Rules never touch the frame numbers or the extension.
plate_v03becomesplateWith Regex ticked: find _v\d+$ and replace with nothing — strips the version only when it is at the end.
shot_v03becomesshot_version03Regex with a capture group: find v(\d+), replace with version\1.
Insert
Add text at the start, at the end, or at a character position.
Rules
Files
Rename 2“At the end” means the end of the name, not the end of the filename — the version lands before the frame number, where it belongs.
bty_1001becomesTEX_bty_1001The same rule set to “At the start”.
Remove
Delete a piece of text, or a number of characters from the start, the end, or a range.
Rules
Files
Rename 2Counting characters, not words — which is why the preview matters. Four is right for “old_” and wrong for anything else.
SH010_bty_tempbecomesSH010_btyThe same rule set to remove the text “_temp” instead of a count.
Change case
UPPERCASE, lowercase, Title Case or Sentence case.
Rules
Files
Rename 2Two rules, top to bottom: lowercase first, then spaces to underscores. This pair is the built-in Tidy names preset.
Numbering
Write a counter into the filename — start, step, digits, separator, and whether it goes at the front or the back. It counts down the visible rows, so unticking one closes the gap rather than leaving a hole.
Rules
Files
Rename 3The counter follows the order of the list, so reordering the rows renumbers them — and unticking one closes the gap instead of leaving a hole.
Reorder segments
Split the name on a separator and rebuild it from a template. The app shows you what {0} {1} {2} actually resolved to for the first file, so it is not guesswork.
Rules
Files
Rename 2Under the template the app prints what the numbers resolved to for the first file — {0}=N, {1}=1001, {2}=normal — so writing the template stops being guesswork.
Renumber frames
Change the frame numbers themselves. A render that came out 56-156 becomes 1001-1101 by typing one number. Gaps close by default; tick the box to keep them.
Rules
Files
Rename 2Row two had a gap at 58-59 and it closed. Frame 111 wants the name frame 56 is still holding — the app renames through temporary names, so that is ordinary rather than a conflict.
take.[0056, 0057, 0060].exrbecomestake.[0001, 0002, 0005].exrThe same rule with “Keep missing frames as gaps” ticked — the hole at 58-59 is preserved.
Frame padding
Change how many digits the frame number is written with. Sequences only — ordinary files are left alone.
Rules
Files
Rename 1Two of these three rows are not sequences, so there is no frame number to pad and the rule passes over them.
Putting them together
Real jobs, in one pass
Rules
Files
Rename 2Three rules, one press of Rename. Each is handed what the one above it produced — which is why the padding rule sees a name that has already been renamed and versioned.
SH020_bty.[0056-0156].exrbecomesSH020_bty.[1001-1101].exrThe Renumber frames from 1001 preset — renumber, then repad to the studio's four digits.
SH010 notes v2.txtbecomessh010_notes_v2.txtThe Tidy names preset: lowercase, then spaces to underscores. Extensions are never touched.
plate_v03becomesplate_v01The Reset version preset: strip whatever version is on the end, then put a fresh one on. Edit the number after loading it.
a.txt holds “a”, b.txt holds “b”becomesa.txt holds “b”, b.txt holds “a”Swapping two names. Impossible one file at a time — the first rename lands on a name that is still occupied — so every batch that needs it goes through temporary names and back out. Rotations of any length work.
Before you press it
What the app refuses to do
Two rows wanting one name
Both are blocked and tinted red. Which one won would otherwise depend on iteration order.
A name that is already taken
Blocked — unless that file is itself moving out of the way in the same batch, which the app works out for you.
Names Windows rejects
Reserved device names (CON, NUL, COM1…), the characters < > : " / \ | ? *, trailing dots and spaces. Caught in the preview, not halfway through a batch.
Anything, while a row is in error
The Rename button goes dead. A batch that half-succeeds leaves a folder in two naming schemes at once.
If it goes wrong
Undo survives closing the app
- Journal written to disk…\ZHiCK\Renamer\history
- 240 files renamed
- Put back, all 240
The journal lives in %LOCALAPPDATA%\ZHiCK\Renamer\history. A file you have since moved or deleted yourself is reported and stepped over rather than aborting the rest of the undo.
Faster
Keyboard
Undo the last batch
Rename
Drop the selected rows from the list
When you need it
Regex, without learning regex
Examples
Seven ready-made patterns named by what they do — “Remove _v01 from the end”, “Keep only the numbers”, “Swap the first two parts”. Picking one fills both fields, so you also see the pattern that produced it.
The ? button
A short table of the symbols you will actually meet, and one pattern taken apart piece by piece — including why $ matters.
Who made this
ZHiCK Studio
ZHiCK Renamer is built and given away by ZHiCK Studio, a compositing studio that makes tools for its own pipeline and then sells the ones worth selling. This one is free — it is how people find the rest.
zhickstudio.com/shop