From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

BBCode or Bulletin Board Code is a lightweight markup language used to format posts in many message boards and on sites based on MediaWiki. The available tags are usually indicated by square brackets ([ ]) surrounding a keyword, and they are parsed by the message board system before being translated into a markup language that web browsers understand—usually HTML or XHTML.[1]

BBCode was introduced in 1998 by the messageboard software Ultimate Bulletin Board (UBB) implemented in Perl. In 2000 BBCode was used in phpBB—an internet forum system written in PHP and also XMB forum. vBulletin also uses BBCode.


Example HTML / CSS BBCode Output
<b>bolded text</b>
<strong>bolded text</strong>
<span style="font-weight: bold;">bolded text</span>
[b]bolded text[/b]
bolded text
<i>italicized text</i>
<em>italicized text</em>
<span style="font-style: italic;">italicized text</span>
[i]italicized text[/i]
italicized text
<u>underlined text</u>
<ins>underlined text</ins>
<span style="text-decoration: underline;">underlined text</span>
[u]underlined text[/u]
underlined text
<s>strikethrough text</s>
<del>strikethrough text</del>
<span style="text-decoration: line-through;">strikethrough text</span>
[s]strikethrough text[/s]
strikethrough text
<a href=""></a>
<a href="">ECAT</a>
<img src="" alt="" />
<blockquote><p>quoted text</p></blockquote>

(usually implemented in more advanced ways)
[quote="author"]quoted text[/quote]

(including optional author)
To quote:

quoted text

<pre>monospaced text</pre>
[code]monospaced text[/code]
monospaced text
<span style="font-size:15px">Large Text</span>


<font size="(+,-)x">Different text-size</font> (you can set + or - and x is a number representing pixels
[style size="15px"]Large Text[/style]

(The unit of measurement varies with each BBCode variant and could represent pixels, points, or relative HTML sizes.)
Large Text
<span style="color:#FF0000;">Red Text</span>


<font color="red">Red Text</font>, <span style="color:#FF0000;">Red Text</span>


<span style="color:red;">Red Text</span>


<span style="color:red;">Red Text</span>
[style color="red"]Red Text[/style]

[style color=#FF0000]Red Text[/style]

[color=#FF0000]Red Text[/color]

(Both HTML color names and hexadecimal color values are generally supported, although on some boards, you must omit the # from selecting a hexadecimal color.)
<img src="Face-smile.svg" alt=":-)">

this would be another way to use the [img]url_img[/img] and must be pre-configured for the forum administrator
(And other emoticons, depending on the variant. Most BBCodes do not enclose emoticons in square brackets, leading to frequent accidental usage)


(Specific image and size vary)

<ul><li>Entry 1</li><li>Entry 2</li></ul>
[*]Entry 1
[*]Entry 2

Some message boards do not need the square brackets around the markers, e.g.:

*Entry 1
*Entry 2


(many variants for li and /li, list types (unordered and ordered, with different bullets or counter formats), etc.)

  • Entry 1
  • Entry 2
<table><tr><td>table 1</td><td>table 2</td></tr><tr><td>table 3</td><td>table 4</td></tr></table>
  [td]table 1[/td]
  [td]table 2[/td]
  [td]table 3[/td]
  [td]table 4[/td]

(some variants for thead, rules, etc.)

table 1 table 2
table 3 table 4


BBCode is typically implemented by applying a series of regular expression string-replace operations upon the input. Because regular expressions are limited in analyzing the structure of text input, this has the artifact that any non-hierarchical BBCode input will be transformed into invalid non-hierarchical HTML without error.

Applying traditional parsing techniques is made difficult by ambiguities in the markup, such as in [quote=[b]text[/b][/quote], where the input can either be interpreted as "text" quoted from someone called "[b", or the bolded text "text" surrounded by "[quote=" and "[/quote]", i.e. "[quote=text[/quote]".


  1. ^ "Why modern forums are switching from HTML to BBCode". Retrieved 24 May 2015. 
  2. ^ BOINC Project Forums et al.

External links[edit]