Asciidoctor.js Documentation

Asciidoctor.js brings AsciiDoc to the JavaScript world!

This project is a native JavaScript implementation of Asciidoctor, the modern AsciiDoc processor. Unlike previous versions, it is no longer compiled from Ruby via Opal — the library is written in idiomatic, modern JavaScript (ESM), generated and maintained with the help of Claude Code.

The result is a fast, lightweight library that runs on Node.js and in the browser, with no transpilation step and no legacy bundle to ship.

Key highlights:

  • Pure ESM — import only what you need, with full tree-shaking support

  • Async API — all entry points (convert, load, loadFile, convertFile) return Promises

  • No runtime dependencies — no Opal, no Ruby, no generated bundle

  • Fast — native JavaScript execution with no interpreter overhead

  • Browser and Node.js — one library, two environments

  • Node.js >= 22 — requires Node.js 22 (LTS) or later

Head to the Install guide to get started.