Skip to main content
Version: Stable

Tags

Tags are metadata labels that Zaparoo Core extracts from media filenames. They help Core choose between multiple matches for the same title, especially when your library has several regions, languages, revisions, demos, or bad dumps.

You will usually see tags when using title IDs. For example, this launches the US version of Super Mario World when more than one version is available:

@SNES/Super Mario World (region:us)

Tag format

Tags use type:value format. The type is the category, and the value is the specific label.

PartExample
Tag typeregion
Tag valueus
Full tagregion:us

When a tag is part of a title ID, wrap it in parentheses:

@SNES/Game Title (region:eu) (lang:de)

Filename tags

During media database updates, Core can parse known filename markers from ROM sets such as No-Intro and TOSEC. This behavior is controlled by filename_tags, which is enabled by default.

This filename:

Sonic the Hedgehog (USA, Europe) (En,Fr,De) (Rev A).md

can produce tags like:

  • region:us
  • region:eu
  • lang:en
  • lang:fr
  • lang:de
  • rev:a

Core also extracts tags from other recognized markers, including years, disc numbers, versions, dumps, prototypes, demos, translations, and re-releases.

Using tags in title IDs

Use tags when a title ID needs to be more specific than the game name alone.

@SNES/Super Mario World
@SNES/Super Mario World (region:us)
@SNES/Super Mario World (region:eu) (lang:de)
@Genesis/Sonic (+unfinished:demo)
@SNES/Game Title (~lang:en) (~lang:fr)

The first example lets Core choose the best match. The others require or exclude specific tagged matches.

Operators

Tags support three operators in title IDs and launch.title tag arguments.

SyntaxMeaning
(tag:value) or (+tag:value)Match must have this tag.
(-tag:value)Match must not have this tag.
(~tag:value)At least one ~ tag must match.

Examples:

@Genesis/Sonic (region:us)
@Genesis/Sonic (-unfinished:demo)
@SNES/Game Title (lang:en) (-unfinished:beta)
@SNES/Game Title (~lang:en) (~lang:fr)

The tags argument uses the same operators without parentheses:

**launch.title:Genesis/Sonic?tags=region:us,lang:en
**launch.title:Genesis/Sonic?tags=region:us,-unfinished:demo

Matching behavior

When you launch by title ID, Core matches the title first, then uses tags to narrow or rank the results.

Core also filters out some variants by default, including demos, betas, prototypes, hacks, translations, bootlegs, re-releases, and bad dumps. If you want one of those variants, request it with a positive tag:

@Genesis/Sonic (+unfinished:demo)
@SNES/Game Title (+unfinished:beta)
@SNES/Game Title (+unlicensed:translation)

If several good matches remain, Core applies your configured region and language preferences, then other scoring rules such as launcher file type priority and filename quality.

Default regions and languages

Set default preferences in the media config section when you want Core to prefer certain regions or languages without writing tags into every title ID.

[media]
default_regions = ["us", "eu", "world"]
default_langs = ["en", "de"]

With those preferences, @SNES/Super Mario World will prefer matching US, European, or World releases, and English or German language tags, when those tags are present.

Useful tag types

These are the tag types most likely to matter when writing title IDs by hand.

Tag typeUsed forExamples
regionRelease regionregion:us, region:eu, region:jp, region:world
langLanguagelang:en, lang:fr, lang:de, lang:ja
revRevision or versionrev:a, rev:b, rev:1, rev:prg0
yearRelease yearyear:1991, year:1996, year:19xx
unfinishedPre-release or incomplete buildsunfinished:alpha, unfinished:beta, unfinished:demo, unfinished:proto
dumpDump quality or dump statusdump:verified, dump:bad, dump:overdump, dump:underdump
unlicensedUnofficial releases and modificationsunlicensed:bootleg, unlicensed:hack, unlicensed:translation
rereleaseDigital re-releases and collectionsrerelease:virtualconsole:wii, rerelease:mdmini:1
reboxedRe-releases and packaging variantsreboxed:playerschoice, reboxed:satakore
disc and disctotalMulti-disc setsdisc:1, disc:2, disctotal:3
mediaMedia type or sidemedia:disc, media:tape, media:side-a
videoVideo standardvideo:ntsc, video:pal, video:pal-60

Core defines many more tag types than this, including hardware add-ons, embedded cartridge chips, compatibility tags, publishers, developers, genres, and player counts. Most users do not need to write those by hand.

Credit

Zaparoo's tag taxonomy is inspired by GameDataBase, a game metadata project by PigSaint. GameDataBase uses a deeper hierarchical tag system; Zaparoo uses simpler type:value tags for filename parsing and title matching.