dprint vs Ruff
dprint
dprint.devRuff
docs.astral.shSide by side
| Figure | dprint | Ruff |
|---|---|---|
| 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 | Yes |
| Plans published | 1 | 1 |
| Spec score · Code Formatting Tools | 8.1 (#7) | 7.9 (#12) |
| CI integrations | The project documents a GitHub Action, a GitLab integration and generic CI usage through dprint check. | Ruff documents integrations for GitHub Actions and GitLab CI/CD, and hooks for pre-commit. |
| Configuration | Projects use dprint.json, dprint.jsonc, .dprint.json or .dprint.jsonc files to define plugins, formatting settings, includes and excludes. | Ruff supports configuration through pyproject.toml, ruff.toml, or .ruff.toml. |
| Editor integrations | The installation guide lists Visual Studio Code, IntelliJ and Neovim integrations, with the dprint language-server command usable by other editors. | The setup guide documents integrations including VS Code, Sublime Text, PyCharm, and Zed. |
| 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. | Ruff can be installed using uv, pip, pipx, standalone installers, and package managers including Homebrew and Conda. |
| Purpose | dprint is a command-line application that automatically formats code. | Ruff is a Python linter and code formatter written in Rust. |
| Security | Wasm plugins run sandboxed without access to the network or file system. | Ruff’s rules include a Bandit-derived group for detecting common security issues, including possible vulnerabilities in Python code. |
| Support | The official contact page directs users to email [email protected]. | The editor setup documentation says setup instructions are provided on a best-effort basis and directs users to open an issue for assistance. |
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.
Ruff
Ruff is a Python linter and code formatter written in Rust, available free under a permissive open-source license. It includes more than 900 built-in lint rules, including native versions of popular Flake8 plugin rules, and can automatically correct violations such as unused imports. Its formatter aims to serve as a replacement for Black, though the documentation allows for differences in some cases. The built-in Ruff Language Server supplies diagnostics, fixes, and formatting; the documentation recommends pairing it with another Python language server for navigation and autocompletion. Setup guidance covers VS Code, Sublime Text, PyCharm, and Zed, while CI support includes GitHub Actions, GitLab CI/CD, and pre-commit hooks. Ruff can be installed through uv, pip, pipx, standalone installers, Homebrew, Conda, and other package managers. It supports configuration in pyproject.toml, ruff.toml, or .ruff.toml. A Bandit-derived rule group checks for common Python security issues. Ruff runs on Linux, macOS, and Windows, and is also published as a Docker image. The maker describes it as 10–100x faster than tools such as Flake8 and Black.