TinyGo
A Go compiler for microcontrollers, WebAssembly, and other small environments, based on LLVM.
HN commenters recommend TinyGo for compiling Go to WebAssembly/WASI and for niche or embedded hardware,123 where its minimal runtime is an acceptable tradeoff.45 The main caveat is that it can silently differ from standard Go, such as ignoring go:embed "all:" patterns,6 and one commenter says the project seems almost inactive, with reviewed PRs left unmerged.7
Why people recommend it
WebAssembly support · 3
Used and recommended for Go-to-WASM/WASI builds, including a WASM plugin system with Wazero.
“We're using TinyGo and the Wazero runtime for our WASM plugin system in ServiceRadar, highly recommend both”
“you should check out TinyGo [1] if you haven't already”
Show 1 more
“Tiny Go is one of the items that I have on v1.0 road map. Will give it a shot”
Embedded hardware · 2
Suited to niche hardware, with a channel-based idiom for handling interrupts and low-jitter timing.
“In tinygo, the idiom is to catch an interrupt and put the info into a channel”
“you should check out TinyGo [1] if you haven't already”
Minimal runtime · 2
Its runtime is small enough to be acceptable where regular Go is too heavy.
“Tinygo's runtime was minimal enough to be acceptable.”
“tinygo makes both of these use cases much more viable than regular go”
Fun to use · 1
One commenter calls it very cool and just fun.
“just use tinygo its SO cool. Its just fun.”
Caveats and dissent
Go compatibility gaps · 1
Some standard Go features, like go:embed "all:" patterns, are silently ignored.
“tinygo makes both of these use cases much more viable than regular go”
Slow maintenance · 1
A commenter says the project seems almost inactive, with a reviewed PR unmerged for weeks.
“tinygo makes both of these use cases much more viable than regular go”
Tradeoffs · 1
Its runtime is described as acceptable but not technically perfect, so it may not fit every case.
“Tinygo's runtime was minimal enough to be acceptable.”
Who recommends it in their own words
Threads where it came up
Data: tinygo.json. Quotes are verbatim; the verdict and theme labels are written by a model from these comments, and every clause links to its sources.
All comments 7
“Tinygo's runtime was minimal enough to be acceptable.”
“Tiny Go is one of the items that I have on v1.0 road map. Will give it a shot”
“In tinygo, the idiom is to catch an interrupt and put the info into a channel”
“tinygo makes both of these use cases much more viable than regular go”
“We're using TinyGo and the Wazero runtime for our WASM plugin system in ServiceRadar, highly recommend both”
“just use tinygo its SO cool. Its just fun.”
“you should check out TinyGo [1] if you haven't already”