Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

A Markup that's best friends with Elm!

Elm Markup is a markup language that integrates closely with Elm.

You describe your document and get a parser that can parse that document or hand you nice error messages.

Syntax Highlighted Elm Markup

Example Error Message

Check out the talk I gave at Oslo Elm Day. Or just read the v3 release article, it gives more detail on why this project might be more than it seems.

Getting Started

To get started, check out the /examples folder:

  • Basic - A single file that defines a document and where the markup source is written in a literal string. This should be useful to get you used to creating a document and rendering it.
  • Blog - The same as basic, but with external markup files and a basic setup to use the elm-markup CLI.
  • Editor - The same as Blog, except we've made a basic rich text editor for our document.

Elm Markup CLI

There'a also an Elm Markup CLI, which can be used to check errors on external elm markup files.

VSCode Extension

There's an Elm Markup VSCode Extension which has syntax highlighting and automatic error detection using the elm-markup cli.