// the take
Remarkable is a CommonMark-compliant markdown-to-HTML parser for Node and the browser, built around a pluggable rule chain (core/block/inline rulers) so you can enable, disable, or replace individual syntax rules instead of forking the library. It's aimed at people who need to customize or extend markdown parsing (custom syntax, typographer replacements, syntax highlighting hooks) rather than just render GFM out of the box.
The ruler-based architecture (Remarkable.core.ruler, .block.ruler, .inline.ruler) is a genuinely useful design — you can surgically enable/disable rules like footnotes or tables, or splice in your own, without monkey-patching. It's tested against the official CommonMark spec test suite (test/fixtures/commonmark), which gives real confidence in edge-case behavior most ad-hoc parsers get wrong. GFM extras (tables, strikethrough, footnotes) and optional typographer/smartquotes replacements ship built in rather than requiring a plugin for common cases. Performance is solid due to monomorphic, JIT-friendly code, beating markdown.js in the repo's own benchmarks.
It's effectively been superseded by markdown-it, written by the same core authors (puzrin, rlidwka) after a design split — markdown-it has the active plugin ecosystem and ongoing maintenance, while this one doesn't, and the README even points you elsewhere for HTML-to-markdown and TOC generation. The last push was May 2024, so there's been well over two years of silence with no sign issues or PRs are being triaged. There's no built-in HTML sanitization: turning on `html: true` to allow raw HTML passthrough gives zero XSS protection, and the README doesn't call out that you need your own sanitizer (e.g. DOMPurify) for untrusted input. The benchmark numbers quoted are from 2015-era hardware against markdown 0.3.2, so they tell you nothing about where it stands against current alternatives on modern Node.
We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →