dprint vs Ormolu
dprint
dprint.devOrmolu
github.comSide by side
| Figure | dprint | Ormolu |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Code Formatting Tools | 8.1 (#7) | 7.8 (#14) |
| Editor integrations | The installation guide lists Visual Studio Code, IntelliJ and Neovim integrations, with the dprint language-server command usable by other editors. | The README lists integrations for Emacs, VS Code, and Vim through neoformat or vim-ormolu. |
| Installation | The CLI is distributed as a single static binary with no runtime dependencies and can be installed via shell, PowerShell, Scoop, Homebrew, Cargo, npm, uv, mise, asdf or Arch Linux. | The release page provides binaries for Linux, macOS, and Windows, and the project can also be installed with cabal or stack. |
| License | The dprint GitHub repository is marked MIT licensed. | The project’s license permits redistribution and use in source and binary forms subject to stated conditions and provides the software “as is.” |
| Purpose | dprint is a command-line application that automatically formats code. | Ormolu is a formatter for Haskell source code. |
Plans
In their own words
dprint
dprint is a command-line application that automatically formats code through a configurable, pluggable system built with Rust and WebAssembly. Its official and wrapper plugins cover languages and formats including TypeScript, JavaScript, JSON, Markdown, TOML, CSS, Dockerfile, C#, Python, Go, Swift, GraphQL, YAML, PHP, LaTeX, R, and Julia. Project configuration files define plugins, formatting settings, included files, and exclusions. Plugins can be loaded from a URL or file path and pinned or versioned in configuration. The project says dprint formats hundreds of files in milliseconds and enables incremental caching by default. WebAssembly plugins run in a sandbox without network or file-system access, while process plugins are executable files and are not sandboxed. Editor integrations are listed for Visual Studio Code, IntelliJ, and Neovim; the language-server command can also be used by other editors. The CLI is distributed as a static binary with no runtime dependencies, with installation options including shell, PowerShell, Cargo, npm, and Homebrew. It is MIT-licensed and free.
Ormolu
Ormolu is a formatter for Haskell source code. It uses GHC’s parser and applies one consistent style, with the aim of keeping diffs small. That style cannot be configured, and the project aims to leave code unchanged when it is formatted again after already meeting the style. Release binaries are available for Linux, macOS, and Windows; installation through cabal or stack is also supported. Ormolu Live provides a browser version. Listed editor integrations cover Emacs, VS Code, and Vim through neoformat or vim-ormolu, and Haskell Language Server has built-in support for Ormolu. For continuous integration, the project recommends the run-ormolu GitHub Action. It reads default language extensions and dependencies from a matching Cabal file;.ormolu files can specify fixity overrides and module re-export instructions. CPP support remains experimental and works only in simple cases where conditionals surround top-level declarations. Ormolu is open source and free, with a listed plan price of free.