Enterprising developer somehow writes an x86 CPU emulator in plain CSS — no Javascript, no WASM, just stylesheet computing
Of all the cursed things I've seen this year, this is the most cursed yet.
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.
You are now subscribed
Your newsletter sign-up was successful
Yes, you did read the headline correctly, and you'd be wise to fetch a cross, garlic, and a stake. Lyra Rebane, a madlady who dabbles in CSS and infosec, figured out she could leverage the power of contemporary implementations of the stylesheet language to emulate an x86 processor, all without even a single line of JavaScript, WASM, or any other such tomfoolery.
The emulator even comes complete with a basic display and keypad, and some preinstalled programs for calculating the Fibonacci sequence, Pascal's triangle, and a variation of Wordle. You'll need a recent version of a Chromium-based browser, as some CSS features she used are not yet standard. Rebane even goes as far as showing fellow mad-people how to compile their own C programs for the emulator using the gcc-ia16 compiler.
As the first question out of everyone's mouths will be "Can it run Doom?", the answer is that no, it cannot, or at least not yet. While the x86css emulator implements most of the x86 assembly, it's missing key functionality like interrupt handling, port input/output, and block-operation instructions, all key to making most any game as we know them. Perhaps more poignantly, Doom is a 32-bit program and requires a 32-bit CPU (80386 or above), 4 MB of RAM, and the ability to enter protected mode.
Cold-hearted developers like myself will also find some warmth in the fact that Rebane did not use any vibe-coding or AI bot assistance for writing this emulator. And as she points out, a bot could have hardly done this, as the necessary leaps in logic to force CSS to be a full-fledged state machine require some serious out-of-the-box thinking. Rebane points to Jane Ori's CSS CPU Hack as instrumental to her own ideas.
i built an entire x86 CPU emulator in CSS (no javascript)you can write programs in C, compile them to x86 machine code with GCC, and run them inside CSS pic.twitter.com/jU29iLZfbZFebruary 24, 2026
As to the reason or utility of such an enterprise, she simply stated that it was a fun project. Many developers (me included) have long made jokes when people mention HTML and CSS as "programming languages," and this is definitely a moment of harsh acceptance. Some commenters wonder if this implies that contemporary CSS might become a serious attack vector, but that seems unlikely given that Rebane had to create the machine to run the code with.
Follow Tom's Hardware on Google News, or add us as a preferred source, to get our latest news, analysis, & reviews in your feeds.
Get Tom's Hardware's best news and in-depth reviews, straight to your inbox.

Bruno Ferreira is a contributing writer for Tom's Hardware. He has decades of experience with PC hardware and assorted sundries, alongside a career as a developer. He's obsessed with detail and has a tendency to ramble on the topics he loves. When not doing that, he's usually playing games, or at live music shows and festivals.
-
Sam Hobbs JavaScript and WASM are not tomfoolery. If anything is tomfoolery then the x86 CPU emulator in plain CSS is.Reply -
hwertz Gross, just reading it almost made me queasy (the idea that CSS is Turing complete just hits me wrong.). But at the same time very cool and kudos to the developer!Reply -
xenovector Very cool achievement, even if it isn't practical in any normal sense. I genuinely hope she keeps adding features purely out of spite. I'd honestly love to see a browser running on that emulator with enough capability to parse and execute JavaScript.Reply
As for the claim that "vibe coding" couldn't have produced something like this: that's just wrong.
Could a lazy prompt do it? Of course not.
"Generate an x86 emulator in CSS with no JavaScript" would produce something laughable. But that's not a meaningful test.
If you can articulate the architecture, constraints, and implementation details in technically precise terms, AI-assisted coding can prototype almost anything. The catch is that this still requires real competence: you have to know what to ask for, how to steer it, and how to evaluate and refine the output.
I've been programming for 27 years. I use vibe coding (Codex, Gemini CLI) to rapidly prototype ideas and flesh them out, not as a replacement for skill, but as a force multiplier for it.
You can literally write psuedo code very quickly and it'll convert it to real code with your exact structure, faults and all. Tell me that's not powerful. -
hwertz Reply
I'm not 100% sure vibe coding could actually do this (at present.) Just due to thee simple fact that 'coding via CSS' like this is just plain unusual and I'm not sure the AI models would have any code samples or examples of this type of thing to reference when writing their own code.xenovector said:As for the claim that "vibe coding" couldn't have produced something like this: that's just wrong.
Could a lazy prompt do it? Of course not.
"Generate an x86 emulator in CSS with no JavaScript" would produce something laughable. But that's not a meaningful test.
If you can articulate the architecture, constraints, and implementation details in technically precise terms, AI-assisted coding can prototype almost anything. The catch is that this still requires real competence: you have to know what to ask for, how to steer it, and how to evaluate and refine the output.
That said, a) The user could provide info on how 'coding via CSS' is done, at which point it would have the infomration it needs. b) Maybe it WOULD have the info. I did see the example where someone asked for this program that would compile and run on like Linux, MacOS, and version 7 UNIX on PDP-11. , with some further PDP-specific request htat it use I think 64KB memory segments, something like that. And it did it after a few rounds of back-and-forth to fix things up. So maybe it'd handle this odd use of CSS perfectly fine.