AsciiDoc is a plain-text markup language built for technical writing, originally created by Stuart Rackham in 2002. The AsciiDoc project page describes it as “a plain text markup language for writing technical content” that is “packed with semantic elements and equipped with features to modularize and reuse content,” letting authors “publish presentation-rich content from a concise and comprehensive authoring format.” The Asciidoctor documentation similarly calls it “a lightweight, semantic markup language primarily designed for writing technical documentation.”
AsciiDoc occupies a deliberately richer position than minimal syntaxes like Markdown. While it remains readable as raw text, it includes first-class support for the structures that full books and manuals demand: multi-level section hierarchies, tables, admonition blocks, footnotes, cross-references, includes for splitting large works into files, and attributes for reusable variables and conditional content. This makes it well suited to producing entire technical books from plain-text sources.
For much of its history, AsciiDoc was defined chiefly by its implementations rather than by a separate written standard. The original toolchain was Rackham’s Python program, and the dominant modern processor is Asciidoctor, written in Ruby. The Asciidoctor documentation acknowledges this directly, noting that “until the first version of the AsciiDoc Language Specification is ratified, AsciiDoc is defined by the Asciidoctor implementation,” making the processor the de facto reference for the language.
More recently the language has moved toward formal standardization. The AsciiDoc project page explains that “the AsciiDoc Language specification was launched to ensure that AsciiDoc continues to evolve and that it’s processed consistently by implementations across language runtimes, authoring environments, and application integrations.” Governance of that specification sits with the AsciiDoc Language project and, at a higher level, the AsciiDoc Working Group at the Eclipse Foundation.
In practice, AsciiDoc is processed into many output formats, including HTML, PDF, EPUB, and DocBook, and it is widely used for software manuals, O’Reilly-style technical books, and project documentation hosted alongside source code. Its combination of plain-text readability and book-grade structural features has made it a durable choice for teams who outgrow lighter markup but still want their documents to live in version control as text.