Help:Style guide/Card
Currently, all card articles use {{Card template v2}} to display the layout of the article.
Every single card MUST have a dbfId
. For collectible cards, you can easily check its ID by looking at the links on PlayHearthstone Card Library or the Blizzard API. For example, https://playhearthstone.com/en-us/cards/66876-rokara-the-valorous means Rokara, the Valorous's
dbfId
is 66876
.
This article is aimed at helping editors manage the {{Card template v2}} template on card articles specifically. For more information about wiki editing in general, see Help:Style guide, and for information about Hearthstone Wiki-specific editing, see Hearthstone Wiki:Editor's Handbook.
Page Titles[edit source]
Pages or articles that depict cards must have their title match with their name and captialization.
- If there are 2 or more cards with the same name, you can add a
(suffix)
to the title, with the following convention (the first is top priority). Please note that this is not strictly- card if it's the same name with another terminology. (Example: Charge (card) and Charge as a keyword)
- No suffix if it's a collectible Constructed card (cards that can be seen in Collection manager).
- Core if it's a Core version of already existing card. (Example: Elven Archer (Core))
- Caverns of Time if it's a Caverns of Time version of already existing card. (Example: C'Thun (Caverns of Time))
- Classic if it's a Classic format version of already existing card. (Example: Elven Archer (Classic))
- hero if it's a hero skin. (Example: Khadgar (hero) over Khadgar, which is a collectible card)
- No suffix needed if it's an uncollectible card while another uncollectible card is added later. (For example: Rat is a Mean Streets of Gadgetzan card that was added earlier than Rat (Stormwind), which is a United in Stormwind card))
- <Suffix in card text> if it has suffix in card text. (Examples: Demonic Blast (First use) and Demonic Blast (Second use))
- <Whatever purpose of the card> if you know clearly the intent of the card with a very specific user case.
- Hydralodon Head (Left) is the left appendage of
Hydralodon.
- Bunch of Bananas (Third copy) is the third copy of
Bunch of Bananas, generated after you play Bunch of Bananas (Second copy).
- Fatespinner (In play). Techincally, after you play and choose for
Fatespinner, it transforms into Fatespinner (In play) with text modified accordingly.
- Mixed Concoction (Bubbling-Dreadful) replaces
Bubbling Concoction and
Dreadful Concoction in your hand.
- Hydralodon Head (Left) is the left appendage of
- Choice card if it's a choice card for Choose One cards or cards like
Bru'kan of the Elements. (Example: Lightning Invocation (Choice card))
- <Art description> if its art is identical version of another card with very minor differences. (Example: Piranha Swarmer (Blue), Piranha Swarmer (Red))
- Combined if a Choose One outcome affected by
Fandral Staghelm and similar cards. (Example: Druid of the Claw (Combined))
- <Card type> if it's a Hero Power, weapon, spell or any card type that's associated directly with a collectible card. (Examples: Bladestorm (Hero Power), Remornia, Living Blade (weapon), Mirror Image (minion))
- <Keyword> if it's uncollectible version of a card that's associated with a keyword. (Example: Huntsman Altimor (Infused)) Add a number if there's even another version with the same keyword. (Huntsman Altimor (Infused 2))
- <Generator> if it's uncollectible but can be generated by a card (GENERATOR being the card name) or a keyword (GENERATOR being the keyword name). (Example: Blade of Quel'Delar (Kazakusan))
- <Stats number/Stats type> if there are multiple versions with different
STATS_TYPE
. (Examples: Firebloom (1 mana), Firebloom (5 mana), Firebloom (10 mana), Felhunter (2/2)) Also, such cases may require a Disambiguation page if they are added at the same Patch all of their purposes are nearly equal. - boss if it only appears in Solo Adventures or Tavern Brawls.
- <Game mode> if it only appears in one game mode.
- unused if it was not present or removed later from any card pool in-game.
- removed if it was removed from database.
- <dbfId of the card> if you don't know what purpose it is for yet. This is also the default suffix for our bots and tools when they create a new page for newly added cards.
Usage[edit source]
{{Card template v2 |dbfId= // Derived keys: Keys that have default value based on the official data we get. You can edit these key values, but it's suggested that you keep them as their default value. |derived_img= |derived_imgMain= |derived_imgMainPremium= |derived_imgBg= |derived_imgBgPremium= |derived_imgMercTemplate= |derived_imgMercAbility= |derived_imgMercPortrait= |derived_imgArt= |derived_imgFullArt= |derived_imgSignatureFullArt= |derived_artist= |derived_classIds= |derived_classOrder= |derived_coreUnlockedLevel= |derived_exclusions= |derived_faction= |derived_formats= |derived_goldenUncraftable= |derived_isRemoved= |derived_regularUncraftable= |derived_relatedCardDbfIds= |derived_choiceCardDbfIds= |derived_setId= |derived_text= |derived_trimText= |derived_lastAdded= |derived_lastModified= |derived_minionTypeIds= |derived_minionTypeStrings= // Custom keys: Made-up keys that are non-existent or unrelated to official data, but prove to be useful. You can edit these keys freely without being afraid of disrupting official data. |custom_advPools= |custom_advHeroPowerDbfIds= |custom_advSignatureDbfIds= |custom_artistReferences= |custom_bannedOfferDbfIds= |custom_bgPage= |custom_bgSoundId= |custom_characs= |custom_characsInArt= |custom_coreInYears= |custom_cycles= |custom_externalLinks= |custom_genders= |custom_hearthpwnId= |custom_hiddenTags= |custom_mechanicTags= |custom_onBlizzardApi= |custom_originalCardDbfId= |custom_outOfCardsId= |custom_races= |custom_racesInArt= |custom_refTags= |custom_voiceActor= |custom_voiceActorReferences= // Article sections: These keys generate sections in the article itself, such as Notes, History, or Lore |article_description= |article_relatedCards= |article_relatedWith= |article_notes= |article_tipsUsing= |article_tipsAgainst= |article_sounds= |article_soundsCUSTOM_trigger= |article_soundsCUSTOM_other= |article_soundsCUSTOM_triggerReferences= |article_soundsCUSTOM_otherReferences= |article_history= |article_lore= |article_trivia |article_gallery= |article_videos= |article_meta= |article_addedCategories= }}
Editors[edit source]
Card articles have 2-3 ways of editing them. Card articles that use a custom layout will have the buttons "Edit with form", "Edit visually", and "Edit source" visible, while card articles using a default layout will only have "Edit with form" and "Edit source" visible.
Editing card articles is always recommended to be done using either the form editor or source editor. But you may also use the visual editor on custom layout articles if you're not familiar with wikitext or HTML.
Styling and functionality[edit source]
Adding sections[edit source]
On articles that do not use article_custom=true
, the parameters must be used as listed above. For example, if you want to add a Lore section to a card, the way to add it is different depending on whether article_custom
is used or not. Generally, using article_custom
is not preferred, as default layouts are easier to manage. However, on particularly complex articles such as bosses, article_custom
can be helpful.
If article_custom=true
is used, the section is added normally, e.g.:
==Lore== {{fromwow}} :''The Boulderfist clan is a clan of ogres that live throughout the Arathi Highlands in Azeroth and Nagrand in Outland.
If article_custom=true
is not used, the section needs to be added as follows:
|article_lore= {{fromwow}} :''The Boulderfist clan is a clan of ogres that live throughout the Arathi Highlands in Azeroth and Nagrand in Outland.
You can see from the example that the addition of sections is very similar, only the title is automatically generated when the content is placed in the article_lore section.
The content that is added to a section differs depending on the parameter used (See #Examples below for extra details).
Don't mix![edit source]
It is important to not mix up these ways of adding sections. For example, do not use the article_custom=true
way of adding sections if the article does not have a custom layout. For example, in a Card template such as this:
{{Card template v2 |dbfId=101056 }}
The section should be added as follows:
{{Card template v2 |dbfId=101056 |article_lore=Text here, etc etc }}
And NOT like this:
{{Card template v2 |dbfId=101056 }} ==Lore== Text here, etc etc
The latter way should always be used in only card article that use article_custom=true
!
Separators[edit source]
If you want to add multiple values to a parameter, for example listing multiple races in custom_racesInArt
, they are separated by a limiter that varies between parameters. Usually this limiter is &&
on text parameters, ,
on files, and {{!}}
on image captions. But be sure to look at the description of the parameter to know which one to use.
DbfIds[edit source]
As every card has an unique dbfId, these are often used in Card templates to add information.
If you don't know the dbfId of a card, you can use {{subst:Fetch card|<card pagename>}}
if you know the page name of the card on this wiki. For example, {{subst:Fetch card|Aman'Thul}}
produces 97103
. Remember that this needs to be the exact page name on the card. This means typing Battlegrounds/Mini-Myrmidon
, not Mini-Myrmidon
, since the page name is Battlegrounds/Mini-Myrmidon. Similarly, using Aracne Shot (Core)
instead of Aracne Shot
if you specifically want the dbfId of the Core version: Arcane Shot (Core).
Section styling[edit source]
Here are a few examples of sections that may require special styling or information.
Tags[edit source]
If you don't know what tags to use, see Help:Style guide/Tag for more information.
Full art[edit source]
Full art files should be written without the [[File:
part. For example, Rokara, the Valorous full.jpg
.
List-format sections[edit source]
In non-custom layout card articles, Notes, Trivia, Tips, and other sections that use a list format (mentioned on the Description of the parameter), use &&
as the "bullet point", instead of the typical *
. For example, the following would be a correctly written article_notes
section:
|article_notes= &&Note 1 goes here. &&Note 2 goes here. * Subnote regarding Note 2. * Another subnote regarding Note 2. ** Subnote regarding the subnote above. &&Note 3 goes here.
On the article, the example above would produce the following:
- Note 1 goes here.
- Note 2 goes here.
- Subnote regarding Note 2.
- Another subnote regarding Note 2.
- Subnote regarding the subnote above.
- Note 3 goes here.
As you can see, the &&
functions as the "first" bullet point, which starts a new bullet point section. Then the additional *
and **
under Note 2 produce additional bullet points related to Note 2. This can also be produced with <ul><li></li></ul>
if that is your preferred format.
On non-list format sections, such as Lore or History, bullet points are written as normal.
Tips[edit source]
Tips should follow a certain editing policy to remain as neutral and readable as possible. For more information, see Help:Style guide/Tips (coming soon).
Gallery[edit source]
In the gallery section, files are split by line breaks, and captions are added with {{!}}
. The full art of a card is always added by default on non-custom layout articles, and doesn't need to be added here. An example of a gallery with multiple images added would look like this:
|article_gallery= Rheastrasza WoW.jpg{{!}}Rheastrasza in ''[[World of Warcraft]]'' Rhea WoW.jpg{{!}}Rhea in ''[[World of Warcraft]]''
Lore[edit source]
Generally, it is preferred that card lore is indented and italicized:
:''The Boulderfist clan is a clan of ogres that live throughout the Arathi Highlands in Azeroth and Nagrand in Outland.
Which produces:
- The Boulderfist clan is a clan of ogres that live throughout the Arathi Highlands in Azeroth and Nagrand in Outland.
Additionally, if card lore is directly copy-pasted from Warcraft Wiki, the template {{fromwow}} should be used before it:

- The Boulderfist clan is a clan of ogres that live throughout the Arathi Highlands in Azeroth and Nagrand in Outland.
Examples[edit source]
These examples are presented when a card article is edited visually (not using source editor), and while article_custom
is not being used.
Template used for card articles. See Help:Style guide/Card for more information.
Parameters[edit source]
Parameters used in Card template v2.
Parameter | Description | Type | Status | |
---|---|---|---|---|
dbfId | dbfId | The official unique numerical id of the card. Every single card must have this. For collectible cards, you can easily check its ID by looking at the links on PlayHearthstone Card Library or the Blizzard API. For example, [https://hearthstone.blizzard.com/en-us/cards/66876-rokara-the-valorous] means Rokara, the Valorous's dbfId is 66876. Use ONLY one of dbfId, id, or name to search cards.
| Number | required |
ID | id | The official string ID of the card. Use ONLY one of dbfId, id, or name to search cards.
| String | optional |
Name | name | The official name of the card. Use ONLY one of dbfId, id, or name to search cards.
| String | optional |
Related card dbfIds | derived_relatedCardDbfIds | List of the dbfIds of cards that this card generates, summons, or references (Separated by &&). For example, Kara Kazham! is a card that summons three different tokens with unique dbfIds.
| Number | optional |
Choice card dfbIds | derived_choiceCardDbfIds | List of the dbfIds of choice cards that can be chosen from this card (Separated by &&). For example, Living Roots has two choice cards that each have an unique dbfId.
| Number | optional |
Exclusions | derived_exclusions | List of exclusions where this card cannot be seen (Separated by &&). Valid options are: Arena, Card generation, Twist, Wild.
| String | optional |
Mechanics/Abilities | custom_mechanicTags | Mechanics, abilities, or keywords on the card (Separated by &&). (e.g. Taunt, Lifesteal, Draw cards, Shuffle into deck). Examples of abilities can be seen at [Help:Style guide/Tag]
| String | suggested |
Referenced mechanics | custom_refTags | Mechanics, abilities, or keywords that are referenced by the card (Separated by &&). (e.g. Taunt-granting, Stealth-generating, Rush-related). Examples of referenced tags can be seen at [Help:Style guide/Tag]
| String | suggested |
Hidden tags | custom_hiddenTags | Tags that are useful for querying, but do not need to be presented on the infobox (Separated by &&). Examples of hidden tags can be seen at [Help:Style guide/Tag]
| String | suggested |
Cycles | custom_cycles | List of cycles that this card belongs to (Separated by &&). Cycles can be small card pools that are referenced by various cards (e.g. Libram or SI:7). They can also help categorize Battlegrounds cards which tend to have inconsistent data (e.g. BG tavern token, BG removed tavern minion)
| String | optional |
Races | custom_races | The Warcraft race(s) of a minion or hero, or occasionally weapon (Separated by &&). Used for card art articles. Valid options can be seen at the bottom of any card art article (e.g. Night elf art)
| String | optional |
Background races | custom_racesInArt | Warcraft races that are on the background of a card's art, or not as the main subject, or are referenced by the art (Separated by &&). Can be used for all card types. Valid options can be seen at the bottom of any card art article (e.g. Night elf art)
| String | optional |
Character | custom_characs | The named character on the card. Used for disambiguation pages. If multiple, separated by &&.
| String | optional |
Background characters | custom_characsInArt | Named characters that are on the background of the card art, or not as the main focus of the art, or are otherwise referenced by the art (Separated by &&).
| String | optional |
Gender | custom_genders | Gender of the character on the card. Values are 0, 1, or 2, for female, male, and other.
| Number | optional |
Full art | derived_imgFullArt | The file name of the card's full art. If not declared, by default this will be "<card name> full.jpg"
| File | optional |
Signature full art | derived_imgSignatureFullArt | The file name of the card's full signature art. If not declared, by default this will be "<card name> signature full.jpg"
| File | optional |
Artist | derived_artist | The card's artist. On most collectible constructed cards, this value is stored automatically. For some uncollectible or single-player cards, it may need to be manually declared.
| String | optional |
Artist references | custom_artistReferences | If a card's artist needs citation (e.g. the artist themselves said on an external website that they're the artist of a card), the citations can be referenced here (Separated by &&)
| URL | optional |
VFX Artist | custom_vfxArtist | The artist who created the VFX effects for this card or item (NOT the drawn artwork itself).
| String | optional |
VFX Artist references | custom_vfxArtistReferences | If a card's VFX artist needs citation (e.g. the artist themselves said on an external website that they're the VFX artist of a card), the citations can be referenced here (Separated by &&)
| URL | optional |
Voice actor | custom_voiceActor | The voice actor of the card.
| String | optional |
Voice actor references | custom_voiceActorReferences | If a card's voice actor needs citation (e.g. the voice actor themselves said on an external website that they're the voice actor of a card), the citations can be referenced here (Separated by &&)
| String | optional |
Class IDs | derived_classIds | List of classes that this card belongs to (IDs of the classes, separated by &&). Most of the time, this does not need to be declared, however it may be needed for multi-class cards during reveal seasons due to incomplete data. List of class IDs can be seen at [[Template:CardsCardClass table/store1]].
| Number | optional |
Formats | derived_formats | List of constructed formats that this card belongs to (Separated by &&). Valid options are: Standard, Wild, Twist, Arena, Duels, Boss, System, Classic. Most of the time, this does not need to be declared, but may be required if the card's formats are wrong (e.g. a single-player Boss card is showing Standard in its formats).
| String | optional |
Removed | derived_isRemoved | "1" if the card is removed. May be needed if a removed card is not automatically categorized as removed.
| Number | optional |
Query only | custom_isQuery | "1" if the card only needs to be displayed along with its infobox, without storing any data. May be needed for constructed cards in Battlegrounds that are the exact same as their constructed counterpart (same dbfId)
| Number | optional |
Core set years | custom_coreInYears | List of Hearthstone years (without the "Year of the" part) that have this card in their Core set (Separated by &&). Used for Core set versions of cards only.
| String | optional |
Hearthstone Card Library link | custom_onBlizzardApi | "1" if the card can be seen in the official Hearthstone Card Library. Adds a link to the External links section of the article for the card on the card library. Usually all cards except Solo Adventure and Tavern Brawl cards can be linked to.
| Number | suggested |
HearthPwn ID | custom_hearthpwnId | ID of the HearthPwn page for the card. Adds a link to the HearthPwn page for the card on the External links section. For example, Arcane Giant's HearthPwn link is [https://www.hearthpwn.com/cards/42049]. This means that Arcane Giant's HearthPwn ID is 42049.
| Number | suggested |
Out of Games ID | custom_outOfCardsId | ID of the Out of Games page for the card. Adds a link to the Out of Games page for the card on the External links section. For example, Arcane Giant's Out of Cards link is [https://outof.games/hearthstone/cards/3022]. This means that Arcane Giant's Out of Cards ID is 3022.
| Number | suggested |
Original card dbfId | custom_originalCardDbfId | The dbfId of the card's original version. May be needed for Core or Classic cards.
| Number | optional |
Unique emotes | customFunctionalityUniqueEmote | Used for hero skins. Values are "1" or "full" if the skin has a full set of custom emotes, and "2" or "base" if the skin only has new base emotes compared to a previous skin using the same character.
| Number | optional |
Tray image | customFunctionalityUniqueTrayImage | Used for hero skins. If the skin comes with an unique tray, the image file can be pasted here to be presented on the hero skin's article.
| File | optional |
Golden tray image | customFunctionalityUniqueGoldenTrayImage | Used for hero skins. If the skin comes with an unique golden tray, the image file can be pasted here to be presented on the hero skin's article.
| File | optional |
Phone tray image | customFunctionalityUniquePhoneTrayImage | Used for hero skins. If the skin comes with an unique mobile phone tray, the image file can be pasted here to be presented on the hero skin's article.
| File | optional |
External links | custom_externalLinks | Adds additional links to the "External links" section of the article (Separated by &&)
| URL | optional |
Custom layout | article_custom | "1" or "true" if you wish that the card article should use an entirely custom layout. This disables all auto-generated sections, and the article must be written from scratch. This however does not hide the infoboxes.
| String | optional |
Pre-description | article_preDesc | An italicized and indented text, before the description.
| String | optional |
Description | article_description | The first paragraph of the article, before the first section. Usually this does not need to be changed, but can be altered for better presentation.
| String | optional |
Related cards | article_relatedCards | Used to display a custom layout for a card's related cards. By default, the related cards will simply be listed from the "Related card dbfIds" section.
| Content | optional |
Related with | article_relatedWith | Used to display a custom layout for cards this card is related with. By default, the cards it's related with will simply be listed from other cards that have this card in their "Related card dbfIds" section.
| Content | optional |
Notes | article_notes | Notes for the card (Separated by &&). Generates a "Notes" section on the article with a list format.
| Content | optional |
Tips (using) | article_tipsUsing | Tips when using this card (Separated by &&). Similar to Strategy, but avoid using filler text and follow the editing policies at [Hearthstone Wiki:Editing policies/Tips].
| Content | optional |
Tips (against) | article_tipsAgainst | Tips when playing against this card (Separated by &&). Similar to Strategy, but avoid using filler text and follow the editing policies at [Hearthstone Wiki:Editing policies/Tips].
| Content | optional |
Sounds | article_sounds | If left empty, by default, this will list the card's play, attack, and death sounds. If not left empty, a custom Sounds section layout can be written here.
| Content | optional |
Achievements | article_achievements | Uses {{Achievement query}} to get the achievements that are directly related to this card. No longer recommended from 2023, since this can be handled with [Template:CustomAchievement table], but this section may still be used for pre-2023 cards.
| Template | optional |
History | article_history | History of the card. Generates a "History" section on the article.
| Content | optional |
Lore | article_lore | Lore of the card. Generates a "Lore" section on the article.
| Content | optional |
Trivia | article_trivia | Trivia of the card, such as fun facts or information not related to Hearthstone specifically (Separated by &&). Generates a "Trivia" section on the article with a list format.
| Content | optional |
Gallery | article_gallery | Additional images, such as the character or race in WoW, or concept art (Separated by line breaks). The full art and full signature art do not need to be placed here, they are presented automatically.
| File | optional |
Videos | article_videos | Videos relating to the card. Recommended presentation is with {{#ev}} (embed video).
| Content | optional |
Trigger sounds | article_soundsCUSTOM_trigger | Exact file names of the card's triggering sounds (Separated by ,). Usually these are not declared by default, and need to be manually declared.
| File | optional |
Other sounds | article_soundsCUSTOM_other | Exact file names of the card's other sounds (Separated by ,). Usually these are not declared by default, and need to be manually declared. Mostly used for hero skins that have unique start-of-game interactions with other heroes.
| File | optional |
Trigger sound references | article_soundsCUSTOM_triggerReferences | List of references for when the triggering sound can be heard (Separated by &&). Use the same order as how you placed the trigger sound files. Usually used for hero skins.
| String | optional |
Other sound references | article_soundsCUSTOM_otherReferences | List of references for when the other sounds can be heard (Separated by &&). Use the same order as how you placed the other sound files. Usually used for hero skins.
| String | optional |
Play sound transcript | article_soundsTRANSCRIPT_play | Transcript for the card's play quote(s) (Separated by ,). Any data added here will not be immediately presented, but will be temporarily stored so that admins can place the transcripts in a storing table, after which they will be presented normally. Only use this if a card does not have a transcript yet, or if you think the transcript is wrong.
| String | optional |
Attack sound transcript | article_soundsTRANSCRIPT_attack | Transcript for the card's attack quote(s) (Separated by ,). Any data added here will not be immediately presented, but will be temporarily stored so that admins can place the transcripts in a storing table, after which they will be presented normally. Only use this if a card does not have a transcript yet, or if you think the transcript is wrong.
| String | optional |
Death sound transcript | article_soundsTRANSCRIPT_death | Transcript for the card's death quote(s) (Separated by ,). Any data added here will not be immediately presented, but will be temporarily stored so that admins can place the transcripts in a storing table, after which they will be presented normally. Only use this if a card does not have a transcript yet, or if you think the transcript is wrong.
| String | optional |
Trigger sound transcript | article_soundsTRANSCRIPT_trigger | Transcript for the card's trigger quote(s) (Separated by ,). Any data added here will not be immediately presented, but will be temporarily stored so that admins can place the transcripts in a storing table, after which they will be presented normally. Only use this if a card does not have a transcript yet, or if you think the transcript is wrong.
| String | optional |
Other sound transcript | article_soundsTRANSCRIPT_other | Transcript for the card's other quote(s) (Separated by ,). Any data added here will not be immediately presented, but will be temporarily stored so that admins can place the transcripts in a storing table, after which they will be presented normally. Only use this if a card does not have a transcript yet, or if you think the transcript is wrong.
| String | optional |
Metadata | article_meta | Metadata for this card, if custom metadata is required. Used for disambiguation pages.
| String | optional |
|