Skip to content

Tags

Tags are discrete objects that represent some attribute. This could be a person, place, object, concept, and more. Unlike most tagging systems, TagStudio tags are not solely represented by a line of text or a hashtag. Tags in TagStudio consist of several properties and relationships that give extra customization, searching power, and ease of tagging that cannot be achieved by string-based tags alone. TagStudio tags are designed to be as simple or as complex as you'd like, giving options to users of all skill levels and use cases.

Naming Tags

TagStudio tags do not share the same naming limitations of many other tagging solutions. The key standouts of tag names in TagStudio are:

  • Tag names do NOT have to be unique
  • Tag names are NOT limited to specific characters
  • Tags can have aliases, a.k.a. alternate names to go by

Name

This is the base name of a tag. It does not have to be unique, and can use any characters you wish. If your tag can go by multiple names, for example if it's the name of a person or something that's commonly shortened or abbreviated, then it's recommended that you put the full tag name here.

Shorthand

This is a special type of alias that's used for shortening the tag name under special circumstances, mostly when screen space is limited. Tag shorthands can be searched for just like tag names and tag aliases.

Aliases

Aliases are alternate names that the tag can go by. This may include individual first names for people, alternate spellings, shortened names, and more. If there's a common abbreviation or shortened name for your tag, it's recommended to use the shorthand field for this instead.

When searching for a tag, aliases (including the shorthand) can also be used to find the tag. This not only includes searching for tags themselves, but for tagged file entries as well!

Automatic Disambiguation

Just as in real life, sometimes there are different attributes that share the same name with one another. The process of adding specificity to something in order to not confuse it with something similar is known as disambiguation. In TagStudio we give the option to automatically disambiguate tag names based on a specially marked Parent Tag. Parent tags are explained in further detail below, but for the purposes of tag names they can lend themselves to clarifying the name of a tag without the user needing to manually change the name or add complicated aliases.

Given a tag named "Freddy", we may confuse it with other "Freddy" tags in our library. There are lots of Freddys in the world, after all. If we're talking about Freddy from "Five Nights at Freddy's", then we may already (and likely should) have a separate "Five Nights at Freddy's" tag added as a parent tag. When the disambiguation box next to a parent tag is selected (see image below) then our tag name will automatically display its name with that parent tag's name (or shorthand if available) in parentheses.

Tag Disambiguation Example

So if the "Five Night's at Fredddy's" tag is added as a parent tag on the "Freddy" tag, and the disambiguation box next to it is checked, then our tag name will automatically be displayed as "Freddy (Five Nights at Freddy's)". Better yet, if the "Five Night's at Fredddy's" tag has a shorthand such as "FNAF", then our "Freddy" tag will be displayed as "Freddy (FNAF)". This process preserves our base tag name ("Freddy") and provides an option to get a clean and consistent method to display disambiguating parent categories, rather than having to type this information in manually for each applicable tag.

Tag Relationships

One of the core properties of tags in TagStudio is their ability to form relationships with other tags, just as attributes have relationships with each other in real life. A rectangle is a square, but a square isn't a rectangle. A certain plumber with a red hat and blue overalls might be part of a well-known media franchise, developed by an equally well-known company. But how do representing these relationships help with tagging images and files? With tag relationships, we can leverage the following principles:

  1. Simplicity via Deduplication
  2. Intuition via Substitution
  3. Rediscovery via Linking

Parent Tags

Simplicity via Deduplication

In a system where tags have no relationships, you're required to add as many tags as you possibly can to describe every last element of an image or file. If you want to tag an image of Shrek, you need to add a tag for Shrek himself, a Character tag since he's a character, a Movie and perhaps Dreamworks tag since he's a character from a movie, or perhaps a Book tag if we're talking about the original character, and then of course tags for every other attribute of Shrek shown or implied. By allowing tags to have inheritance relationships, we can have a single Shrek tag inherit from Character (Shrek IS a character) as well as from a separate Shrek (Movie Franchise) tag that itself inherits from Movie Franchise and Dreamworks. Now by simply adding the Shrek tag to an image, we've effectively also added the Character, Shrek (Move Franchise), Movie Franchise, and Dreamworks attributes all in one go. On the image entry itself we only see Shrek, but the rest of the attributes are implied.

Shrek Tag Details

Intuition via Substitution

Now when searching for for images that have Dreamworks and Character, any images or files originally just tagged with Shrek will appear as you would expect. A little bit of tag setup goes a long way not only saving so much time during tagging, but also to ensure an intuitive way to search your files!

Rediscovery via Linking

Lastly, when searching your files with broader categories such as Character or Dreamworks you may rediscover images and files that you had simply tagged with tags such as Barbatus or Tulio, since you didn't need to manually tag those files with Character or Dreamworks, but had forgotten that they are both in fact Dreamworks characters. While you focus on tagging your files with seemingly surface level attributes, your TagStudio library is building rich connections between tags and files that may not be fully apparent until being discovered through various search queries. While you were simply tagging images with Shrek and Tulio, you may have unlocked an easy way to search for "2D Dreamworks Characters" without having to explicitly tag for that!

Component Tags

Coming in version 9.6

Component tags will be built from a composition-based, or "HAS" type relationship between tags. This takes care of instances where an attribute may "have" another attribute, but doesn't inherit from it. Shrek may be an Orge, he may be a Character, but he is NOT a Leather Vest - even if he's commonly seen with it. Component tags, along with the upcoming Tag Override feature, are built to handle these cases in a way that still simplifies the tagging process without adding too much undue complexity for the user.

Tag Appearance

Color

Tags use a default uncolored appearance by default, however can take on a number of built-in and user-created colors and color palettes! Tag color palettes can be based on a single color value (see: TagStudio Standard, TagStudio Shades, TagStudio Pastels) or use an optional secondary color use for the text and optionally the tag border (e.g. TagStudio Neon).

Tag Color Selection

User-Created Colors

Custom palettes and colors can be created via the Tag Color Manager. These colors will display alongside the built-in colors inside the tag selection window and are separated by their namespace names. Colors which use the secondary color for the tag border will be outlined in that color, otherwise they will only display the secondary color on the bottom of the swatch to indicate at a glance that the text colors are different.

Custom Tag Color Selection

Icon

Coming in version 9.6

Tag Properties

Properties are special attributes of tags that change their behavior in some way.

Is Category

When the "Is Category" property is checked, this tag now acts as a category separator inside the preview panel. If this tag or any tags inheriting from this tag (i.e. tags that have this tag as a "Parent Tag"), then these tags will appear under a separated group that's named after this tag. Tags inheriting from multiple "category tags" will still show up under any applicable category. Read more under: Tag Categories.

Tag Category Example

Is Hidden

Coming in version 9.6

When the "Is Hidden" property is checked, any file entries tagged with this tag will not show up in searches by default. This property comes by default with the built-in "Archived" tag.

Tag Search Examples

The following are examples of how a set of given tags will respond to various search queries.

Tag Name Shorthand Aliases Parent Tags
League of Legends "League of Legends" "LoL" ["League"] ["Game", "Fantasy"]
Arcane "Arcane" "" [] ["League of Legends", "Cartoon"]
Jinx (LoL) "Jinx Piltover" "Jinx" ["Jinxy", "Jinxy Poo"] ["League of Legends", "Arcane", "Character"]
Zander (Arcane) "Zander Zanderson" "Zander" [] ["Arcane", "Character"]
Mr. Legend (LoL) "Mr. Legend" "" [] ["League of Legends", "Character"]

The query "Arcane" will display results tagged with:

Tag Cause of Inclusion Tag Tree Lineage
Arcane Direct match of tag name "Arcane"
Jinx (LoL) Search term is set as parent tag "Jinx (LoL) > Arcane"
Zander (Arcane) Search term is set as parent tag "Zander (Arcane) > Arcane"

The query "League of Legends" will display results tagged with:

Tag Cause of Inclusion Tag Tree Lineage
League of Legends Direct match of tag name "League of Legends"
Arcane Search term is set as parent tag "Arcane > League of Legends"
Jinx (LoL) Search term is set as parent tag "Jinx (LoL) > League of Legends"
Mr. Legend (LoL) Search term is set as parent tag "Mr. Legend (LoL) > League of Legends"
Zander (Arcane) Search term is a parent tag of a tag set as parent tag "Zander (Arcane) > Arcane > League of Legends"

Note: The query "LoL" will display the same results as the above example since "LoL" is the shorthand for "League of Legends".