Viking Tools

Valheim Sign Tag Guide

Last updated

A Valheim sign holds 50 characters, and every character of a formatting tag counts towards that limit. Yellow written as <#ff0> costs 6 characters; written as <color=yellow> it costs 14, for exactly the same result.

Signs accept the same rich-text tags as Unity's TextMeshPro: color, size, spacing and more. This guide lists the ones we have tested, what each costs and the quirks worth knowing. Prefer to experiment? Open the Sign Editor.

The 50-character budget

Opening tags, closing tags and line breaks all count, and only the visible text is free. One long tag can use up nearly a third of the sign before you have typed a word, so the main skill of sign design is choosing the shortest tag that does the job.

Cost

<#f00> is 6 characters, <#ff0000> is 9 and <color=red> is 11, for the same red.
<color=red>Troll path21/50
<#f00>Troll path16/50
Fig. 1 The same red either way: 21 characters with the color name, 16 with the short hex code.

Tag reference

Each tag, what it does and how many characters it uses
TagWhat it doesCost
<i>Italic (slanted) text.3
<u>Underline. The line keeps the color that was active when the tag opened, so put the color tag first.3
<s>Strikethrough. Colored the same way as underline.3
<#f00>Color from a 3-digit hex code.6
<#ff0000>Color from a 6-digit hex code.9
<#0f08>A 4th digit sets opacity. This one is green at about half strength. The 8-digit form takes two opacity digits.7
<color=red>Color by name. A hex code gives the same result in fewer characters.11
<size=9>Text size. Sizes are absolute and linear: 9 is nine fifths the height of 5, and there is no upper limit.8
<size=-16>Upside-down, heavier text. While the text is short, a negative value is relative to the auto-fit size of 8 (-16 is a flipped 8, -8 vanishes). Once the text is long enough to shrink, it is read as absolute.10
<voffset=-4>Shifts text down; positive values shift it up. The number uses the same units as <size>. Close it with </voffset>.12
<cspace=1>Letter spacing; negative values tighten it.10
<mspace=6>Gives every glyph the same width.10
<sub>Subscript.5
<sup>Superscript.5
<mark=#ffff00>Highlight block behind the text. It needs the full 6-digit hex (or 8 with opacity); shorter codes are ignored.14
<align=left>Aligns the line. Also accepts center and right.12
<margin-left=8>Insets the left edge; negative values are ignored. Close it with </margin> (</margin-left> prints as text). <margin-right=N> insets the right edge the same way, so the two together centre the text in what is left.15
<smallcaps>Draws lowercase-typed characters as shorter capitals. Characters typed as capitals keep full height.11
<uppercase>No visible effect, because the font already draws lowercase as capitals. The same goes for <lowercase>.11
<rotate=20>Rotates every glyph in place.11
<nobr>Stops a run of text from wrapping.6
<sprite=0>One of 16 built-in emoji graphics, numbered 0 to 15.10
\nLine break.2
\vLine break, identical to \n.2
\rCarriage return: starts a new line at the same height as the previous one, so the following text is drawn over it.2
\tTab.2
(a real line break)Also breaks the line, and also costs two characters, so it is no cheaper than \n.2
<br>Line break, but twice the price of \n.4

Color and the order of tags

  • Text with no color tag is black.
  • The 3-digit form works when both digits of every pair match: <#ff6600> becomes <#f60>, but <#ff6a00> has no short form.
  • Underline and strikethrough take the color that is active when their tag opens. <#f00><u> gives a red line; <u><#f00> gives red text with a black line.
  • Closing tags are optional when the formatting should run to the end of the sign. Leaving out </smallcaps> saves twelve characters. Keep the closing tag if more text follows, or the style carries on.

Tip

Use the 3-digit form when you can: <#ff66ff> becomes <#f6f>, three characters cheaper.

Watch

Open the color before <u> or <s>, or the line stays black.

Save

Each closing tag you leave out saves at least four characters.
<#f00><u>Mead hall18/50
<u><#f00>Mead hall18/50
Fig. 2 Color first and the line is red. Open <u> first and the text turns red, but the line stays black.
<#f00>Copper</color> ore24/50
<#f00>Copper ore16/50
Fig. 3 With </color> only the first word is red. Leave it off and the color runs to the end of the sign.

Size and automatic fitting

Without a size tag the game fits text to the board. A single character lands near size 8 and every extra character steps it down, so the same sentence is larger on one line than split over two. A <size> tag skips this fitting. In our measurements, sizes 5, 7 and 9 drew at 14, 19 and 25 pixels on one sign. The board is the limit: size 14 is the largest capital that fits inside it.

Watch

A capital at size 14 spans the board from top to bottom; at 15 it overhangs.
<size=5>5 <size=7>7 <size=9>929/50
Fig. 4 Sizes are absolute and linear: 9 is nine fifths the height of 5.

Letters and fonts

  • Signs use the Norsebold font, the only cut available, so bold text is already what you get.
  • Lowercase Latin letters are drawn with the capital glyphs, so "hi there" shows as "HI THERE". Use <smallcaps> if you want short capitals for lowercase letters. Capitals are wider than lowercase, which affects how much fits on a line.
  • Beyond its own font, a sign falls back to the Noto fonts shipped with the game. In tests this covered Chinese, Japanese, Korean, Thai, Hebrew, Arabic, Latin Extended and currency symbols. The sparkle symbols U+2735 and U+2736 come out as empty boxes.
  • Elder Futhark runes draw correctly on the sign, but the in-game edit box has no font for them and shows squares until you confirm. Paste them in and trust the sign.

Tip

Skip <b>. It costs three characters and changes nothing.
Hi there8/50
<smallcaps>Hi there19/50
Fig. 5 Lowercase letters are drawn as capitals. <smallcaps> makes them shorter capitals, while letters typed as capitals keep full height.

Emoji

Emoji come from a Noto Emoji font that the game ships, so they look the same for every player. They are single-color and take whichever color tag is active. The font covers emoji up to Emoji 15.0 (2022); newer ones show as a box. Emoji built from several parts (skin tones, joined sequences, flags) are not combined, so each part is drawn as its own symbol. For something more colorful, the game also has 16 built-in sprite graphics, <sprite=0> to <sprite=15>.

Watch

Emoji newer than Emoji 15.0 (2022) show as a box.
<#00f>⚓ Harbour15/50
Fig. 6 Emoji are single-color, so they take whichever color tag is active.

The edit box applies tags live

While you type, the game's edit box already applies your tags instead of showing them as raw text. Very small text, or text colored close to the plank, can look as if it vanished, although usually part of it stays visible. What you see after confirming is the real result.

Tip

Not sure it worked? Confirm the sign and look at the board.

Six signs worth stealing

Each one fits within the 50-character limit. Copy the markup, paste it into a sign and change the words to suit your base.

  • Meat chest

    33/50
    <#f88>🥩 MEAT\n<#fff>raw + cooked
  • Ore chest

    31/50
    <#fa5>⛏ ORE\n<#fff>copper + tin
  • Wood chest

    32/50
    <#db8>🪵 WOOD\n<#fff>fine + core
  • Seed chest

    37/50
    <#9e6>🌾 SEEDS\n<#fff>carrot + turnip
  • Mead chest

    38/50
    <#fd5>🍺 MEADS\n<#fff>health + stamina
  • Trophy chest

    37/50
    <#8df>💀 TROPHIES\n<#fff>boss summons

Ready to try it? Open the Sign Editor.