# Listing all tagged fields in the tag panel

**URL:** https://community.mp3tag.de/t/listing-all-tagged-fields-in-the-tag-panel/71949
**Category:** Support
**Created:** [October 11, 2026, 5:26pm UTC](https://community.mp3tag.de/t/listing-all-tagged-fields-in-the-tag-panel/71949 "2026-10-11T17:26:58Z")
**Posts on this page:** 1
**Showing post:** 10

<div class="post-metadata">

### Author: ![Casual\_Tea](https://community.mp3tag.de/user_avatar/community.mp3tag.de/casual_tea/32/18886_2.png) [@Casual\_Tea](https://community.mp3tag.de/u/Casual_Tea)
#### Post date: [October 18, 2026, 12:05pm UTC](https://community.mp3tag.de/t/listing-all-tagged-fields-in-the-tag-panel/71949/10 "2026-10-18T12:05:42Z")

</div>

# Listing only hidden fields in the tag panel

Perhaps this is also a solution for [this thread](https://community.mp3tag.de/t/remaining-metadata-in-tag-panel/71908/14).

Field: `_FORMAT`  
Name: `List of hidden fields`  
Value:

```x
$replace($regexp($regexp($regexp($regexp($sort($regexp($regexp($list(🦕,:$repeat($char(9),4),🦖,\\),🦕(?:album(?:artistsort|artists?|sort)?|artist(?:sort|s)?|barcode|catalognumber|co(?:mment|mposer|pyright)|description|dis(?:ambiguation|cnumber|csubtitle|ctotal)|genre|isrc|label|lyricist|mediatype|mb_artistcredit_artist_country|musicbrainz_(?:(?:album(?:artistid|id|releasecountry|status|type))|artistid|release(?:groupid|trackid)|trackid)|originalyear|publisher|setsubtitle|title|track(?:total)?|version|year):\t'['^🦖']'+🦖,,1),(?<=🦕)('['a-zA-Z_ #\d']'+:\t++(?='['^🦖']'{68})'['^🦖']'{67})'['^🦖']'*,$1…),🦖),\r?\n,↵),(?<=🦕)('['^:']'{1','31})(:\t+'['^🦖']'{1','36})(?=🦖),\U$1\E$2\r\n),(?|(?<=🦕)('['a-zA-Z_ #\d']'{32','}:)\t+('['^🦖']'+)(?=🦖)|(?<=🦕)('['a-zA-Z_ #\d']'+:)\t+('['^🦖\n']'{36','}))(?=🦖),\U$1\E\r\n $2\r\n),(?<=🦕)(?|('['A-Z_ #\d']'{1','7}:\t{4})\t*|('['A-Z_ #\d']'{8','16}:\t{3})\t*|('['A-Z_ #\d']'{16','23}:\t{2})\t*|('['A-Z_ #\d']'{24','30}:\t)\t*|('['A-Z_ #\d']'{31}:)\t*),$1),🦕,,🦖,)

```

Type: `Multiline`  
Rows: `4`

## Breakdown

Field: `TEST1`  
Format string:

```x
$list(🦕,:$repeat($char(9),4),🦖,\\)

```

Creates the initial tag-value pairs, separated by `:` and 4 tabs, wrapped into `🦕` and `🦖`.

Field: `TEST2`  
Format string:

```x
$regexp(%test1%,🦕(?:album(?:artistsort|artists?|sort)?|artist(?:sort|s)?|barcode|catalognumber|co(?:mment|mposer|pyright)|description|dis(?:ambiguation|cnumber|csubtitle|ctotal)|genre|isrc|label|lyricist|mediatype|mb_artistcredit_artist_country|musicbrainz_(?:(?:album(?:artistid|id|releasecountry|status|type))|artistid|release(?:groupid|trackid)|trackid)|originalyear|publisher|setsubtitle|title|track(?:total)?|version|year):\t'['^🦖']'+🦖,,1)

```

This is the filter and the main difference to [v2.0](https://community.mp3tag.de/t/listing-all-tagged-fields-in-the-tag-panel/71949/9#p-245814-v20-and-my-continued-descend-into-madness-4). You need to add all tag names that you have as fields in your tag panel in the alternation so they get removed from the `_FORMAT` field.

Example:  
When you only have `TITLE`, `ALBUM`, `ARTIST` and `YEAR` in your tag panel,

```x
$regexp(%test1%,🦕(?:title|album|artist|year):\t'['^🦖']'+🦖,,1)

```

would be correct. This regex is case insensitive so it doesn't matter if you use `ALBUM` or `Album` or `album`.  
You can also use this filter to hide tags you don't need/want to see. An example would be ReplayGain tags if your workflow includes a step that ensures they are always populated.

Field: `TEST3`  
Format string:

```x
$sort($regexp(%test2%,(?<=🦕)('['a-zA-Z_ #\d']'+:\t++(?='['^🦖']'{68})'['^🦖']'{67})'['^🦖']'*,$1…),🦖)

```

Trims tag values that are longer than 67 chars, appends `…` when a value was trimmed and sorts the result alphabetically.

Field: `TEST4`  
Format string:

```x
$regexp(%test3%,\r?\n,↵)

```

Replaces both Windows and Linux style newlines in tag values with `↵`.

Field: `TEST5`  
Format string:

```x
$regexp(%test4%,(?<=🦕)('['^:']'{1','31})(:\t+'['^🦖']'{1','36})(?=🦖),\U$1\E$2\r\n)

```

Adds newlines after tag value pairs where neither the tag name exceeds 31 chars nor the tag content 36 and also converts the tag name case to uppercase.

Field: `TEST6`  
Format string:

```x
$regexp(%test5%,(?|(?<=🦕)('['a-zA-Z_ #\d']'{32','}:)\t+('['^🦖']'+)(?=🦖)|(?<=🦕)('['a-zA-Z_ #\d']'+:)\t+('['^🦖\n']'{36','}))(?=🦖),\U$1\E\r\n $2\r\n)

```

When tag value or name exceed the length limits, this moves the value to a new line, prepends 8 spaces and also converts the tag name case to uppercase.

Field: `TEST7`  
Format string:

```x
$regexp(%test6%,(?<=🦕)(?|('['A-Z_ #\d']'{1','7}:\t{4})\t*|('['A-Z_ #\d']'{8','16}:\t{3})\t*|('['A-Z_ #\d']'{16','23}:\t{2})\t*|('['A-Z_ #\d']'{24','30}:\t)\t*|('['A-Z_ #\d']'{31}:)\t*),$1)

```

This handles the actual formatting/padding. Depending on the length of the tag name, the 4 initially added tab characters are partially removed to adjust the padding.

The numbers I use come from me creating test tags with `Z` (medium size uppercase) letters from 1 `Z` all the way to 31 `ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ`s and noting down how many tabs were required to align the tag values in Mp3tag.  
This depends on the font used and can vary from tag name to tag name. You can add specific cases before the general cases in the alternation to handle outliers.

Field: `TEST7`  
Format string:

```x
$replace(%test6%,🦕,,🦖,)

```

This removes the opening Sauropod and the closing T-Rex at last.

Test actions for the hidden fields only version:  
[\_\_HIDDEN\_FIELDS\_TESTS.mta](https://community.mp3tag.de/uploads/short-url/3eKsjMvb2USSvfLZIESKpEjeMst.mta) (1.6 KB)

And for people who are only interested in this version, here's a repeat of the regex formatting tricks:

### Regex format string trick

Here's a trick if you want to test or change my regexes on regex101 for example:  
Since `,`, `[` and `]` need to be escaped in format strings, I created these quick and dirty conversion regexes to escape/unescape regexes. I don't claim that they always work, but for the regexes I used in this case, they did as I did not use literal `[],'` in them.

[Escape for Mp3tag format string](https://regex101.com/substitution?regex=%28%5B%2C%5B%5C%5D%5D%29&testString=&flags=gm&flavor=pcre2&delimiter=%2F&substitution=%27%241%27)

[Unescape to test regex](https://regex101.com/substitution?regex=%28%3F%3C%3D%5B%2C%5B%5C%5D%5D%29%27%7C%27%28%3F%3D%5B%2C%5B%5C%5D%5D%29&testString=&flags=gm&flavor=pcre2&delimiter=%2F&substitution=)

---

_[View the full topic](https://community.mp3tag.de/t/listing-all-tagged-fields-in-the-tag-panel/71949)._
