Free BBCode Editor
Write a forum post in BBCode to preview it, copy the HTML, convert it to Markdown, or check it for broken tags.
What is a BBCode Editor?
BBCode is the bracketed markup forums have used for decades: [b]bold[/b], [url]links[/url], [quote]quotes[/quote]. Boards such as phpBB, vBulletin, XenForo and SMF still store posts in it. This editor previews BBCode, shows the HTML it becomes, and converts it to Markdown.
It parses posts with @bbob, a maintained BBCode library, using its HTML5 preset with forum-friendly sizes, alignment and quote authors. Raw HTML in a post stays text, unknown tags are left as written, and a check view lists tags, links and images with problems such as unclosed tags and unsafe links.
Key Features
Live Preview
Bold, italic, underline, strike, links, images, quotes, code, lists, colours, sizes, alignment and tables.
HTML Output
The HTML a post becomes, to paste into a site that doesn’t read BBCode.
BBCode to Markdown
Convert posts for Discourse, GitHub or a static site, with notes on formatting Markdown can’t keep.
Problem Check
Unclosed and unknown tags, bad colours and sizes, and links that aren’t web or email addresses.
Safe by Design
Raw HTML is escaped and the preview is sanitised. Remote images aren’t loaded.
Perfect for everyone
- Forum moderators and admins
- Community managers migrating boards
- Anyone writing posts for BBCode forums
How to Use the BBCode Editor
Write or paste a post, then pick a view. The preview, HTML and Markdown all come from the same parse, so they always agree with each other.
Write the Post
Type BBCode or paste a post copied from a forum’s editor.
Preview It
See the post as it will look, with quotes, lists and code formatted.
Convert It
HTML gives markup for a website; Markdown gives a post for a Markdown platform.
Check It
Check lists tags and links, and any problems to fix before posting.
BBCode, Rendered
Each row is BBCode as forum members write it, and each answer is this editor’s output in the mode on the chip: the HTML @bbob produces, the Markdown conversion or the check. The HTML is what the preview draws after sanitising.
“[size=5][b]Server maintenance this Saturday[/b][/size] [quote=Moderator]The forum will be read-only from 02:00 to 04:00 UTC.[/quote] What changes: [list] [*][b]Faster search[/b] across all boards [*]New [url=https://example.com/rules]posting rules[/url] [*][color=#b00]Old attachments over 5 MB[/color] will be removed [/list] [center][i]Thanks for your patience![/i][/center]”
“[b]Fix for the login loop[/b] [list=1] [*]Clear the cookie [i]session_id[/i] [*]Run this in the console: [/list] [code]localStorage.removeItem("token");[/code]”
“[b]bold[/b] [i]italic[/i] [u]underline[/u] [s]strike[/s]”
“[quote=Ada]Ship it on [b]Friday[/b].[/quote]”
“[size=1]tiny[/size] [size=7]huge[/size] [size=200]double[/size]”
“<b>not bold</b> and [b]bold[/b]”
“[url]https://example.com[/url], [url=https://example.com/docs]the docs[/url] or [email]help@example.com[/email]”
“[size=5][b]Server maintenance this Saturday[/b][/size] [quote=Moderator]The forum will be read-only from 02:00 to 04:00 UTC.[/quote] What changes: [list] [*][b]Faster search[/b] across all boards [*]New [url=https://example.com/rules]posting rules[/url] [*][color=#b00]Old attachments over 5 MB[/color] will be removed [/list] [center][i]Thanks for your patience![/i][/center]”
“[b]Unclosed bold and a [spoiler]custom tag[/spoiler], plus [url=javascript:alert(1)]a bad link[/url]”
“[table][tr][th]Plan[/th][th]Price[/th][/tr][tr][td]Pro[/td][td]10 USD[/td][/tr][/table]”
The BBCode Tags Most Forums Share
Every forum adds its own tags, but these ten work almost everywhere and are the ones this editor understands. Tags not listed here stay as plain text in the preview.
[b], [i], [u], [s]
Bold, italic, underline and strikethrough, closed with a slash: [b]text[/b].
“How do you strike text through?”
[url]
A link: [url]https://example.com[/url], or [url=https://example.com]label[/url] for custom text.
“How do you change a link’s text?”
[email]
A mail link, written like [url] but with an address.
“What does [email] produce?”
[img]
An image from an address: [img]https://example.com/photo.png[/img].
“Does the preview load it?”
[quote]
A quotation, with [quote=name] naming who said it.
“How do you credit the quote?”
[code]
Preformatted text where tags aren’t applied, for code and logs.
“Is BBCode inside [code] applied?”
[list] and [*]
[list] starts bullets, [list=1] numbers, and [*] starts each item.
“What starts each item?”
[color]
Text colour by name or hex, as in [color=#b00]warning[/color].
“Which values work?”
[size]
Text size: 1 to 7 on most forums, a percentage on phpBB, points on SMF.
“What is [size=7]?”
[center]
Centres a block, with [left] and [right] for the other sides.
“Is [center] standard?”
Moving a Forum to Markdown
Communities often leave old BBCode boards for Discourse, GitHub Discussions or a static site, which all speak Markdown. The conversion here follows these rules, so you know what survives a migration and what needs a manual touch.
Styles
[b], [i] and [s] become **bold**, *italic* and ~~strike~~. [u] has no Markdown form and is dropped.
Links and Email
Links with a label become [label](address); bare links and emails become autolinks in angle brackets.
Quotes
Quotes become blockquote lines starting with >, with the author in bold on the first line.
Lists
Bulleted lists use hyphens and numbered lists use 1., 2. and so on, nested by indentation.
Code
[code] becomes a fenced code block, which keeps its spacing exactly.
Tables
Tables become GitHub-flavoured Markdown tables, with the first row as the header because GFM requires one.
What’s Lost
Colours, sizes, underline and alignment have no Markdown equivalent. A comment at the end names each tag dropped.
Why BBCode Exists
Forums adopted BBCode in the late 1990s so members could format posts without being allowed to write HTML. That design goal still shapes how a safe BBCode renderer behaves, including this one.
No Raw HTML
Members can’t inject scripts or styles, because only listed tags become markup.
A Fixed Tag List
Admins decide which tags exist, and anything else stays as typed text.
Link Checks
Links should only ever be web or mail addresses, never javascript: or data: URLs.
Images by Address
Hotlinked images reveal readers’ IP addresses to the image host, so this preview doesn’t load them.
Sanitise the Output
Even BBCode output should pass through an HTML sanitiser before display, as it does here.
BBCode Across Forum Software
BBCode has no governing standard, so every forum package reads a slightly different dialect. The core tags behave the same everywhere, but sizes, embeds and custom tags vary, which matters most when you move posts from one board to another.
phpBB
Sizes are percentages, so [size=150] is one and a half times normal. Since 3.2, posts are stored as XML from the s9e TextFormatter library and turned back into BBCode for editing.
vBulletin
Sizes run from 1 to 7 like old HTML font sizes. It adds tags such as [highlight] and [noparse], which this editor leaves as text.
XenForo
Sizes also run from 1 to 7, and [media] embeds videos while [user] links a member. Neither is in the shared set, so they show as typed.
SMF
Simple Machines Forum writes sizes in points, such as [size=10pt], which this editor reads. Older versions added effects like [glow] and [shadow].
MyBB
MyBB’s editor writes sizes as CSS names such as [size=large], which this editor accepts alongside numbers.
Discourse
Discourse is a Markdown forum, but it still reads common BBCode such as [b], [quote] and [url], so converted and unconverted posts can sit side by side.
How This Editor Turns BBCode into HTML
The HTML view shows exactly what the preview draws, before sanitising. These are the choices behind it, so you know what to expect when you paste the markup into a page or a newsletter template.
Inline Styles
Bold, italic, underline, strike, colour and size become spans with a style attribute, so they work without a stylesheet.
Line Breaks
Each new line becomes a line break, except after quotes, lists, code and alignment blocks, which already start a new line.
Alignment
[center], [left] and [right] become a block with text-align, since the old center element is gone from HTML.
Quote Authors
[quote=name] puts the name in a cite element at the start of the quotation.
Escaped HTML
Angle brackets in the post are escaped first, so typed HTML shows as text and can never become markup.
When to Use a BBCode Editor
Whenever a post needs checking or moving, especially when the forum’s own editor isn’t available or you are working on many posts at once.
Drafting Posts
Write long announcements with lists and quotes and check them before posting.
Forum Migrations
Convert old posts to Markdown and see which formatting needs attention.
Moderation
Check a reported post for hidden links or broken tags.
Embedding Posts
Turn a post into HTML for a blog or newsletter.
Learning BBCode
Try tags and see the result straight away.
BBCode Pitfalls
Mistakes that make posts render wrongly, most of which a forum’s editor won’t warn you about until the post is already live.
Forgotten Closing Tags
An unclosed [b] or [quote] can format the rest of the post, or nothing at all.
Crossed Tags
[b][i]text[/b][/i] closes in the wrong order. Close the inner tag first.
Forum Differences
Sizes, spoilers and media tags differ between phpBB, vBulletin and XenForo.
Spaces in Tags
[ b ] isn’t a tag. Brackets and names must touch.
Quotes in Attributes
Some forums accept [url="…"] with quotes and some don’t.
Images Breaking
Hotlinked images disappear when the host removes them. Upload to the forum instead.