🚧 SITE UNDER CONSTRUCTION — New content being added progressively. Stay tuned! 🚧
Plan9Basic Alien
╯ plan9basic — terminal

Write code like it's the 80s.
Run it like it's now.

A free, cross-platform BASIC interpreter with 300+ functions, a full GUI toolkit, AI integration, and retro coding vibes. For Windows, Linux, and Android.

▶ Download Free 📖 Documentation 💡 Examples
Plan9 Alien
👽 PLAN 9 ALIEN SAYS:

"Greetings, earthling!" I've traveled across the galaxy to bring you the simplest way to create apps. No complex frameworks, no endless configuration — just pure BASIC joy. I come in peace... and with 300+ built-in functions. Ready to code?


Simple. Powerful. Everywhere.

⌨️

Dead Simple

If you can type PRINT "HELLO", you can program. No boilerplate, no ceremony. Three data types, structured programming, and an interactive command-line just like the old days.

📱

Cross-Platform

Write once, run on Windows, Linux, and Android. A native engine that creates real applets. Full GUI controls, shapes, effects, animations, and media.

🤖

AI-Powered

12+ AI providers with a RAG-powered engine. Connect your own API key and chat with any of the included models. Ask questions or get coding help.


From Code to App in Minutes

╯ my_app.bas
' A simple temperature converter
LET frm# = form#("Converter", 320, 240)
label#(frm#, "Celsius:", 20, 20)
LET e# = edit#(frm#, 20, 50, 260, 36)
LET b# = button#(frm#,"Convert", 20, 100, 260, 44)
LET r# = label#(frm#, "", 20, 160)
button_onclick#(b#, "doConvert")
form_show(frm#)
END ' End of the applet
' Auxiliary function for conversion
FUNCTION doConvert(sender#) LOCAL c, f
  LET c = val(edit_text$(e#))
  LET f = c * 9 / 5 + 32
  label_text#(r#, str$(c)+"°C = "+str$(f)+"°F")
END FUNCTION
▶ Approximate result on any of the platforms
Celsius
36.5
Convert
36.5°C = 97.7°F

13 lines of code → a native app on Windows, Linux, or Android.
No build tools. No dependencies. No complexity.


More Than You'd Expect From BASIC

300+
Built-in Functions

Strings, math, dates, file I/O, regex, base64, gzip — all included, no imports needed.

30+
GUI Controls

Forms, buttons, labels, text fields, lists, checkboxes, switches, images, grids, sliders, media players.

40+
Visual Effects

Blur, glow, shadow, emboss, pixelate, ripple, swirl, wave, and 20+ animated transitions.

12+
AI Providers

OpenAI, Claude, Gemini, Mistral, Groq, DeepSeek, Ollama, LM Studio, and more.

6
Animation Types

Color, float, integer, bitmap list, path, and rect animations for smooth, dynamic interfaces.

5
Color Themes

Green, Amber, White, Blue, and Pink phosphor themes. Like choosing your favorite 80s monitor.

Nostalgia

Line numbers, GOTO, GOSUB, LIST, RUN, LOAD, SAVE — the commands you remember.

0
Cost

Plan9Basic is free. No license fees, no subscriptions, no ads. Just download and create.

🤖 Built-in AI Libraries

Connect to any AI provider, from cloud giants to on-premises models. The AI engine can validate code, detect errors, correct text, and much more.

╯ ai assistant
' Ollama (local, free) or any cloud provider
LET PROVIDER$ = "ollama"
LET MODEL$ = "gemma3:4b"
LET APIKEY$ = ""
' Create a client and send a question
LET ai# = ai_client#(PROVIDER$, APIKEY$)
LET ai# = ai_model#(ai#, MODEL$)
LET reply$ = ai_complete$(ai#, "What is the meaning of life?")
IF ai_ok(ai#) = 1 THEN
  PRINTLN reply$
ELSE
  PRINTLN ai_errormsg$()
END IF
ai_free(ai#)

Learn at Your Own Pace

📚

Language Reference

Complete syntax guide — variables, control structures, functions, data types, operators, and every keyword.

🎯

Library Guides

Detailed docs for every library — strings, math, HTTP, JSON, SQLite, GUI, effects, animations, AI. Added progressively.

💡

Example Programs

Complete programs to copy, paste, and run. From "Hello World" to GUI apps, API clients, and AI tools.


Download Plan9Basic — Free

💻
Windows
64-bit (x86_64)
⬇ Download .exe
Windows 10 or later
🐧
Linux
64-bit (x86_64)
⬇ Download binary
Ubuntu 20.04+ / Debian / Fedora
🤖
Android
64-bit (arm64)
⬇ Download .apk
Android 8.0+
📄 Full installation guide & examples pack →
╯ quick start
Plan9Basic v1.0 — Ready.
> HELP
Plan9 BASIC Commands:
---------------------

NEW             Clear program
LIST [n-m]      List program
RUN             Execute program
LOAD "file"     Load from file
SAVE "file"     Save to file
FILES           List .bas files
DELETE n[-m]    Delete line(s)
RENUM [s,i]     Renumber lines
CLS             Clear screen
EDITOR          Editor mode
COMMAND         Command mode
THEME [name]    Change theme
BYE             Exit

Function Keys:
--------------

F1=Help F2=Save F3=Load/FindNext
F5=Run F7=Mode F8=Theme

Editor: Ctrl+F = Search & Replace
        Ctrl+H = Search & Replace

Themes: GREEN AMBER WHITE
        BLUE PINK

Ready.
> _

What's New

2026.03.22

🔗 Source Code Now on GitHub

The Plan9Basic language engine and a standalone Applet Runner are now open source under the MIT License. The repository contains the full interpreter source — tokenizer, code generator, and stack-based VM — along with a cross-platform Delphi/FMX host application for running and testing Plan9Basic scripts locally. View on GitHub →

OPEN SOURCE
2026.03.16

🎮 Arcade Games

Nine fully playable arcade classics — Asteroids, Snake, Space Invaders, Breakout, Flappy Bird, 2048, Lunar Lander, Missile Command, and Whack-a-Mole — written entirely in Plan9Basic. Browse the source with syntax highlighting, copy it, or launch the game directly from the Examples page.

EXAMPLES
2026.03.01

🔧 Library Documentation Series

Deep dives into each library — GUI, effects, HTTP, JSON, AI. Published progressively.

LAUNCH
2026.02.17

🚀 Plan9Basic Website Launches

The official home of Plan9Basic is live! Download, explore the docs, and start coding.

LAUNCH
2026.02.17

📖 Core Language Documentation

Complete reference for variables, types, operators, control structures, and functions.

DOCS

Built From a Memory

In 1982, a copy of Micro Sistemas magazine arrived with a handful of BASIC games printed inside, nothing sophisticated, the typical text-based programs that circulated among hobbyists at the time. But they were enough to plant something.

Shortly after, a book arrived as a gift, more magazine than book, called Computer Spacegames (The edition I read at the time was the one released in Brazil, translated into Portuguese). One of those games was Space Mines. The player managed a mining operation on a distant planet, running cycles where decisions about workers' pay, entertainment, and conditions directly affected production. Improve salaries and morale climbed; morale climbed and output rose; output rose and word spread, drawing more miners to the colony, which made the next cycle harder to balance. Inevitably, the tipping point came: costs outran revenue, workers left, and the whole operation unravelled. The narrative it created was surprisingly rich for a few dozen lines of BASIC. My brothers and I spent hours there.

Plan9Basic is, at its core, a sentimental rescue. A way of bringing back the language that was the first door into technology, not out of nostalgia for its limitations, but out of respect for the directness it represented.

This project is truly 100% nostalgia and passion. I'm not trying to change the world here, or create a new technology that will be crucial to any area or segment. The purpose here is to remember a time that was full of learning and fun for me and that shaped my professional career. And in doing so, why not have fun during the process?

The goal has always been the same: keep the floor as low as possible while raising the ceiling as high as it can go. More libraries, more platforms, richer tooling, but always with the same principle underneath: the complexity should live in what you build, not in getting started.

♡ INDIE • FREE • OPEN

One Developer.
A Lifetime of BASIC.

Plan9Basic is designed, built, and maintained by a single professional software developer — someone who has spent years working in the industry and still codes for the love of it.

The motivation for building it was simple: a BASIC interpreter that combined the immediacy of those early home computers with the capabilities expected from a modern language didn’t exist. So one was built.

Every part of it — the language engine, the standard libraries, the GUI toolkit, the AI integration, the documentation, and this website — was written by one person, in spare time, with no outside funding and no commercial pressure. That independence is not a limitation. It’s what keeps the focus on doing things right rather than doing things fast.

💖
INDEPENDENTLY DEVELOPED
Created with a focus on quality and usability
🏭
FREE TO USE
No fees, no ads
🚀
CONTINUOUSLY IMPROVING
Ongoing updates and new features
🤝
COMMUNITY SPIRIT
Feedback will certainly help with future developments
╯ about the developer
10 LET dev$ = "one person"
20 LET fuel$ = "passion + coffee"
30 LET cost = 0
40 PRINT "Made with " + fuel$
50 PRINT "Free to use."
60 GOTO 40
Back to top
BACK TO TOP ▲