Steam

Steam

125 ratings
Comprehensive Formatting Help
By lightwo
List of all markup (BBCode) tags on Steam, where they can be used, their parameters and issues surrounding them.
   
Award
Favorite
Favorited
Unfavorite
Preface
While is always accessible, it's very inaccurate and inconsistent. Also, as evident by many differences in lists, not all tags are available everywhere. This guide aims to make the differences clearer, as well as point out parsing issues to watch out for.

Recommendations
  • Until character count is consistently implemented across Steam, add-ons like Word Count[addons.mozilla.org] are recommended to track it without relying on an external editor.
  • An alternative for guide section contents is Lutymane's Extended-Guide-Editing[github.com] userscript that removes the character limit, which requires a userscript loader add-on such as Violentmonkey[addons.mozilla.org] (edit: it doesn't seem to work any longer!).
  • Textarea Tabbing[addons.mozilla.org] is another recommendation, it can be used to indent hard to navigate code without wasting as many available characters using tabs instead of regular spaces.
  • Steam - unhide removed links[userstyles.world] userstyle reveals the contents of removed links, and requires a userstyle loader add-on such as Stylus[addons.mozilla.org].
Documented Tags
Syntax
Example
[h1] Heading 1 [/h1]
[h2] Heading 2 [/h2]
[h3] Heading 3 [/h3]

Note: Heading 2 and Heading 3 are not documented and have no accompanying button, Heading 1 can't be used in certain cases where it's documented otherwise.
Heading 1
Heading 2
Heading 3
[b] Bold text [/b]
[u] Underlined text [/u]
[i] Italic text [/i]
[strike] Strikethrough text [/strike]
Bold text
Underlined text
Italic text
Strikethrough text
[spoiler] Spoiler text

(image) [/spoiler]

Note: only works well for text
Spoiler text

[noparse] Doesn't parse [b]tags[/b] [/noparse]
Doesn't parse [b]tags[/b]
Horizontal

[hr][/hr]
rule

Note: a break appears post-tag, work around it by adding a break before [hr][/hr]
Horizontal



rule
[url=steamhost.cn] Website link [/url]

Paste any (external or otherwise) URL for it to become a hyperlink.
lightwo.net
https://steamhost.cn/steamcommunity_com/discussions/

Note: external domain text can be worked around by using the link filter URL and adding a colon (:) after the steamhost.cn/steamcommunity_com domain, using it for the URL tag

id=anchor makes an anchor (unavailable)
Paste a plain YouTube or Vimeo URL to automatically generate a widget.
https://www.youtube.com/watch?v=tax4e4hBBZc

Note: doesn't work if the user hasn't accepted YouTube/Vimeo cookies within Cookies & Browsing within account settings.
Paste a plain Sketchfab URL to automatically generate a widget.
https://sketchfab.com/3d-models/two-prudential-plaza-5948e8c389284f10993f882ca329223b

Note: doesn't work if the user hasn't accepted Sketchfab cookies within Cookies & Browsing within account settings.
Paste a Steam store page URL to automatically generate a widget.
https://steamhost.cn/app/323190/
Paste a Steam Workshop or other user-generated content URL to automatically generate a widget.
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=157328145

[list]
[*] Bulleted list
[*] Bulleted list
[*] Bulleted list
[/list]
  • Bulleted list
  • Bulleted list
  • Bulleted list
[olist]
[*] Ordered list
[*] Ordered list
[*] Ordered list
[/olist]
  1. Ordered list
  2. Ordered list
  3. Ordered list

[quote=author;3155312274947358220] Quoted text [/quote]

Note: author and comment ID are optional. Use a comment ID (included in the post number link) to link to a comment in the same thread
Originally posted by author:
Quoted text
[code] Fixed-width font, preserves spaces [/code]
Fixed-width font, preserves spaces
[table]
[tr]
  [th] Name [/th]
  [th] Age [/th]
[/tr]
[tr]
  [td] John [/td]
  [td] 65 [/td]
[/tr]
[tr]
  [td] Gitte [/td]
  [td] 40 [/td]
[/tr]
[tr]
  [td] Sussie [/td]
  [td] 19 [/td]
[/tr]
[/table]

Note: a [table] element with no cells can be used to create a closed section, especially useful for left- and right-aligned images.

noborder and equalcells can't be used anywhere in Community editable by a normal user (excl. News and Support articles), despite being included in formatting help
Name
Age
John
65
Gitte
40
Sussie
19

[table noborder=1]
will hide the table borders

[table equalcells=1]
will force the table be full width of the page and for each column to be equal width
Undocumented Tags
Syntax
Example
A very boring paragraph full of text nobody will read. Blah blah, not another lorem ipsum.

[pullquote] “The readers are impatient.” [/pullquote]
This paragraph is even less readable. “The readers are impatient. Just get to the point,” he said.
A very boring paragraph full of text nobody will read. Blah blah, not another lorem ipsum.

“The readers are impatient.”

This paragraph is even less readable. “The readers are impatient. Just get to the point,” he said.
[p]The quick brown fox jumps over the lazy dog.[/p]
[p]The lazy dog is tired of being jumped over whenever someone's writing examples.[/p]

The quick brown fox jumps over the lazy dog.

The lazy dog is tired of being jumped over whenever someone's writing examples.

[img]https://steamuserimages-a.akamaihd.net/ugc/.../.../[/img]

Note: externally hosted images may be used
[video mp4=video_url.mp4][/video]

Note: externally hosted videos may be used, video is always muted, but can be any video format


autoplay=0 to disable autoplay (pointless)
poster=thumbnail_url.png (clicking does nothing)

[previewimg=420;sizeFull,floatLeft;example.png]Alt text[/previewimg]

Note: image needs to exist within guide images
Alt text
Size:
sizeThumb (half-width)
sizeFull (full-width)
sizeOriginal (original size)

Alignment:
floatLeft (left)
floatRight (right)
inline (inline)

[previewicon] respects breaks but isn't supposed to open modal window

[screenshot=420;https://...]Alt text[/screenshot]

Note: a custom thumbnail can be used by replacing the URL. Externally hosted images may be used by replacing the URL with a custom one, working around guide image storage limit
Alt text

Size and alignment:
same as above

[previewyoutube=tax4e4hBBZc;leftthumb][/previewyoutube]

Note: full width doesn't take tables and quotes into account

[previewyoutube=video_ID;full]
will make the video full width

[previewyoutube=video_ID;rightthumb]
will align the video right
Paste a Steam Inventory Item URL to automatically generate a widget.
https://steam.../inventory/#440_2_11198320657

Note: new preview generation is broken for inventory AppIDs with many items, presumably due to reaching cache storage limit
(Usually broken)

[color] Colored text [/color]
Removed in 2017 due to the CSS injection exploit[i.gyazo.com]
Miscellaneous
Syntax
Example
:steamthumbsup:


Note: hovering over reveals large version (may differ)
Note: instead of colons, ː (U+02D0) can be used in reviews
[i]Un[/i]remarkable

Note: this is a parsing inconsistency
Unremarkable
(otherwise Un remarkable)
{STEAM_CLAN_IMAGE}/rest-of-url.jpg

Note: used to shorten image URLs under clans path, mainly for store pages
https://steamcdn-a.akamaihd.net/steamcommunity/public/images/clans/rest-of-url.jpg
♥♥♥♥
♥♥♥♥ or ****

Note: disabled in groups entirely.

Can be altered under Community Content Preferences.

Add this string to Never filter these words to disable everywhere:
.*
Where To Use
Warning: Limits may be inaccurate
Likely due to the 2022 Winter Sale, some limits on Steam have been adjusted, and this section hasn't yet been edited to reflect that, considering it may be a temporary change. Here's some information on that.

Short summary
  • h1 can't be used in comments and activity posts, but h2 and h3 can.
  • h2, h3, img, video and Inventory Item URL aren't documented anywhere or have accompanying buttons.
  • Most formatting help pages are missing tables.
  • Group summaries aren't as bare as formatting help suggests.
  • img is exclusive to user-generated content description/summary.

Type
What works (bold: undocumented)
Character limit
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, YouTube URL, Store URL, UGC URL, Inventory Item URL, list, olist, quote, code, table, emoticon, bracket expansion, word filter (excl. groups)
18000 (16384 for new posts, infinite in OP edits, parser breaks at ~120000)
h2, h3, b, u, i, strike, spoiler, noparse, hr, url (excl. profile), emoticon, parsing space error, bracket expansion, word filter (excl. groups)
1000
Profile summary
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, emoticon, parsing space error, bracket expansion, word filter
4000
Profile showcases
h1 (except for Items Up For Trade), h2, h3, b, u, i, strike, spoiler, noparse, hr, url, emoticon, parsing space error, bracket expansion, word filter
8000
Custom Info Box title
Nothing!
512
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, list, olist, quote, code, table, bracket expansion
3000
Nothing!
255
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, YouTube URL, Store URL, UGC URL, Inventory Item URL, list, olist, quote, code, table, emoticon, bracket expansion
32000
Nothing!
1024
Nothing!
1000
Nothing!
256
Nothing!
200
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, previewyoutube, list, olist, quote, code, table, img, video, bracket expansion, word filter
8000
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, YouTube URL, previewyoutube, Store URL, UGC URL, Inventory Item URL, list, olist, quote, code, table, video, previewimg, previewicon, screenshot, bracket expansion, word filter
8000
Guide section titles (same as above, but lacks link previews)
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, previewyoutube, list, olist, quote, code, table, video, previewimg, previewicon, screenshot, bracket expansion, word filter
128
Chat
spoiler (/spoiler), YouTube URL, Store URL (or /store) (unavailable in China), UGC URL, Inventory Item URL, quote (/quote), code (/code), images (sent URL or uploaded directly), emoticon, chat effect, mention, word filter

Extras: /me, /pre (works the same as code elsewhere currently), /giphy (unavailable in China), /random, /flip, /sticker (followed by sticker name), /roomeffect (followed by chat effect name)
5000
Review (it's the same in showcase)
h1, h2, h3, b, u, i, strike, spoiler, noparse, hr, url, YouTube URL, Store URL, UGC URL, emoticon (workaround), Inventory Item URL, list, olist, quote, code, table, bracket expansion, word filter
8000
Activity post
h2, h3, b, u, i, strike, spoiler, noparse, hr, url, YouTube URL, Store URL, UGC URL, emoticon, parsing space error, bracket expansion
10240

To do
pullquote, p, Sketchfab embed, chat embeds (Vimeo, Sketchfab, Twitter, Spotify); consider summarising embeds as "YouTube" and "other embeds"
81 Comments
OstinFCT 23 hours ago 
How work "poster=thumbnail_url.png (clicking does nothing)"?
Sydewinder 1 May @ 11:15am 
Alright thanks bud :steamthumbsup:
lightwo  [author] 1 May @ 10:20am 
Nope, that feature doesn't exist to my knowledge.
Sydewinder 1 May @ 10:02am 
Hello, how did you managed to set the width of columns in tables? I've tried like [th:50]Column title[/th] but that doesn't seem to work.
lightwo  [author] 28 Feb @ 11:02am 
o_o

If I hadn't abandoned the Steam variant of this guide, it would've been really useful :thXD:

https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2967855237
GE-0 28 Feb @ 3:18am 
Yeah, sorry, my knowledge is mostly inapplicable to guides and stuff, since my field is mainly announcements and store page descriptions.
I’ve now made a guide to test stuff and indeed almost nothing works there :( Even colspan/rowspan for table cells.

But {date} tag does :) It also works on the forum, but alas not in the announcements, so i’m jealous :D i’ve asked Support to add it long ago — it would be pretty handy to describe maintenance times for example.

So example:
{date}1707323408{/date}
would display
"7 Feb, 2024 @ 4:30pm"
if user is using English and his timezone is UTC. The value is a unix timestamp.

It’s hardly useful for guides though i guess
lightwo  [author] 28 Feb @ 2:04am 
Yeah, paragraph tag is the only tag which I found to work here. I don't really see the purpose as it's broken and doesn't have a font set in some scenarios, and this is all preformatted text anyway, I can't imagine scrapers or screen readers behaving much differently in either case.
lightwo  [author] 28 Feb @ 1:53am 
Now I regret not having made group discussions for this guide too :thXD:

I abandoned Steam guides for the most part as Valve's bbcode is a nightmare to work with and guides are beyond broken, but I'll look into these later, even though I doubt any of them work outside of developer announcements
GE-0 27 Feb @ 10:54am 
> Hope they can bring that editor to some other places as well.
I hate that editor because of how it mangles the text and also because it does not know some tags which in fact work in store page descriptions. So i do it the old way :D
But it’s nice for non-tech-savvy users or when you want to quickly preview the content without saving it first and the opening the page in preview mode.

Thank you! :)
GE-0 27 Feb @ 10:49am 
You’d be surprised that some tags are used by Valve themselves in literally one single or very few announcements and then completely forgotten :))
For example {speaker} tag (has parameters) — i’ve only seen in one single very old announcement.

Fun fact: {center} tag exists but does nothing because css for it is broken, probably it’s a leftover.

You can try {c} tag in guides, it works in announcements, but not in the forum or comments. It’s like {code} but for a part of text instead of whole line. Example:
Press {c}Escape{/c} to exit. Create a variable named {c}index{/c}.