Markup Converter (RST, AsciiDoc, MediaWiki, BBCode)
Convert markdown to reStructuredText, AsciiDoc, MediaWiki, BBCode, Textile or Org mode and back. A free online pandoc alternative, no install.
Project setup guide =================== This guide covers a **local install** with the *default* settings. Run ``make setup`` first. Requirements ------------ - Node.js 20 or newer - PostgreSQL 15 - with the ``pgcrypto`` extension enabled - A `GitHub token <https://github.com/settings/tokens>`_ for private packages Steps ----- 1. Clone the repository 2. Copy ``.env.example`` to ``.env`` 3. Run the migrations .. code-block:: bash make setup make migrate ========= ==================== Command Purpose ========= ==================== make dev Start the dev server make test Run the test suite ========= ==================== .. note:: The first migration takes about a minute. ---- Questions go to the #dev channel.
What Is a Pandoc Alternative for Markup Conversion?
A pandoc alternative is a converter that moves documents between lightweight markup languages without installing pandoc or a Haskell toolchain. This one runs in the browser and translates markdown to reStructuredText, AsciiDoc, MediaWiki, BBCode, Textile and Org mode, and each of those back to markdown.
Markdown is the pivot format. A source document is parsed into markdown structure first (headings, paragraphs, lists, code, quotes, tables, inline formatting) and then written out in the target syntax, so any pair of formats works, including two non-markdown ones.
How to Convert Between Markup Formats
- Pick the source format in From. Markdown is selected by default.
- Pick the target in To: reStructuredText for Sphinx, AsciiDoc for Asciidoctor and Antora, MediaWiki for a wiki, BBCode for a forum, Textile for Redmine, Org mode for Emacs.
- Paste your document into the left pane or open a file. The right pane updates as you type.
- Use Swap to reverse the direction; the output becomes the new input so you can check a round trip.
- Copy the result or download it with the correct extension.
Syntax Map: Markdown to RST, AsciiDoc, MediaWiki, BBCode
| Element | reStructuredText | AsciiDoc | MediaWiki | BBCode |
|---|---|---|---|---|
| Heading 2 | Title + ----- underline | == Title | == Title == | [size=170][b]Title[/b][/size] |
| Bold / italic | **b** / *i* | *b* / _i_ | '''b''' / ''i'' | [b]b[/b] / [i]i[/i] |
| Inline code | ``code`` | `code` | <code>code</code> | [code]code[/code] |
| Link | `text <url>`_ | url[text] | [url text] | [url=url]text[/url] |
| Code block | .. code-block:: lang | [source,lang] + ---- | <syntaxhighlight lang> | [code=lang] |
| Bullet list | - item, indented nesting | * item, ** nested | * item, ** nested | [list][*]item[/list] |
| Table | Simple table with = rules | |=== block | {| class="wikitable" | [table][tr][td] |
| Quote | Indented block | [quote] + ____ | <blockquote> | [quote] |
Textile and Org Mode
Textile, used by Redmine and older Rails apps, writes headings as h2., bold as*bold*, code as @code@, links as "text":url, code blocks as bc. and tables with |_. header cells. Org mode, the Emacs outliner, uses * stars for heading levels, /italic/, ~code~,[[url][text]] links, #+BEGIN_SRC blocks and pipe tables with a|---+---| separator. The converter reads and writes both, so an Org file can become a README and a Redmine wiki page can become a docs-site article.
When a Browser Pandoc Alternative Is Enough
Most conversions people reach for pandoc to do are small: one page of documentation moving from Sphinx to a markdown site, a forum post that needs BBCode, a wiki article going the other way. For those jobs a pandoc alternative that opens in a tab and never uploads your text is faster than installing a binary and remembering its flags. Keep pandoc for binary outputs, citations and filters; use this page for markdown to rst, markdown to bbcode, markdown to mediawiki, markdown to asciidoc and the reverse conversions.
Frequently Asked Questions
Is this a full pandoc alternative?
For text-to-text markup it covers the common ground: headings, paragraphs, emphasis, inline code, code blocks, links, images, bullet and numbered lists, blockquotes, rules and simple tables between markdown, reStructuredText, AsciiDoc, MediaWiki, BBCode, Textile and Org mode. It does not produce PDF, DOCX or EPUB, and it does not handle format-specific extras such as RST directives beyond code, image and admonitions.
How does markdown to rst handle headings and code?
Headings become underlined titles using =, -, ~, ^, " and ' in that order, which Sphinx accepts. Fenced code becomes a .. code-block:: directive with the language, or a literal block introduced by :: when there is no language. Inline code becomes double backticks and links become `text <url>`_.
Can it convert markdown to mediawiki and asciidoc?
Yes. Markdown to mediawiki produces == Heading == lines, '''bold''', ''italic'', * and # lists, [url text] links and {| wikitable |} tables. Markdown to asciidoc produces = Heading = levels, *bold*, _italic_, [source,lang] listing blocks, |=== tables and NOTE/TIP/WARNING admonitions from GitHub callouts.
What does markdown to bbcode do with headings and tables?
BBCode has no heading tag, so headings become [size=N][b]text[/b][/size] with sizes from 200 down to 110 by level. Lists become [list] and [list=1] blocks with [*] items, code becomes [code=lang], quotes become [quote] and tables become [table][tr][td] markup, which phpBB-style boards with the table BBCode render.
Can I convert between two non-markdown formats?
Yes. Pick any source and any target; the tool converts the source to markdown first and then writes the target, so reStructuredText to AsciiDoc or Textile to MediaWiki work in one step. Anything markdown cannot express is dropped in the middle, which is the same limitation pandoc's AST has.
Is my document uploaded?
No. Parsing and writing happen in the browser with no server round trip, so the converter works offline once the page has loaded.