Skip to content
SPECIFICTION
Get listed

dprint vs shfmt

dprint

dprint.dev

shfmt

github.com

Side by side

Figuredprintshfmt
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYesYes
Plans published11
Spec score · Code Formatting Tools8.1 (#7)7.6 (#23)
ConfigurationProjects use dprint.json, dprint.jsonc, .dprint.json or .dprint.jsonc files to define plugins, formatting settings, includes and excludes.shfmt reads formatting options from EditorConfig files when parser or printer flags are not provided.
Editor integrationsThe installation guide lists Visual Studio Code, IntelliJ and Neovim integrations, with the dprint language-server command usable by other editors.Listed integrations include JetBrains shell plugins, micro, NeoVim, VS Code, Emacs, and Trunk.
Purposedprint is a command-line application that automatically formats code.shfmt formats shell programs and is included in a shell parser, formatter, and interpreter project.
SecurityWasm plugins run sandboxed without access to the network or file system.The latest release page says its release tag was signed with the committer’s verified signature.
SupportThe official contact page directs users to email [email protected].The project asks users to file detailed bug reports and feature requests as issues; sponsorship tiers mention prioritized issues and direct support in a company chat app.

Plans

dprint

  • Open source dprintFree

dprint pricing →

shfmt

  • shfmtFree

shfmt pricing →

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.

Visit dprint.dev

shfmt

shfmt has no write-up on Specifiction yet; its figures are above.

Visit github.com