XCODX |

05AB1E Online Compiler & Interpreter

Select Language
Online Code Compiler
Full HTML IDE
Py main.py
Program Output Ready
  Welcome to XCODX Online Compiler

  Quick Start:
  Ctrl+Enter  Run code
  Ctrl+S      Save / Download
  Ctrl+L      Clear output

  Select a language and start coding.
Success
Operation completed

About 05AB1E

Adnan, a Code Golf Stack Exchange regular, created 05AB1E in 2015, and it grew into one of the two or three most successful golfing languages in the site's history. It is stack-based with a 256-character codepage, an enormous catalog of built-ins covering everything from prime factorization to run-length encoding, and a celebrated dictionary compression scheme that squeezes common English words into two characters. The modern interpreter, the rewrite that gives this page its osabie slug, is written in Elixir and is the canonical implementation today. The name itself is a base-conversion joke on the hexadecimal digits 05AB1E. XCODX runs the Elixir interpreter inside a real terminal, so stdin-reading answers accept your input live with zero installation.

Hello World in 05AB1E

"Hello, World!"
How it works: the string literal is pushed onto the stack, and 05AB1E implicitly prints the top of the stack when the program ends. Competitive versions use the dictionary literal syntax instead, compressing both words to a handful of codepage bytes.

When to use 05AB1E

05AB1E is a leaderboard workhorse: string challenges fall to its dictionary compression, number-theory tasks to one-byte built-ins for divisors, primes, and base conversion, and list problems to its implicit input and vectorized operators. Beyond competition it is a fascinating design study in how far built-in vocabulary can be pushed, and browsing its command reference is a popular way for golfers to discover algorithmic shortcuts they later reuse in any language.

Common questions

Why is the language called 05AB1E and the runtime called osabie?

05AB1E is a hexadecimal pun: the digits spell a leetspeak rendering of the word usable. Because the name starts with a digit, which many systems dislike in identifiers, the Elixir rewrite of the interpreter was named osabie, a pronounceable respelling. Hosted runners adopted that project name as the language slug, so both names refer to the same language.

How does 05AB1E's dictionary compression work?

The interpreter ships a built-in dictionary of roughly ten thousand common words. Special quoted literals reference dictionary entries by two-character indices, and modifier characters control capitalization and spacing. A phrase like Hello, World! compresses to well under half its raw length, which is why 05AB1E dominates fixed-output challenges such as printing song lyrics or standard greetings.

Does 05AB1E read input automatically?

Yes, implicitly. When a program needs more values than the stack holds, it reads them from input in order, and many answers therefore contain no explicit input commands at all. If the whole program never touches input but produces no output, the interpreter can even echo input back. Explicit input commands exist for reordering or rereading values when needed.

How 05AB1E runs on XCODX

Sandbox filename
main.05ab1e
Entry point
single main source file
Editor grammar
plain text — no highlighter ships for this language
Reading stdin
no standard input construct
Input delivery
live WebSocket stream
Prompt flushing
flush manually before reading input
Compile limit
10 s
Run limit
3 s batch · up to 3 min live
Memory
256 MB per stage
Max source
50,000 characters

Default program on this page

"Hello from 05AB1E!"