# Feature: tag - tag renaming

**URL:** https://community.mp3tag.de/t/feature-tag-tag-renaming/69099
**Category:** Support
**Created:** [July 13, 2025, 10:33am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099 "2025-07-13T10:33:00Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 10:33am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/1 "2025-07-13T10:33:00Z")

</div>

It would be nice to have tag-tag renaming as of filename. Currently it's not possible to deconstruct tag that it could be possible to create a new one. In example: TESTME (RANDOMGUY REMIX) -\> Testme (Randomguy remix). Now I have to 1. make a filename for decostruction, then 2. reconstruct the filename and 3. convert filename to tag.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [July 13, 2025, 10:45am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/2 "2025-07-13T10:45:21Z")

</div>

You can use  
Convert Tag -\> Tag with the field  
`_FILENAME`  
and construct it as wanted.

BTW from the [help](https://docs.mp3tag.de/converters/copy-compose-tags/):

> There are two special field names, `_FILENAME` and `_DIRECTORY` , which target the file name and the directory name, respectively.

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 10:57am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/3 "2025-07-13T10:57:33Z")

</div>

Read the provided scenario at first please..

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [July 13, 2025, 10:59am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/4 "2025-07-13T10:59:28Z")

</div>

I you expect further help, it would help if you create an example that is reproducable, please...

If I had to guess: Could it be that you want adjust the case spelling in the field `TITLE` from  
old:  
**TESTME (RANDOMGUY REMIX)**  
to new:  
**Testme (Randomguy remix)**  
?

If yes, there are two ways:  
a) You can use an Action of type "[Case Conversion](https://docs.mp3tag.de/actions/case-conversion/)"  
or  
b) You can use one of the `$caps` [string functions](https://docs.mp3tag.de/scripting/#string-functions)

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 11:11am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/5 "2025-07-13T11:11:52Z")

</div>

> [@dauma](#):
>
> In example: TESTME (RANDOMGUY REMIX) -\> Testme (Randomguy remix)

As I said read the provided scenario first

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 13, 2025, 11:17am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/6 "2025-07-13T11:17:56Z")

</div>

> [@dauma](#):
>
> As I said read the provided scenario first

TBH I do not understand the "scenario".  
If you you want to split a field (is that

> [@dauma](#):
>
> decostruction

?)  
then please have a look at an action of the type "Guess value".  
It seems to me that you are looking for a function that provides a preview like the converters do also for "Guess value".  
The described detour from a tag field to the filename and then back into fields is not necessary with "Guess value" and the detour also has the disadvantage that a filename has a number of invalid characters that may appear in the tag data without any problems. SO these characters would be lost.

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 11:40am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/7 "2025-07-13T11:40:50Z")

</div>

> [@ohrenkino](#):
>
> "Guess value"

What's that? Where can I find it?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 13, 2025, 11:41am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/8 "2025-07-13T11:41:48Z")

</div>

See the documentation:

> **[Guess Values – Mp3tag Documentation](https://docs.mp3tag.de/actions/guess/)**
>
> Documentation on the Guess Value action type that can be performed as Quick Action or as reusable workflow from Action Groups. Mp3tag is the universal Tag Editor.

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 11:45am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/9 "2025-07-13T11:45:36Z")

</div>

> [@ohrenkino](#):
>
> See the documentation:

It's for filename - tag conversion. Not tag - tag (in my case - TITLE to TITLE).

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 13, 2025, 11:57am UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/10 "2025-07-13T11:57:24Z")

</div>

> [@dauma](#):
>
> filename - tag conversion

The Source Format in "Guess value" takes any format string, so it is not limited to the filename.

See e.g. this thread for an example

> [@Can my $regexp() code be made any better?](https://community.mp3tag.de/t/can-my-regexp-code-be-made-any-better/69024):
>
> I was wondering if my code can be streamlined any more than it is. Quick background: I'm writing actions to read and write cuesheet \<-\> tags. My current, albeit unfinished, code works, so if nothing changes, that's 100% Ok. I'm just looking to learn 8^) I notice that when I use, for example, $regexp(%TAG%,'(string)', $1), if the string isn't found, the action returns TAG in full. So, when I search for a string to pull a piece of info for tag, I do this: Field: DUMMY Format: $regexp(%CUESHEE…

(on a Mac "Guess values" is called "Import tag fields")

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 12:47pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/11 "2025-07-13T12:47:43Z")

</div>

> [@ohrenkino](#):
>
> The Source Format in "Guess value" takes any format string, so it is not limited to the filename.

I think it's too far from the problem. Let's make it easier. I have TITLE (%title%) and I want to make new title from it. Let's say from form $1 $2 ($3) into $2 - ($3) $1. Easiest way is to pass it to filename then deconstruct (or decomposing, choose) it to tags and concat these into required pattern. Do you know easier way?

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [July 13, 2025, 1:05pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/12 "2025-07-13T13:05:50Z")

</div>

Without a real example, just a theoretical guess:  
Convert Tag -\> Tag  
Field: `TITLE`  
Format string:  
`$regexp(%TITLE%,(.*) (.*) \((.*)\),$2 - ($3) $1)`

 ![image](https://community.mp3tag.de/uploads/default/original/3X/9/a/9a6fc3e035d32cec2777f4fcab2de69c8d51ee6c.png)

---

<div class="post-metadata">

### Author: ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)
#### Post date: [July 13, 2025, 1:08pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/13 "2025-07-13T13:08:19Z")

</div>

A real example would be very helpful here. Several regulars have attempted to provide support but your website sponsors haven't filled in the gaps.

> [@Hints for asking Support Requests](https://community.mp3tag.de/t/hints-for-asking-support-requests/56190):
>
> If you need support using Mp3tag, you can help the community members that are about to support you in finding a solution or workaround to your problem, by following these simple guidelines. Be descriptive, also in what you’ve already tried Please give a short explanation what’s not working as expected or what you’re trying to achieve. It’s best to know any details about the problem at hand and especially, what steps you’ve already tried to solve it by yourself. Helpful information also includ…

The `Guess Values` action is what I would suggest as well. But without actual data to work with I too am really just "guessing" at what is being asked.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 13, 2025, 1:09pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/14 "2025-07-13T13:09:13Z")

</div>

> [@dauma](#):
>
> Let's say from form $1 $2 ($3) into $2 - ($3) $1. Easiest way is to pass it to filename then deconstruct (or decomposing, choose) it to tags and concat these into required pattern. Do you know easier way?

That looks a lot like a task for a regular expression in TITLE in an action of the type "Format value" or Convert\>Tag-Tag  
Taking `TEST ME (RANDOMGUY REMIX)`  
Format string: `$regexp('TEST ME (RANDOMGUY REMIX)',(.*?) (.*?) (\(.*\)),$2 - $3 $1)`

leads to: `ME - (RANDOMGUY REMIX) TEST`

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 3:51pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/15 "2025-07-13T15:51:00Z")

</div>

> [@ohrenkino](#):
>
> That looks a lot like a task for a regular expression in TITLE in an action of the type "Format value" or Convert\>Tag-Tag  
> Taking `TEST ME (RANDOMGUY REMIX)`  
> Format string: `$regexp('TEST ME (RANDOMGUY REMIX)',(.*?) (.*?) (\(.*\)),$2 - $3 $1)`
> 
> leads to: `ME - (RANDOMGUY REMIX) TEST`

True. It's just an example because any naming can be found in filename/tags.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 13, 2025, 4:00pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/16 "2025-07-13T16:00:13Z")

</div>

> [@dauma](#):
>
> filename/tags.

A filename is no tag.  
As you have seen a lot of other users in this forum all came to the same result: use a regular expression.  
Together with Convert\>Tag-Tag where you get a preview, I would say that the feature is already there.

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 4:13pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/17 "2025-07-13T16:13:10Z")

</div>

> [@ohrenkino](#):
>
> A filename is no tag.  
> As you have seen a lot of other users in this forum all came to the same result: use a regular expression.

It's easier to pass required tags into filename and back because different algorithms are used than construct regulars all the time.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [July 13, 2025, 4:22pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/18 "2025-07-13T16:22:18Z")

</div>

As I said before:

> [@ohrenkino](#):
>
> the detour also has the disadvantage that a filename has a number of invalid characters that may appear in the tag data without any problems. SO these characters would be lost.

But of courseyou are free to apply a function of your liking.

I do not understand what you mean by

> [@dauma](#):
>
> because different algorithms are used

as regular expressions describe patterns just like the converter filename-tag does, I do not see where the disadvantage of the regular expression should lie.  
On the contrary: as you can manipulate the greadiness and limit the patterns much better to data types the regular expressions are much more flexible.  
I admit that a converter may be easier to set up for the layman the more flexible and powerful function cna be found in a regular expression.

---

<div class="post-metadata">

### Author: ![dauma](https://community.mp3tag.de/user_avatar/community.mp3tag.de/dauma/32/20455_2.png) [@dauma](https://community.mp3tag.de/u/dauma)
#### Post date: [July 13, 2025, 6:10pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/19 "2025-07-13T18:10:26Z")

</div>

> [@ohrenkino](#):
>
> you can manipulate the greadiness and limit the patterns much better to data types the regular expressions are much more flexible.

Too many devs here. I pass. KISS

---

<div class="post-metadata">

### Author: ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)
#### Post date: [August 12, 2025, 6:10pm UTC](https://community.mp3tag.de/t/feature-tag-tag-renaming/69099/20 "2025-08-12T18:10:42Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
