Garble
github.com
Spec sheet
- Purpose
- Garble wraps the Go toolchain to obfuscate Go builds while aiming to preserve their behavior.Read 8 Oct 2026 · github.com
- Build commands
- It supports garble build, garble test, and garble run, plus commands to reverse obfuscated text and file bug reports.Read 8 Oct 2026 · github.com
- Build time
- A garble build should take about twice as long as go build because it completes an original build and an obfuscated build.Read 8 Oct 2026 · github.com
- Identifier obfuscation
- It replaces identifiers and package paths with short base64 hashes.Read 8 Oct 2026 · github.com
- Limit: exported methods
- Exported methods are not currently obfuscated because they may be required by interfaces.Read 8 Oct 2026 · github.com
- Limit: plugins
- Go plugins are not currently supported.Read 8 Oct 2026 · github.com
- Limit: runtime APIs
- APIs such as runtime.GOROOT and runtime/debug.ReadBuildInfo will not work in obfuscated binaries.Read 8 Oct 2026 · github.com
- Literal obfuscation
- The optional -literals flag replaces eligible literal expressions with more complex expressions that resolve to the same runtime value.Read 8 Oct 2026 · github.com
- Metadata removal
- It removes build, module, and debug information from obfuscated builds.Read 8 Oct 2026 · github.com
- Release signing
- The v0.18.0 release page says its tag was signed with the committer’s verified signature.Read 8 Oct 2026 · github.com
- Reproducible builds
- Garble builds are deterministic given the same inputs, and its reverse command can de-obfuscate stack traces when the needed inputs are available.Read 8 Oct 2026 · github.com
- Supported packages
- Garble obfuscates supported packages being built, including the standard runtime, while runtime/cgo and crypto/internal/fips140 are excluded.Read 8 Oct 2026 · github.com
- Tiny mode
- The optional -tiny flag removes more binary information and can make binaries about 15% smaller, but removes panic output and can make crashes harder to debug.Read 8 Oct 2026 · github.com
- Use case
- The project describes obfuscation as useful when sharing Go binaries whose source is private or requires purchase, to help discourage reverse engineering.Read 8 Oct 2026 · github.com
Plans and prices
Garble Free Free Go code obfuscator; requires Go 1.27 or later Read 8 Oct 2026 · github.com
Where Specifiction places it
- Code Obfuscation Software#21 of 347.6