← Package directory
Available on winget

Install TinyGo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

Install with winget
winget install --id tinygo-org.tinygo
Upgrade
winget upgrade --id tinygo-org.tinygo
Uninstall
winget uninstall --id tinygo-org.tinygo

About TinyGo

TinyGo is a Go compiler intended for use in small places such as microcontrollers, WebAssembly (wasm/wasi), and command-line tools. It reuses libraries used by the Go language tools alongside LLVM to provide an alternative way to compile programs written in the Go programming language.

What's new in 0.41.1

This point release has a few very important fixes for you all that could not wait. - machine - esp32c3: correct pin interrupt setup call that was overlooked from #5320 - runtime - esp32s3: wait for TIMG0 update register to clear before reading timer registers - net - update net module to a version that is backwards compatible with Go 1.25.x to fix #5332

Read release notes

Version history

Version Updated Notes
0.41.1 Unknown This point release has a few very important fixes for you all that could not wait. - machine - esp32c3: correct pin interrupt setup call that was overlooked from #5320 - runtime - esp32s3: wait for TIMG0 update register...
0.41.0 Unknown This release is the most feature packed yet with over 150 commits to our main repo alone. We added Go 1.26 support to keep you up to date with the latest work from the mothership. We also have many improvements to our de...
0.39.0 Unknown This release has what you need the most right now, which is Go 1.25 support! Of course it has other new features, such as adding multicore support for the RP2350 family of processors as well as for macOS. We've also got...
0.38.0 Unknown This release includes some very exciting new features, in particular our first multicore support! Initially available on the RP2040 microcontrollers, now TinyGo can use both cores at the same time for true concurrency in...
0.37.0 Unknown This is probably our fastest time in-between full releases, especially given all of the excellent work that has made it in. A few highlights are updated compatibility with the latest WASI work from the Bytecode Alliance,...
0.31.2 Unknown - This is a patch release to address a few important items that were needed quickly by the community, and that have been addressed since the last full release. - general - update the net submodule to updated version with...
0.30.0 Unknown - general - add LLVM 16 support, use it by default - compiler - build: work around a race condition by building Go SSA serially - compiler: fix a crash by not using the LLVM global context types - interp: don't copy unkn...
0.27.0 Unknown Release notes