Hacker ApprovedDepartments

gofmt

Hacker Approved

The most recommended of 7 code formatters

Go's built-in formatter that ends style debates by enforcing one standard format with almost no settings. Critics say it does not break long lines and is not strict enough.

Go's built-in formatter that ends style debates by enforcing one standard format with almost no settings. Critics say it does not break long lines and is not strict enough.

31 people gave an opinion

recommend it
26
criticize it
5
approval share
84%
Each figure is one person. RecommendsCriticizes

Recommended in 10 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: not recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: not recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 26 people recommend itNeeds 10 or more, met.
  • 5.2 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 10 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Widely loved by Go developers

    “gofmt’s style is nobody’s favorite, yet gofmt is everybody’s favorite.”

    Comment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

    “Gofmt's style is no one's favorite, yet gofmt is everyone's favorite.”

    Comment from 20 Aug 2026 in “Go 1.27 Is Released”

    “yet gofmt is everyone's favorite.”

    Comment from 22 Oct 2026 in “Rust Style Guide”
  • Ends formatting debates and style discussions

    “The best part about gofmt is there is no discussion about how to format Go code.”

    Comment from 5 May 2026 in “Formatting a 25M-line codebase overnight”

    “go kinda eliminates a lot of the reasons for style guides to exist w/ `go fmt`”

    Comment from 8 Jan 2026 in “The Jeff Dean Facts”

    “enforcing the same style ends all of the drama”

    Comment from 2 Nov 2025 on Hacker News
  • Opinionated with few knobs

    “modern opinionated tooling like gofmt, that does not come with hundreds to thousands of knobs”

    Comment from 12 Apr 2026 in “JVM Options Explorer”

    “opinionated tooling like gofmt, that does not come with hundreds to thousands of knobs”

    Comment from 12 Apr 2026 in “JVM Options Explorer”

    “I think gofmt works much better, and that's in large part because it tries to do less.”

    Comment from 2 Nov 2025 on Hacker News
  • Built into Go, satisfying to run

    “it's so satisfying to me when I just run "gofmt" and know the thing is formatted well.”

    Comment from 1 Nov 2025 on Hacker News

    “it's so satisfying to me when I just run "gofmt" and know the thing is formatted well”

    Comment from 2 Nov 2025 on Hacker News

    “gofmt was somewhat revolutionary for being a built-in”

    Comment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

What people warn about

Each mark is one comment

  • Not strict or opinionated enough

    “Gofmt is a great idea but it isn't strict enough for my taste.”

    Comment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

    “Gofmt is great but it's still not very strict”

    Comment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

    “as gofmt is not opinionated enough”

    Comment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”
  • Does not break long lines

    “The most important task of a code formatter is to break long lines; it doesn't do it.”

    Comment from 12 Aug 2026 in “Why Go Is an Ideal Language for AI-Assisted Software Engineering”

    “It doesn't even have an option to do it!”

    Comment from 12 Aug 2026 in “Why Go Is an Ideal Language for AI-Assisted Software Engineering”

Other code formatters people recommend

The four most recommended other code formatters, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

gofmt compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
gofmtThis page26584%10—Approved
Black18675%6—Approved
FracturedJson18290%2——
Prettier161062%8——
Oxfmt14961%6——
See all 7 code formatters, ranked

What people said

31 of the 34 comments that mention it, newest first. Each links to the original comment.

“first time I saw a language mandate it's formatting”

RecommendsComment from 22 Oct 2026 in “Rust Style Guide”

“yet gofmt is everyone's favorite.”

RecommendsComment from 22 Oct 2026 in “Rust Style Guide”

“Things like this make me appreciate Gofmt so much”

RecommendsComment from 21 Oct 2026 in “Rust Style Guide”

“That's been a major success”

RecommendsComment from 20 Aug 2026 in “Go 1.27 Is Released”

“Gofmt's style is no one's favorite, yet gofmt is everyone's favorite.”

RecommendsComment from 20 Aug 2026 in “Go 1.27 Is Released”

“It doesn't even have an option to do it!”

CriticizesComment from 12 Aug 2026 in “Why Go Is an Ideal Language for AI-Assisted Software Engineering”

“The most important task of a code formatter is to break long lines; it doesn't do it.”

CriticizesComment from 12 Aug 2026 in “Why Go Is an Ideal Language for AI-Assisted Software Engineering”

“I'd read about this many times before I started with Go so I was particularly disappointed to learn that it was a lie.”

CriticizesComment from 12 Aug 2026 in “Why Go Is an Ideal Language for AI-Assisted Software Engineering”

“'go fmt' is the only one that matters”

RecommendsComment from 11 Aug 2026 in “Why Go Is an Ideal Language for AI-Assisted Software Engineering”

“I love gofmt, rustfmt, ruff.”

RecommendsComment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

“as gofmt is not opinionated enough”

CriticizesComment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

“gofmt was somewhat revolutionary for being a built-in”

RecommendsComment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

“gofmt’s style is nobody’s favorite, yet gofmt is everybody’s favorite.”

RecommendsComment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

“Gofmt is great but it's still not very strict”

MixedComment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

“Gofmt is a great idea but it isn't strict enough for my taste.”

MixedComment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

“The best part about gofmt is there is no discussion about how to format Go code.”

RecommendsComment from 5 May 2026 in “Formatting a 25M-line codebase overnight”

“opinionated tooling like gofmt, that does not come with hundreds to thousands of knobs”

RecommendsComment from 12 Apr 2026 in “JVM Options Explorer”

“you can't argue with the results, nobody writing go on any project ever worries about code formatting”

RecommendsComment from 12 Apr 2026 in “JVM Options Explorer”

“I have really come to appreciate modern opinionated tooling like gofmt”

RecommendsComment from 12 Apr 2026 in “JVM Options Explorer”

“modern opinionated tooling like gofmt, that does not come with hundreds to thousands of knobs”

RecommendsComment from 12 Apr 2026 in “JVM Options Explorer”

“if your golangci-lint uses a different gofmt version than your IDE”

CriticizesComment from 31 Mar 2026 in “Swift 6.3 Released”

“the right execution is in the style of 'go fmt' with Go”

RecommendsComment from 22 Mar 2026 in “No Semicolons Needed”

“adding a space to "//+build", which already breaks setups that add a build comment”

CriticizesComment from 16 Mar 2026 in “//go:fix inline and the source-level inliner”

“one of the top loved features among gophers”

RecommendsComment from 18 Feb 2026 in “Using go fix to modernize Go code”

“go kinda eliminates a lot of the reasons for style guides to exist w/ `go fmt`”

RecommendsComment from 8 Jan 2026 in “The Jeff Dean Facts”

“having gofmt bitch about stuff before you commit it rather than have the compiler bitch about it helps you”

RecommendsComment from 8 Dec 2025 in “The C++ standard for the F-35 Fighter Jet [video]”

“enforcing the same style ends all of the drama”

RecommendsComment from 2 Nov 2025 on Hacker News

“I think gofmt works much better, and that's in large part because it tries to do less.”

RecommendsComment from 2 Nov 2025 on Hacker News

“it's so satisfying to me when I just run "gofmt" and know the thing is formatted well”

RecommendsComment from 2 Nov 2025 on Hacker News

“yet gofmt is everyone's favorite”

RecommendsComment from 1 Nov 2025 on Hacker News

“it's so satisfying to me when I just run "gofmt" and know the thing is formatted well.”

RecommendsComment from 1 Nov 2025 on Hacker News

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.