Run Go on Android — On-Device After a One-Time Download
Run Go on your Android phone: add the optional Go pack once, then execute your code on-device. What runs, what it's for, and the honest limits.
Go's tooling is famously desktop-shaped, so running it on a phone sounds unlikely.
PocketCode makes it work with an optional Go pack: download it once, and from
then on your .go files run on the device — no server involved.
Add the pack once, then run locally
Go isn't bundled in the app, so it arrives as a language pack you download a
single time (about 38 MB, from Settings → Compilers and runtimes → Additional
language runtimes). It runs through the Yaegi Go interpreter. After that, it's
just like the built-ins: open a .go file, tap Run, and it executes locally.
- Go programs that use the standard library — slices, maps, structs,
fmt.Println— run on-device. - Output and errors stream into a proper console.
- Once the pack is installed, execution happens on the device and nothing leaves it.
What it's great for
- Learning Go — work through the tour and exercises on the go.
- Scripting and algorithm practice — quick programs, data structures, interview drills.
- Testing snippets — sketch a function and see it run immediately.
The editor brings Go syntax highlighting and a built-in formatter (see the code editor guide) so writing it on a phone stays comfortable. There is no Go language server: gopls is a native program, and Google Play doesn't allow apps to download native code.
The honest limits
- Runs via an interpreter, not a full
go build. The pack is ideal for learning, scripts and exercises — it isn't the complete production Go toolchain for compiling large multi-package binaries. In practice that means the standard library only, one file at a time, nogo getand no projects withgo.mod. - No network by default. Go runs as a WebAssembly module: it can't open network connections unless you turn on Allow network in WASM engines in Run with arguments.
- A one-time download. Unlike the bundled languages, Go needs its pack installed first; after that it runs on the device.
- Phone-scale. Great for small programs; heavy builds belong on a desktop.
Within those lines, it's genuinely Go, running on your phone.
Part of the lineup
Go is one of 16 languages and file types PocketCode runs on-device — bundled in the app are JavaScript, TypeScript, C, Python, Ruby, PHP, Java and Kotlin — plus optional packs like this one (Lua and Rhai too). See the full lineup.
Add the pack once and your phone runs Go, on the device.
PocketCode is available on Google Play. Get PocketCode to try it on your own device.
Code Editor