20 CSS Retro UI
Reproducing a computing era means reproducing its constraints, not just its colours. These 20 hand-coded retro interfaces cover CRT scanlines and curvature, pixel-art scaling, ordered dithering, the four-shadow one-bit bevel, Windows 95 and Classic Mac chrome, MS-DOS and Teletext character grids, phosphor monitors and Y2K aqua. Every effect is built from first principles — no 98.css, no NES.css. Each demo is scoped under its own .rt-NN class, guards motion behind prefers-reduced-motion, and is framework-agnostic copy-paste code.
Related22 CSS Brutalism20 CSS Neon Effects20 CSS Grain and Noise Textures20 Tailwind Retro UI
Premium design systemPartner: Untitled UI
Affiliate linkTaking this style from one component to a whole product?
You just browsed 20 retro UI designs. Untitled UI is the Figma UI kit 380,000+ designers use, with 10,000+ components and variants in Pro, plus a matching React library on Tailwind CSS. Figma Pro is a one-time purchase from $129.
Untitled UI. We may earn a commission, at no extra cost to you.
02. Pixel Art Scaling with Image Rendering (opens in a new tab)
image-rendering: pixelated on the right, both sides labelled. It also shows the two things people get wrong: a non-integer scale factor reintroduces blur even with the property set, and the property does nothing at all to a shape drawn in CSS rather than sampled from a bitmap.03. Dithering Patterns with CSS Gradients (opens in a new tab)
repeating-conic-gradient checkerboards over flat fills, with a smooth gradient beside Bayer ramps at 2, 4 and 8 colours — and an honest statement of where the CSS approximation stops.04. One Bit Bevel Borders with Box Shadow (opens in a new tab)
box-shadow insets in a fixed order — outer light, outer dark, inner light, inner dark — with the order reversed for the pressed state. One rule set produces raised, sunken, pressed and disabled here, with the shadow order printed next to an exploded diagram of the four edges.05. Classic Mac System 7 Window Chrome (opens in a new tab)
06. MS DOS Text Mode Interface Grid (opens in a new tab)
ch units, framed with code page 437 box-drawing characters and restricted to the 16-colour CGA palette as tokens. The constraint is the subject — nothing can sit between two cells, so every alignment decision is an integer.07. Teletext and Ceefax Block Graphics (opens in a new tab)
08. Amber and Green Phosphor Monitor (opens in a new tab)
09. Windows 95 Desktop Interface (opens in a new tab)
10. Retro Futuristic Terminal Interface (opens in a new tab)
11. Eight Bit Pixel Art Buttons and HUD (opens in a new tab)
box-shadow blocks: segmented health, score with tabular figures, a lives row, and buttons whose notched corners are shadow offsets rather than a border image. The palette is a fixed 8-colour subset of the NES set and the demo enforces it, because palette discipline is what separates pixel art from a filter.12. Neo Brutalist Component Board (opens in a new tab)
13. Skeuomorphic Cassette Player (opens in a new tab)
14. Vaporwave Aesthetic Scene (opens in a new tab)
15. Retro Arcade Game Interface (opens in a new tab)
16. ASCII Art Terminal Interface (opens in a new tab)
aria-hidden with a real text alternative, because ASCII art read aloud is several hundred punctuation marks and no information.17. Nineties Web Guestbook Widget (opens in a new tab)
18. Y2K Aqua Gloss Interface Kit (opens in a new tab)
19. Vintage Storefront Layout (opens in a new tab)
20. Retro Desktop Portfolio Template (opens in a new tab)
Frequently asked questions
How do you build a CRT screen effect in CSS?
Why does my pixel art go blurry when I scale it up?
How is a Windows 95 button border actually made?
Do these use 98.css, NES.css or any retro framework?
How do you keep retro interfaces accessible?
What is a character-cell interface and why does it need ch units?
When is a retro aesthetic the wrong choice?
Related collections
20 CSS 3D Effects
20 hand-coded CSS 3D patterns covering the transform pipeline reference build, the perspective property versus the perspective function, perspective-origin as the camera position, why transform function order changes the result, backface-visibility on two sided elements, what silently flattens preserve-3d, building a cube from six faces, transform-origin in three dimensions, translateZ versus scale for depth, z-fighting on coplanar surfaces, rotate3d and the transform matrix, plus ring layouts, stacked z-planes, pointer tilt with parallax, a hinged page-turn flipbook, a drag-rotate cube navigator, an extruded synth panel, perspective floor geometry, nested 3D contexts, and helix distribution. 14 demos are pure CSS; 6 use vanilla JavaScript.
22 CSS Brutalism
22 hand-coded brutalist and neubrutalist CSS designs covering the full spectrum of the aesthetic — from the anti-design brutalism of 2014-2018 (raw system fonts, zero border radius, monochrome density, visible structure) through to the neubrutalism of 2021-present (bright pastel fills, thick black borders, hard offset shadows with zero blur, rounded blocks). The neubrutalist half ships SaaS pricing cards with sticker badges, a pastel admin dashboard, signup forms, rotated feature cards, an offset-shadow navbar, a playful button set, a native dialog modal, a testimonial wall, blog cards, chunky toggles, a landing hero, an image gallery, stats panels and a rounded footer. The brutalist half covers product grids, raw form controls, a monochrome data dashboard, a portfolio index, indie SaaS pricing, Windows 95 desktop chrome, editorial long-read and a streetwear catalog. Every design is scoped under a .brt-NN prefix for no-collision pasting, guards prefers-reduced-motion, and ports unchanged to React, Vue, Svelte, Astro, Next.js and Tailwind.
20 CSS Claymorphism
20 hand-coded CSS claymorphism designs covering the three-layer shadow recipe that defines the style, inner highlight and inner shadow layering, the border radius scale that makes shapes read as puffy rather than merely rounded, claymorphism compared side by side with neumorphism, a clay and glassmorphism hybrid, single light-source discipline across a layout, depth tiers for visual hierarchy, a Tailwind implementation with both arbitrary values and theme tokens, squishy button press states, toggles and checkboxes, inset input wells and search bars, badge and pill systems, cards, popover-based modals, pricing tables, mobile tab bars, app icon grids, toast and alert bubbles, dark mode shadow recalibration, and the paint cost of animating shadows. 19 demos are pure CSS; 1 uses vanilla JavaScript.

















