jdBasic
Try Live

The Modern BASIC for Everyone.

A free interpreter blending the nostalgic simplicity of classic BASIC with the advanced features of modern programming, from game dev to AI.

Launch Web REPL »

One Language, Endless Possibilities

Education & Hobbies

With a gentle learning curve and instant visual results from graphics and sound commands, jdBasic is the perfect way to learn programming fundamentals in a fun, engaging way.

2D Game Development

Build the retro game of your dreams with a complete multimedia toolkit: a full sprite engine, tilemap integration, collision detection, and Aseprite animation support.

AI & Machine Learning

A standout feature: jdBasic has a built-in `Tensor` object with automatic differentiation, allowing you to build and train complex neural networks (like Transformers) using simple syntax.

Automation & Scripting

Act as a powerful "glue" language. Run OS commands, parse files with regex, process CSVs, and even automate Windows applications like Excel with built-in COM support.

Simple Web APIs

The built-in non-blocking HTTP server lets you stand up a JSON API in just a few lines of code, perfect for microservices, webhooks, or lightweight backends for your apps.

Extensible with C++

The `DLLIMPORT` command provides an unlimited path for adding new capabilities. Extend the language with high-performance functions written in C/C++ by creating a `.dll` or `.so` file.

See What You Can Build

Create Retro Games and Simulations

With a complete graphics and sound library, you can bring your ideas to life quickly. The integrated sprite and map engine makes game development a breeze. This is Conway's Game of Life running natively.

Demo of Conway's Game of Life in jdBasic
Biorhythm chart in one line of jdBasic code

Express Powerful Logic, Simply

jdBasic's APL-inspired array programming lets you perform complex calculations on entire datasets without writing slow, manual loops. This entire biorhythm chart was calculated and plotted in a single line of code.

From Simple to Sci-Fi, the Syntax is Yours

' Classic simplicity
INPUT "What is your name? "; name$
PRINT "Hello, "; name$

FOR i = 1 TO 5
    PRINT "Iteration: "; i
NEXT i
' Powerful array math
my_numbers = [10, 20, 30, 40, 50]

' Perform math on the whole array
my_numbers = my_numbers * 2 + 5

PRINT my_numbers
' Output: [25, 45, 65, 85, 105]
' A simple AI tensor
a = TENSOR.FROM([[1,2], [3,4]])
b = TENSOR.FROM([[5,6], [7,8]])

c = TENSOR.MATMUL(a, b)
TENSOR.BACKWARD c
PRINT c

Get Started with jdBasic

Ready to dive in? Try jdBasic in your browser, download the interpreter for your OS, or read the comprehensive documentation.

Disclaimer: jdBasic is an experimental project intended for educational and hobbyist purposes. It is provided "as is" without warranty. Please do not use it for mission-critical applications.

Download for: