How to use the markdown to bbcode converter
- Paste or type your Markdown text into the input area.
- The tool automatically converts it to BBCode as you type.
- Review the output to ensure all elements translated correctly.
- Click the output area to select all, then copy the BBCode.
- Paste the result directly into your forum post editor.
Supported Markdown Subset
This markdown to bbcode converter handles the elements most commonly used in documentation and forum posts. It does not attempt to parse every edge case of the full CommonMark specification.
- Headings: ATX style (
# H1through###### H6) maps to[size=6]down to[size=1]. - Emphasis:
*italic*becomes[i]italic[/i], and**bold**becomes[b]bold[/b]. - Inline code: Backtick-wrapped text converts to
[font=monospace]. - Fenced code blocks: Triple backticks produce
[code]tags. An optional language hint is ignored since standard BBCode lacks syntax highlighting. - Links and images:
[text](url)becomes[url=url]text[/url]. Images use[img]. - Lists: Unordered lists (
-or*) map to[list]. Ordered lists (1.) map to[list=1]. - Blockquotes: Lines starting with
>are wrapped in[quote]tags. - Horizontal rules: Three or more dashes, asterisks or underscores become a line of dashes, since BBCode has no native rule tag.
- Tables: Pipe tables are converted to plain text columns separated by spaces, because standard BBCode does not support tables.
How Inline Formatting Works
The converter parses the Markdown with CommonMark rules first, so emphasis is resolved correctly (for example snake_case_name stays plain text) and each inline node is then written as its BBCode tag. The order matters: strong emphasis is matched before single emphasis to prevent conflicts.
For example, the input **hello** *world* is processed in two passes. First, the double-asterisk pattern matches **hello** and replaces it with [b]hello[/b]. Then the single-asterisk pattern matches *world* and produces [i]world[/i]. The final output is [b]hello[/b] [i]world[/i].
Inline code uses backticks. The pattern captures everything between single backticks and wraps it in [font=monospace] tags. This ensures that literal asterisks inside code spans are not accidentally treated as emphasis markers.
HTML Escaping and Safety
Text is copied as typed: BBCode is not HTML, so characters such as < and & are not turned into entities. Angle brackets become < and >, ampersands become &, and quotes become ". This prevents malicious scripts or broken markup from passing through to the forum.
Raw HTML is not interpreted, so a tag such as a div stays in the output as plain text and the forum decides how to display it. Link and image addresses are limited to http, https, mailto, tel, ftp and relative URLs; a link with any other scheme, such as javascript:, is written as its plain label. Text that itself contains square-bracket tags such as [b] is not escaped, because BBCode has no standard escape. Forums generally do not allow raw HTML anyway, so this behavior matches what you would see when posting manually.
Handling Lists and Blockquotes
Lists are detected by their leading markers. Unordered items start with -, * or + followed by a space. Ordered items start with digits and a period. Consecutive list items are grouped into a single [list] or [list=1] block.
Blockquotes require each line to start with >. Consecutive quoted lines are merged into one [quote] block. Nested quotes and nested lists are converted to nested [quote] and [list] tags.
| Markdown Input | BBCode Output |
|---|---|
- item | [list][*]item[/list] |
1. item | [list=1][*]item[/list] |
> text | [quote]text[/quote] |
When to Use Other Converters
This tool targets forum software that accepts BBCode. If you need different output formats, other converters may be more appropriate. To convert web pages back into Markdown, use the html to markdown tool. For rendering Markdown as standard web markup, try the markdown to html converter. If you just need the plain words without any formatting tags, the markdown to text utility strips everything cleanly.
For team chat platforms, the markdown to slack converter adapts syntax to Slack's specific mrkdwn format. And if your Markdown source contains characters that conflict with formatting syntax, the markdown escape tool adds the necessary backslashes.
Worked examples
| Example | Input | Result |
|---|---|---|
| Basic formatting | Markdown input: # Title / Some **bold** and *italic* text with `inline code`. | [size=6]Title[/size] / Some [b]bold[/b] and [i]italic[/i] text with [font=monospace]inline code[/font]. |
| Links and images | Markdown input: [Visit Example](https://example.com) /  | [url=https://example.com]Visit Example[/url] / [img]image.png[/img] |
| Lists and quotes | Markdown input: - Apple / - Banana / 1. First / 2. Second / > A wise quote | [list] / [*]Apple / [*]Banana / [/list] / [list=1] / [*]First / [*]Second / [/list] / [quote]A wise quote[/quote] |
| Code block and table | Markdown input: ```js / console.log('hi'); / ``` / | Name | Age | / | --- | --- | / | Alice | 30 | | [code]console.log('hi');[/code] / [code]Name Age / ----- --- / Alice 30[/code] |
FAQ
Does this converter handle nested formatting?
Yes. You can combine bold and italic, such as ***bold italic***, and the converter will nest the BBCode tags accordingly: [b][i]bold italic[/i][/b].
Why are my tables not converting to BBCode table tags?
Standard BBCode does not include a table tag. The converter writes pipe tables as aligned plain-text columns inside a [code] block so the alignment survives in proportional fonts.
Is my text sent to a server for processing?
No. The entire markdown to bbcode conversion happens locally in your browser using JavaScript. Nothing leaves your device.
What happens to raw HTML in my Markdown?
Raw HTML is not interpreted and is copied as plain text, which is safe for forum posting because the forum treats it as text. They will appear as literal text in the BBCode output, which is safe for forum posting.
Can I convert fenced code blocks with a language specified?
Yes. The language identifier after the opening backticks is recognized but omitted from the output, since BBCode [code] tags do not support syntax highlighting parameters.
Does it support reference-style links?
No. Yes. Both [text](url) links and reference links with a definition line are converted. Reference-style links such as [text][ref] with a definition elsewhere in the document are converted like inline links.