Skip to content
SPECIFICTION
Get listed

shfmt

github.com

Free plan WindowsmacOSLinuxSelf-hosted
Visit github.com
Spec score 7.6 #23 of 34 in Code Formatting Tools

Spec sheet

Purpose
shfmt formats shell programs and is included in a shell parser, formatter, and interpreter project.Read 9 Oct 2026 · github.com
Security
The latest release page says its release tag was signed with the committer’s verified signature.Read 9 Oct 2026 · github.com
Support
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.Read 9 Oct 2026 · github.com
Configuration
shfmt reads formatting options from EditorConfig files when parser or printer flags are not provided.Read 9 Oct 2026 · github.com
Distribution
The README lists packages and installation routes including Alpine, Arch, Debian, Docker, Fedora, FreeBSD, Homebrew, MacPorts, NixOS, OpenSUSE, PyPI, Scoop, Snapcraft, Void, and webi.Read 9 Oct 2026 · github.com
Docker
Docker release tags include versioned releases, a v3 stable tag, and a latest development tag; images contain shfmt and have Alpine variants.Read 9 Oct 2026 · github.com
Editor integrations
Listed integrations include JetBrains shell plugins, micro, NeoVim, VS Code, Emacs, and Trunk.Read 9 Oct 2026 · github.com
File handling
It can format files or standard input, recursively process directories, and list, write, or diff files whose formatting differs.Read 9 Oct 2026 · github.com
Formatting
shfmt uses a consistent default style and offers flags for indentation, case indentation, binary operator placement, redirect spacing, block placement, and minification.Read 9 Oct 2026 · github.com
Limit
The formatter cannot be disabled for selected line ranges, and the project says it avoids adding formatting options where possible.Read 9 Oct 2026 · github.com
Maintainer
The man page identifies Daniel Martí as maintainer, assisted by open-source contributors.Read 9 Oct 2026 · github.com
Other integrations
Other listed integrations include a Prettier plugin, a GitHub Action, a Markdown formatter plugin, and a pre-commit hook.Read 9 Oct 2026 · github.com
Shell dialects
The project supports POSIX Shell, Bash, Zsh, and mksh.Read 9 Oct 2026 · github.com
Syntax checking
The project says shfmt can replace bash -n to check scripts for syntax errors and statically parses all syntax, requiring valid UTF-8.Read 9 Oct 2026 · github.com

Plans and prices

shfmt Free Open-source shell formatter · no paid plan or usage limits stated Read 9 Oct 2026 · github.com

Every shfmt plan and price →

Where Specifiction places it

Alternatives to shfmtAll alternatives →