elm-format
elm-format is a free formatter for Elm source code, applying rules based on the official Elm Style Guide.
What elm-format is
elm-format is a free formatter for Elm source code, applying rules based on the official Elm Style Guide. Its command-line tool can format one Elm file or all Elm files in a directory, and the --yes option permits overwriting files. The README recommends running it from a directory containing elm.json or elm-package.json, or specifying the corresponding Elm version. Installation is documented through npm install -g elm-format or a downloaded release binary. Version 0.8.7 supplies binaries for Linux, macOS, and Windows. The project lists editor integrations for Atom, Light Table, Vim, Emacs, Visual Studio Code, Sublime Text, JetBrains IDEs, and TextMate, plus Prettier integration through prettier-plugin-elm. Approved editor plugins default to formatting Elm files on save. The project says consistent formatting can make code easier to write, read, and maintain, while reducing team debates about style. elm-format is open source under the BSD-3-Clause license and also has a library API.
Good
- Formats a single file or a directory of Elm files.
- Available for Linux, macOS, and Windows.
- Lists integrations with several editors and Prettier.
- Open source under the BSD-3-Clause license.
Watch out
- Supports Elm source code only.
- Requires an Elm project file or a version option.
Who it suits
elm-format suits Elm developers and teams who want a consistent format from the command line or an editor integration. It is also relevant when formatting on save or using the library API is useful.
Verdict
elm-format offers a focused way to apply consistent formatting to Elm code, with command-line and editor workflows. Its scope is limited to Elm, and setup needs the project’s Elm version context.
Plans and prices
From elm-format's own pricing page, checked 8 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| elm-format | Free | Elm source formatting · command-line tool |
The facts
Each one read from elm-format's own pages, with the date it was checked.
What it does
- Command line
- The command line can format a single Elm file or all Elm files in a directory, and can overwrite files with the --yes option.checked 8 Oct 2026
- Consistent style
- The project says consistent formatting can make code easier to write, read, and maintain, and reduce team debates about formatting.checked 8 Oct 2026
- Editor integrations
- The README lists integrations for Atom, Light Table, Vim, Emacs, Visual Studio Code, Sublime Text, JetBrains IDEs, and TextMate.checked 8 Oct 2026
- Elm versions
- The README says to run elm-format from a directory containing elm.json or elm-package.json, or pass the corresponding Elm version option.checked 8 Oct 2026
- Format on save
- The README says the default behavior of elm-format-approved plugins is to format Elm files on save.checked 8 Oct 2026
- Install
- The README documents installation with npm install -g elm-format or by downloading a release binary.checked 8 Oct 2026
- Intended users
- The README describes benefits for developers and teams writing and maintaining Elm code.checked 8 Oct 2026
- License
- The repository identifies its license as BSD-3-Clause.checked 8 Oct 2026
- Operating systems
- The 0.8.7 release provides binaries for Linux, macOS, and Windows.checked 8 Oct 2026
- Other tool integration
- The README lists integration with Prettier through prettier-plugin-elm.checked 8 Oct 2026
- Purpose
- elm-format formats Elm source code according to rules based on the official Elm Style Guide.checked 8 Oct 2026
- Release
- The latest release page opened is version 0.8.7, released on April 11, with fixes and improvements including a Windows npm installer fix.checked 8 Oct 2026
- Signing
- The 0.8.7 release page says its tag was signed with a verified committer signature and that the signing key has expired.checked 8 Oct 2026
Alternatives to elm-format
- 1

Prettier
Free planOpen sourceWebAPIExtensionLinux7.5Free plan - 2
Avidemux
Free planOpen sourceWebLinuxmacOSWindows7.3Free plan - 3
Fourmolu
Free planWebLinuxWindows6.7Free plan - 4
rustfmt
Free planLinuxmacOSWindows6.6Free plan - 5
Black
Free planLinuxmacOSSelf-hostedWindows6.5Free plan - 6

Ruff
Free planWebLinuxmacOSSelf-hosted6.5Free plan
