TMBASIC is a programming language for writing console programs, from simple command line tools to sophisticated mouse-driven user interfaces. The BASIC language is beginner-friendly, and experienced programmers will find it familiar and easy to use.

TMBASIC is under development. Stay tuned!

πŸ“„ Documentation
πŸ“„ Cheat Sheet for Experienced Programmers

What can I make with TMBASIC?

Command line interfaces (CLIs)

The simplest type of program. Read input from the keyboard or from shell arguments. Print lines of text as output. Examples include developer tools like git and interactive fiction games like Zork.

Text-based user interfaces (TUIs)

Rich mouse-driven programs featuring windows, buttons, pull-down menus, and other modern user interface concepts. Midnight Commander and TMBASIC itself are TUI programs.

Text-mode games

Start with a blank screen and draw your own program elements from scratch. Use box-drawing characters and other Unicode symbols to create primitive graphics. NetHack and ZZT are examples of text-mode games.

It’s easy!

Easy to get started

The BASIC language will feel familiar to anyone with programming experience. New programmers will find it easy to learn. Everything you need to develop and distribute sophisticated apps is included in TMBASIC.

Easy to write

Developing a high-quality modern GUI requires professional-level expertise. Text-based apps have few options for visual effects, and even a novice can produce quality results.

Easy to share

TMBASIC apps are standalone executables that require no external library files. They can be copied and opened without installation. TMBASIC can cross-compile native executables targeting Windows, macOS, and Linux.


Vista or newer
64-bit β€’ 32-bit
10.13 or newer
Intel β€’ Apple Silicon
2.6.39 or newer
64-bit β€’ 32-bit β€’ ARM64 β€’ ARM32
iOS iSH Shell (Linux 32-bit)
Android Termux (Linux ARM64)


TMBASIC is open source software available free of charge. Your compiled programs and TMBASIC itself are built using many open source components. See a list of these components here. You must obey the licenses of these components when you share your programs. The licenses are permissive and commercial-friendly. When you compile your program, TMBASIC produces a LICENSE.txt file for your convenience. Include this license file when sharing your TMBASIC app.