README.adoc

April 27, 2026 · View on GitHub

= Asciidoctor.js: AsciiDoc in JavaScript powered by Asciidoctor Dan Allen https://github.com/mojavelinux[@mojavelinux]; Guillaume Grossetie https://github.com/mogztter[@mogztter]; Anthonny Quérouil https://github.com/anthonny[@anthonny] :idprefix: :idseparator: - :uri-repo: https://github.com/asciidoctor/asciidoctor.js :uri-freesoftware: https://www.gnu.org/philosophy/free-sw.html ifndef::uri-rel-file-base[:uri-rel-file-base: link:] :uri-contribute: {uri-rel-file-base}CONTRIBUTING.adoc :uri-contribute-code: {uri-rel-file-base}CONTRIBUTING-CODE.adoc :uri-user-manual: https://docs.asciidoctor.org/asciidoctor.js/latest/ :license: {uri-repo}/blob/main/LICENSE :experimental: :endash:

ifdef::env-github[] image:https://github.com/asciidoctor/asciidoctor.js/actions/workflows/build.yml/badge.svg[GitHub Actions Status, link=https://github.com/asciidoctor/asciidoctor.js/actions/workflows/build.yml] image:https://img.shields.io/npm/v/asciidoctor.svg[npm version, link=https://www.npmjs.org/package/asciidoctor] image:https://img.shields.io/npm/dm/asciidoctor[npm stats, link=https://www.npmjs.org/package/asciidoctor] image:https://img.shields.io/badge/jsdoc-main-blue.svg[JSDoc, link=https://asciidoctor.github.io/asciidoctor.js/main] image:https://img.shields.io/badge/zulip-join_chat-brightgreen.svg[project chat,link=https://asciidoctor.zulipchat.com/] endif::[]

Asciidoctor.js brings AsciiDoc to the JavaScript world!

This project is a native JavaScript implementation of http://asciidoctor.org[Asciidoctor], a modern implementation of AsciiDoc. It runs on Node.js ≥ 24 and in the browser.

== Quickstart

$ npm i asciidoctor --save

Here is a simple example that converts AsciiDoc to HTML5:

.sample.js [source,javascript]

import { convert } from 'asciidoctor' // <1>

const content = 'https://asciidoctor.org[*Asciidoctor*] running on Node.js!' const html = await convert(content) // <2> console.log(html) // <3>

<1> Import the named convert function from the asciidoctor package <2> Convert AsciiDoc content to HTML5 (the function is async) <3> Print the HTML5 output to the console

Save the file as sample.js and run it using the node command:

$ node sample.js

You should see the following output in your terminal:

[source.output,html]

Asciidoctor running on Node.js!

----

It's also possible to use the following script tag directly into your HTML page:

[source,html]


== Learning

If you want to learn more about Asciidoctor.js, please read the {uri-user-manual}[User Manual].

== Contributing

In the spirit of {uri-freesoftware}[free software], everyone is encouraged to help improve this project. If you discover errors or omissions in the source code, documentation, or website content, please don't hesitate to submit an issue or open a pull request with a fix. New contributors are always welcome!

The {uri-contribute}[Contributing] guide provides information on how to contribute.

If you want to write code, the {uri-contribute-code}[Contributing Code] guide will help you to get started quickly.

== Copyright

Copyright (C) 2013-present Dan Allen, Guillaume Grossetie, Anthonny Quérouil and the Asciidoctor Project. Free use of this software is granted under the terms of the MIT License.

See the {license}[LICENSE] file for details.

== Changelog

Refer to the https://github.com/asciidoctor/asciidoctor.js/blob/main/CHANGELOG.adoc[CHANGELOG] for a complete list of changes.