Pixel Eight Bit
Everything snaps to an 8px cell: square corners, hard edges, no half pixels.
Construction · Pixel
Everything snaps to the grid: hard rings instead of borders, block offsets instead of shadows, and no soft edge anywhere.
Every style renders this same screen, so the only thing changing between two of them is the style. The component above is the file below, running.
Prompt
Design this interface in the Pixel Eight Bit style. Every dimension is a multiple of 8, corners are square, and there is no anti-aliasing or blur anywhere. Type is monospaced and set on the same cell. Build every
The numbers in this prompt are printed from the tokens below, so it cannot drift from what the specimen renders.
What carries the look
- everything on an 8px cell
- square corners
- no anti-aliasing
- monospaced type
What this style refuses
- rounded corners
- blurred shadows
- gradients
- sub-pixel spacing
The refusals are the half that keeps generated interfaces from converging — a prompt that only says what to add gets the default look.
Tokens
Palette
#e8e8d8#101014#f4f4e8#18181e#2a2a20#e8e8dc#141410#f0f0e4#525246#9e9e92#2a6f3f#57d67f#f4f4e8#04160cShape and type
Measured contrast — body 14.92:1 light, 16.53:1 dark; secondary text 6.39:1 and 7.01:1. Every pair clears WCAG AA in both themes, checked on each build.
Specimen · Specimen.tsx
import type { CSSProperties } from "react";
/**
* Vibary · Pixel Eight Bit
*
* Everything snaps to an 8px cell: square corners, hard edges, no half pixels.
*
* One complete product screen, rendered from the token object below —