dprint vs goimports
dprint
dprint.devgoimports
pkg.go.devSide by side
| Figure | dprint | goimports |
|---|---|---|
| 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.7 (#17) |
| Editor integrations | The installation guide lists Visual Studio Code, IntelliJ and Neovim integrations, with the dprint language-server command usable by other editors. | The documentation describes using goimports with Emacs, Vim, and GoSublime, and says it can be configured for other editors. |
| 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 package page gives `go install golang.org/x/tools/cmd/goimports@latest` as the installation command. |
| License | The dprint GitHub repository is marked MIT licensed. | The package page identifies its license as BSD-3-Clause and marks it redistributable. |
| Purpose | dprint is a command-line application that automatically formats code. | goimports updates Go import lines by adding missing imports and removing unreferenced imports. |
| Support | The official contact page directs users to email [email protected]. | The package documentation directs users to the Go issue tracker for bugs and feature requests. |
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.