This documentation covers a prerelease version of the software. Follow this link to view the documentation for the stable version (3.0) instead.

Asciidoctor.js Documentation

This documentation covers an alpha version currently under active development. Some features may be missing or behave differently from the final release.

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 >= 24 — requires Node.js 24 (current LTS) or later

Head to the Install guide to get started.