Text based document generation using Python 3.x

»Home  »User Guide  »Blog  »Quickstart  »Download  »Install  »PyPI  »Windows  »Release Notes  »Contact / Donate  »Imprint / Impressum / Datenschutz

GNU/Linux: Unified Installer (Tarball) / Debian-Package (new!) / RPM-Package (new!) / PyPI.
Windows: zip-File / PyPI (new!).
Works seamlessly system-wide or local or in a Python virtual environment!
Pelican plugin for AsciiDoc3 is available, too. See our blog:

Tip In contrast to AsciiDoc (Python2) and asciidoc-py3 you can choose different encodings applying to the input and to the output. The default on both sides is utf-8. Perhaps you have an input-encoding gb18030 and like to see the output encoded with utf-16be? Try AsciiDoc3!

In consequence of the MicroSoft/GitHub deal AsciiDoc3 migrated to GitLab. You can find us here:
The repo on GitHub is still open for comments, but all further development will be on GitLab.

On this page, in all related documents, and all the stuff around I make heavy use of the documents given on and the software bundle.
The pages you are reading were written using AsciiDoc3, the corresponding AsciiDoc3 sources can be found here:
The source code of page User Guide is included in the distribution files (../doc/userguide.txt), so you can test this by yourself, see here. undergoes significant updating. Please return regularly to see the new versions of the asciidoc3-executable and the documentation.
I thank all the contributors for their awesome work.


AsciiDoc3 is a text document format for writing notes, documentation, articles, books, ebooks, slideshows, web pages, man pages and blogs. AsciiDoc3 files can be translated to many formats including HTML, PDF, EPUB, man page.

AsciiDoc3 is written in 100% pure Python3 - you need Python 3.5 or higher to execute the program (3.4 works but has reached EOL). All of the onehundred and seventy testcases defined in the AsciiDoc (Python2) distribution pass without errors and a binary identical result. See the information given on this page for download and installation instructions.

AsciiDoc3 is highly configurable: both the AsciiDoc3 source file syntax and the backend output markups (which can be almost any type of SGML/XML markup) can be customized and extended by the user.

AsciiDoc3 is a free software: licensed under the terms of the GNU General Public License version 2 or later (GPLv2+).

AsciiDoc3 is not asciidoc-py3
The offical community of AsciiDoc makes a point of the following statement: the AsciiDoc3 implementation (which you can find on this website) is a personal project. The only official port of AsciiDoc Py to Python 3 is It was done with support from the AsciiDoc Py leadership and by following a procedure that honored the copyright and license and was in the spirit of open source. (see here)
My comment: AsciiDoc (Python 2) is open source under the terms of the GPLv2+. So are both AsciiDoc3 (Python 3) and asciidoc-py3. Every user may choose what he/she/div likes to run. As far as I can see any of the two programs cover all requested features.

Overview and Examples

You write an AsciiDoc3 document the same way you would write a normal text document, there are no markup tags or weird format notations. AsciiDoc3 files are designed to be viewed, edited and printed directly or translated to other presentation formats using the asciidoc3 command.

The asciidoc3 command translates AsciiDoc3 files to HTML, XHTML and DocBook markups. DocBook can be post-processed to presentation formats such as HTML, PDF, EPUB, DVI, LaTeX, roff, and Postscript using readily available Open Source tools.

Bug reports

  • When reporting problems please illustrate the problem with the smallest possible example that replicates the issue (and please test your example before posting). This technique will also help to eliminate red herrings prior to posting.

  • Paste the commands that you executed along with any relevant outputs.

  • Include the version of AsciiDoc3 and the platform you’re running it on.

  • If you can program please consider writing a patch to fix the problem.