Everything Is Just Text
December 22, 2025As developers, we spend our days surrounded by abstractions. Databases, images, APIs, videos, operating systems, cloud infrastructure. Each layer feels distinct, specialized, and complex. But if you peel back those layers far enough you arrive at a surprisingly simple conclusion:
Everything is just text.
Or more precisely: everything is representable as text.
This is not a poetic metaphor. It is a practical, architectural reality that underpins modern computing, from your LAMP stack to the global internet.
Text as the Universal Substrate
At the lowest level, computers deal in binary: ones and zeros. But binary itself is not useful to humans. Text is the bridge between human intent and machine execution.
Source code? Text.
Configuration files? Text.
HTML, CSS, JavaScript? Text.
SQL queries? Text.
JSON payloads crossing APIs? Text.
Logs, metrics, stack traces? Text.
Even when something looks non-textual, the system still describes it, references it, and manipulates it through textual representations.
Code Is Text with Rules
Every programming language you use PHP, JavaScript, Python, Bash is fundamentally a text file governed by a grammar.
Example:
<?php
echo "Hello, world";This is not “code” in some mystical sense. It is plain text that a parser reads, tokenizes, and transforms into instructions.
Your IDE treats it as text.
Git tracks it as text.
Diffs operate line by line on text.
Deployments move text from one machine to another.
Change the text, and the behavior changes.
Media Files: Structured Text Wearing a Binary Coat
Images, audio, and video often feel like exceptions. They are “binary files,” after all. But their structure is still defined textually.
Take an image:
- A PNG file starts with a known header
- That header is defined in a specification document written in text
- Pixels are arranged in predictable patterns
- Metadata (EXIF, color profiles, timestamps) is literally text embedded in the file
An MP3 file contains:
- Frames
- Tags (ID3)
- Metadata fields like artist, album, track number
A video file is a container full of streams, codecs, timestamps, and descriptors—all defined by textual standards.
We may store them as binary for efficiency, but we understand them through text.
The Web: A Text Delivery System
The web itself is an astonishing example of this idea.
HTTP is text.
Headers are text.
Status codes are text.
URLs are text.
HTML is text.
CSS is text.
JavaScript is text.
Even HTTPS—encrypted and secure ultimately transmits structured text that both sides know how to interpret.
A browser is, at its core, a sophisticated text renderer and interpreter.
Databases: Text with Constraints
The database often feels like a separate universe. But look closer.
Schemas are defined in text:
CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255),
created_at DATETIME
);Queries are text:
SELECT * FROM users WHERE email = 'test@example.com';Migrations are text.
Backups are text (or text-based dumps).
Replication logs are text.
Even when data is stored in binary formats internally for performance, the interface the contract between you and the database is textual.
Configuration Is Where This Becomes Obvious
Nowhere is “everything is text” more apparent than configuration.
- .env files
- Apache and Nginx configs
- PHP .ini
- Cron jobs
- Dockerfiles
- CI/CD pipelines
Entire production systems live or die by small changes in plain text files.
A single character can bring a system down.
A single line can scale it up.
This is both terrifying and empowering.
Why This Matters
Understanding that everything reduces to text changes how you approach development.
Debugging Becomes Simpler
If something is broken, there is almost always text involved:
- Logs
- Error messages
- Config values
- Requests and responses
Reading carefully often matters more than writing new code.
Tooling Makes Sense
Why does Git work so well?
Because text is diffable, compressible, searchable, and mergeable.
Why do Unix tools compose so cleanly?
Because they pass text from one program to another.
Portability Is Possible
Text travels well.
It survives platforms, architectures, and decades of change.
That PHP file you wrote ten years ago?
Still readable.
Still understandable.
Still executable with minimal effort.
Abstractions Are Optional, Text Is Not
Frameworks come and go.
Libraries rise and fall.
Stacks evolve.
But text remains.
When abstractions fail, you drop down a level:
- Inspect the raw request
- Open the config file
- Read the source
- Look at the output
And there it is. Text. Waiting patiently.
The Simplest Mental Model
If you strip everything down to its essence, software development is this:
- You write text
- Other text interprets it
- Machines act on the result
That’s it.
Understanding this does not make you less sophisticated as a developer. It makes you more grounded. You stop treating systems as magical and start treating them as readable, inspectable, modifiable artifacts.
At the end of the stack below the frameworks, below the servers, below the infrastructure
It’s all just text.