What is Whitespace?
Whitespace is an esoteric programming language created in 2003 by Edwin Brady and Chris Morris. Its defining trait is that the only characters that matter are spaces, tabs, and newlines. Everything else — letters, numbers, punctuation — is completely ignored.
That means a Whitespace program can be hidden inside normal text, comments, or even inside another programming language file without being noticed. The code becomes invisible to human eyes unless viewed with a Whitespace-aware editor.
The idea was part joke, part experiment in alternative syntax, and part exploration of what happens when formatting characters become the actual language.
Specs
Language Type: Esoteric / Invisible syntax
Creator: Edwin Brady & Chris Morris
Released: 2003
Characters Used: Space, Tab, Newline only
Execution Model: Stack-based with heap support
Purpose: Obfuscation, experimentation, humor
CODE EXAMPLE (Hello World)
(Shown as visible placeholders — real code is invisible)
[S][S][T][N][S][S][T][T]...
Legend:
S = Space
T = Tab
N = Newline
This prints:
Hello World
Real Whitespace code looks blank.
How It Works
- Instructions are encoded by sequences of invisible characters.
- A program is parsed by grouping whitespace into categories:
- Stack manipulation
- Arithmetic
- Control flow
- I/O
- Newlines act as delimiters.
- Since visible characters are ignored, Whitespace can be hidden inside comments, poetry, source code, or even documents.
Running Whitespace requires a special interpreter that treats invisible characters as meaningful.
Strengths
- Completely invisible — perfect for hidden messages or obfuscated code.
- Fun for hacking challenges and esolang experimentation.
- Teaches how interpreters tokenize non-visible syntax.
Weaknesses
- Impossible to read or debug without specialized tools.
- Can easily break from accidental formatting or auto-cleaning editors.
- Not suited for real programming.
- Hard to share without rendering issues.
Where to Run
Whitespace interpreters are available on GitHub, esolang playgrounds, and TIO.run. Some IDE plugins highlight Space/Tab/Newline patterns for easier debugging.
Should You Learn It?
For a job: No
For reverse-engineering challenges: Maybe
For fun and chaos: Yes
For code readability: Absolutely not
Summary
Whitespace flips programming expectations upside down by treating invisible characters as the entire language. While useless in traditional development, it stands as one of the most clever and recognizable esolangs ever created — demonstrating that even the parts of text we normally ignore can become logic.
Top comments (0)