Skip to content

J.Crew Design System

J.Crew's apparel storefront design system as a DESIGN.md file. Pure black ink, Surveyor Display serif headlines, white canvas, editorial photography-first layout, 15 components. For React and AI tools.

Add shadcn.io to your AI agent. · Pro It installs blocks, icons and templates in your design system from a prompt, with Pro.

Set up MCP
Primary
#e0e0e0
Typeface
Gotham
Shape
Sharp
Base radius
2px
Colors
14
Type tokens
12
Components
15
Spacing values
8

About

About J.Crew DESIGN.md

Curated by Dov Azencot · Updated May 18, 2026 · Source jcrew.com (opens in a new tab)

J.Crew's storefront is a magazine given a checkout button. The hero is a full-bleed seasonal campaign photograph — models in the current collection against a location backdrop — and every pixel of chrome around it recedes: no gradient overlay on the image, no badge floating in the corner, no animated carousel indicator. The typographic hierarchy is divided between a single serif display family for editorial headline moments and a neutral grotesque for every operational label, nav link, and product description. The CTA geometry is hard: 0px border radius on every button and every form input, the same right-angle discipline a J.Crew catalog grid enforces across its spreads. Where Everlane uses tightly-spaced lowercase body type and Madewell leads with raw-indigo textile photography, J.Crew anchors on the Ivy League editorial tradition — the clothing is photographed on location, in ensemble, like a story rather than a product shot.

The DESIGN.md file packages this system into a machine-readable spec for React tooling. Inside: 14 colors tokens built from a pure-white canvas, pure-black ink, and a hairline mid-gray; 12 typography tokens pairing Surveyor Display (the serif display voice) with a neutral grotesque across display, heading, body, nav, and caption tiers; a 3-token radius vocabulary that is effectively all zeros except for a single fully-circular icon affordance; an 8-step spacing scale anchored on 8px; and 15 components entries covering the full-bleed hero, the stacked editorial nav, the hard-cornered primary CTA, the 4-up product grid, the product tile, the size-picker, the text input, and the footer column.

Feed this file to Claude or Cursor and the agent reproduces J.Crew's editorial discipline — white canvas, ink black, Surveyor Display headlines, hard-cornered CTAs, zero accent — rather than a generic apparel template with pill buttons and a seasonal highlight color. The one move worth borrowing is the complete subordination of chrome to photography: every design decision in the system points toward "get out of the photograph's way." Brands that attempt this half-heartedly — placing a tinted gradient over the hero, adding a colored badge layer, running a rounded-rect primary button — produce a page where the chrome competes with the image rather than framing it.

What makes it distinct

5

  1. Photography-first editorial layoutfull-bleed seasonal campaign imagery is the sole hero decoration; zero gradient overlays, zero decorative chrome interrupt the photograph
  2. Surveyor Display serif at display tierthe single typographic voltage on a page where grotesque handles every nav, label, and body role
  3. Ink black as the only structural color#000000 carries every CTA fill, nav border, and text weight; no accent, no secondary tint
  4. Hard-cornered CTAs0px border-radius on every button and input, echoing the sharp right-angle grid of a J.Crew catalog spread
  5. Monochrome merchandise gridproduct cards pair full-color photography against white canvas with ink labels and hairline dividers, no badge accent color

jcrew.com

Live at jcrew.com

A snapshot of the brand in production. Scroll the frame to see the whole page.

J.Crew's website at jcrew.com

Colors

14 colors

J.Crew's system runs on #e0e0e0 as its primary voltage, used in 2 of 15 components. Type is set in Gotham across 12 tokens from 11px to 64px, weights 400–500. Shape language is sharp — components average 0px corner radius, favoring crisp rectangles.

Surface

Page and card backgrounds · 3

Text

Headlines, body, captions · 5

Borders & Hairlines

Dividers, outlines, rules · 3

Semantic

Status, errors, success, links · 1

Other

Specialty colors · 2

Typography

12 type tokens

Set in Gotham across 12 tokens, from 11px to 64px, weights 400–500. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xl64px · weight 400 · lh 68px · tracking -0.5pxThe quick brown fox jumps over the lazy dog
  • display-lg48px · weight 400 · lh 52px · tracking -0.3pxThe quick brown fox jumps over the lazy dog
  • display-md32px · weight 400 · lh 36px · tracking 0The quick brown fox jumps over the lazy dog
  • heading-md18px · weight 500 · lh 24px · tracking 0.5pxThe quick brown fox jumps over the lazy dog
  • heading-sm14px · weight 500 · lh 20px · tracking 0.5pxThe quick brown fox jumps over the lazy dog
  • body-md16px · weight 400 · lh 24px · tracking 0The quick brown fox jumps over the lazy dog
  • body-sm14px · weight 400 · lh 20px · tracking 0The quick brown fox jumps over the lazy dog
  • label-md12px · weight 500 · lh 16px · tracking 1pxThe quick brown fox jumps over the lazy dog
  • caption11px · weight 400 · lh 16px · tracking 0.5pxThe quick brown fox jumps over the lazy dog
  • nav-link13px · weight 400 · lh 16px · tracking 0.5pxThe quick brown fox jumps over the lazy dog
  • button-md13px · weight 500 · lh 16px · tracking 1.5pxThe quick brown fox jumps over the lazy dog
  • price-display14px · weight 400 · lh 20px · tracking 0The quick brown fox jumps over the lazy dog

Layout

Radii and spacing

3 corner radii and 8 spacing values. Shape language: sharp.

Radii

  • none0px
  • sm2px
  • full9999px

Spacing

  • xs4px
  • sm8px
  • md12px
  • base16px
  • lg24px
  • xl32px
  • 2xl48px
  • 3xl64px

Components

15 components

Each rendered from its tokens (color, type, radius, padding) on J.Crew's own canvas.

  • Button Primary
    button-primaryButton Primary
  • Button Secondary
    button-secondaryButton Secondary
  • Button Ghost
    button-ghostButton Ghost
  • Top Nav
    top-navTop Nav
  • Nav Link
    nav-linkNav Link
  • Hero Heading
    hero-headingHero Heading
  • Section Heading
    section-headingSection Heading
  • Body Paragraph
    body-paragraphBody Paragraph
  • Body Paragraph Muted
    body-paragraph-mutedBody Paragraph Muted
  • Product Tile
    product-tileProduct Tile
  • Product Label
    product-labelProduct Label
  • Card
    cardCard
  • Type here…
    text-inputText Input
  • Size Picker
    size-pickerSize Picker
  • Footer
    footerFooter

In use

The system, in use

J.Crew's tokens on the kind of product it builds.

Build something people actually use.

A short paragraph of marketing copy that previews how the brand's display tier and body tier read together. Two sentences is usually enough.

Get startedLearn more
Marketing heroHeadline, sub-copy, primary CTA — the universal homepage opener.
Slow BurnAlbum · 2024
Open WindowSingle · 2025
Hours of LightEP · 2024
After HoursMix · 1h 42m
Media gridCover-art tiles with title + meta — streaming archetype.

FAQ

J.Crew design system FAQ

Common questions about J.Crew's tokens, components, and how to use this DESIGN.md in your project.

Read next

Specs, directories, and component libraries that pair with this design system.

Use it

Use J.Crew in your project

One machine-readable file. Drop it into Claude, Cursor, or any AI tool that reads DESIGN.md.

Download DESIGN.md
  1. Download the DESIGN.md

    One machine-readable file: every color, type, radius, spacing, and component token of J.Crew.

  2. Feed it to your AI tool

    Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match J.Crew's visual language.

  3. Reference the tokens directly

    Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.

Read the full DESIGN.md: overview, rationale, do’s and don’ts

Overview

J.Crew's homepage operates on a single organizing principle. Photography as primary design material. The hero is a full-bleed seasonal campaign image that runs edge-to-edge without a gradient scrim, a text overlay, or a promotional badge competing for attention. The headline sits below the photograph's frame — not on top of it — in Surveyor Display, a proprietary serif commissioned from Hoefler&Co. that carries the brand's Ivy League editorial tone. Every other surface in the system — nav, body, CTA, product grid — is subordinate to that photograph.

Where Madewell positions indigo-denim textile shots as the brand's visual identity, and where Everlane runs a value-proposition caption directly over a model photograph, J.Crew maintains a hard separation between the image frame and the typographic frame. The chrome never enters the photograph. This is the catalog tradition translated to the browser: a J.Crew catalog spread has always been a photograph plus a grid, not a photograph with text floating over it.

The shape language reinforces the editorial discipline. Every interactive surface — primary CTA, secondary ghost button, text input, size-picker grid, product tile border — runs at 0px border-radius. No pill geometry, no rounded-rect softening. The right angle is the visual vocabulary of the grid, the margin rule, the cut-line. One exception exists: the account icon button is a full circle because it holds a monogram initial.

Key Characteristics:

  • Pure white canvas ({colors.canvas}) and pure black ink ({colors.ink}) with no saturated accent — the only chromatic elements on the page live inside the campaign photography.
  • Surveyor Display serif at the display tier (48–64px / weight 400) carries editorial campaign headlines; a neutral grotesque handles every operational role below.
  • Hard-cornered geometry: {rounded.none} (0px) on every CTA, input, tile, and nav element — the right angle is the structural discipline.
  • Full-bleed campaign photography runs without overlay, scrim, or superimposed text — a categorical separation between image frame and chrome frame.
  • Hairline grid: {colors.hairline-soft} (#e0e0e0) rules divide the product grid and the nav band; there is no shadow tier.
  • Product tile captions use {typography.label-md} (12px / 500 / 1px tracking) in ink black with the price rendered at the same size — no typographic hierarchy between name and price.
  • Letter-spacing on operational labels runs 0.5–1.5px at the uppercase cap tier — the catalog convention of spaced small-caps applied to nav and button text.

Colors

Structural

  • Ink ({colors.ink} — #000000): frequency 10. Used as text (5) and border (5). The load-bearing structural tone — every CTA fill, every nav border, every typographic weight, every hairline rule. Wired as the page's single non-chromatic design voice. Pure black, not a warm graphite or a charcoal; the contrast against the white canvas is categorical rather than tonal.
  • On-ink ({colors.on-ink} — #ffffff): frequency carried by ink usage. Reverse text sitting on black surfaces — the primary CTA label, the nav-on-dark-bg moment, and the campaign headline when it appears on a dark campaign image.

Surface

  • Canvas ({colors.canvas} — #ffffff): the page floor and every merchandising surface. Pure white with no warmth tint, no cream offset — the photographic prints in the catalog tradition require a neutral white canvas to read correctly.
  • Surface-1 ({colors.surface-1} — #f5f5f5): a light gray surface used for the announcement bar, off-white product-grid backgrounds, and the category-filter chip in resting state.
  • Surface-2 ({colors.surface-2} — #f0f0f0): a slightly deeper gray for hover states on surface-1 elements and the footer band.

Text

  • Ink Muted ({colors.ink-muted} — #767676): secondary and tertiary text — product sub-labels, sale callouts rendered small, footer category sub-heads. Not pure black; the mid-gray communicates informational hierarchy without adding a second color.
  • Ink Soft ({colors.ink-soft} — #444444): a near-black used for body-copy paragraphs where pure ink would feel too heavy at 16px. The reading text in editorial editorial and brand editorial sections.

Hairlines

  • Hairline ({colors.hairline} — #000000): 0px / 1px borders on the top-nav bottom rule, primary CTA border, and the strong structural dividers. Pure black hairlines where separation needs weight.
  • Hairline Soft ({colors.hairline-soft} — #e0e0e0): the dominant hairline in the product grid and card system. Light gray separates product rows without asserting themselves as design elements.
  • Hairline Mid ({colors.hairline-mid} — #cccccc): input field borders and mid-weight card dividers. Between hairline-soft and ink; used where the line needs to read but not compete with product labels.

Typography

Font Families

The system divides typographic labor cleanly. Surveyor Display (Hoefler&Co.) carries every editorial headline role — the campaign headline above the fold, the seasonal category titles, the editorial dek in brand storytelling sections. It runs at weight 400 across every display size; the serif voice does not get bolder, it gets larger. Everything else — nav, body, label, button, price — belongs to a neutral grotesque (Gotham in the brand's official font stack), which runs at weight 400 for reading surfaces and weight 500 for labels, caps, and CTAs.

Hierarchy

TokenSizeWeightLine HeightLetter SpacingUse
{typography.display-xl}64px40068px-0.5pxCampaign hero headlines
{typography.display-lg}48px40052px-0.3pxCategory editorial headers
{typography.display-md}32px40036px0Section display moments
{typography.heading-md}18px50024px0.5pxSub-section heading / editorial sub-title
{typography.heading-sm}14px50020px0.5pxProduct feature call-out
{typography.body-md}16px40024px0Editorial body copy, product descriptions
{typography.body-sm}14px40020px0Secondary body copy, ghost button labels
{typography.label-md}12px50016px1pxProduct tile captions, category badge
{typography.caption}11px40016px0.5pxFine print, legal, size availability
{typography.nav-link}13px40016px0.5pxTop-nav links
{typography.button-md}13px50016px1.5pxCTA labels (uppercase)
{typography.price-display}14px40020px0Product price

Substitutes

Surveyor Display is proprietary. The closest editorial substitutes are Playfair Display (Google Fonts) at the same low weights — it shares the high-contrast thick-to-thin ratio — or Freight Display for a more closely matched humanist serif. For the grotesque tier, Inter or Aktiv Grotesk at the same weights transfer cleanly.

Layout

Spacing System

Base unit is 8px. The rhythm ladders up: {spacing.xs} 4px, {spacing.sm} 8px, {spacing.md} 12px, {spacing.base} 16px, {spacing.lg} 24px, {spacing.xl} 32px, {spacing.2xl} 48px, {spacing.3xl} 64px. Product tile gutters in the 4-up grid run at 16px — a generous gap that gives each photograph breathing room against the white canvas.

Grid & Container

Max content width runs ~1440px on the hero and ~1280px on the product grid. The 4-up product grid uses equal-width columns with 16px gutters and no row breaks until the product label appears below the tile. The stacked editorial nav is full-width at desktop with primary links centered and utility icons (search, account, bag) right-aligned. Section padding is generous: 64–96px vertically between campaign modules.

Rhythm

The page alternates between full-bleed photographic moments and white-canvas product/editorial sections. Full-bleed photography has zero chrome except for a minimal nav overlaid at 90% opacity. White-canvas sections hold a centered content container with the serif display headline, one editorial paragraph, and a ghost CTA that leads into a product category.

Elevation

The system carries no shadow tier. Depth comes from the photographic content itself — the campaign photographs create three-dimensionality without any UI-layer shadow. Product tiles use a 1px {colors.hairline-soft} border or bottom rule rather than a drop shadow; the hairline is the single elevation device in the flat merchandising grid. The only tonal surface is {colors.surface-1} (#f5f5f5) used on the announcement bar and secondary surface moments.

Shapes

The radius scale is near-zero. {rounded.none} (0px) applies to every interactive surface: the primary CTA, the secondary ghost button, text inputs, size-picker cells, product tile frames, and the search field. One exception: the account icon button renders as a full circle ({rounded.full} — 9999px) because it holds a monogram initial. There is no 4px / 8px softened tier. The right-angle vocabulary comes from print editorial tradition — the catalog grid, the advertising spread, the magazine layout grid — where the cut line is the design element, not the corner curve.

Components

button-primary — Black {colors.ink} fill, white text, {rounded.none} 0px radius, 14×24px padding, 44px height. "Shop now" and "Add to bag" are the canonical instances. No border is needed; the ink fill carries the weight.

button-secondary — White {colors.canvas} fill, ink text, 1px ink border, {rounded.none} 0px radius. Used for secondary CTAs like "Save for later" and "View all" category links.

button-ghost — Transparent fill, ink text at {typography.body-sm}, no border. The lightest action surface — used for editorial "read more" and "explore the collection" prose CTAs.

top-nav — White {colors.canvas} surface, 56px height, 1px {colors.hairline-soft} bottom rule. J.Crew wordmark flush left, category links centered (Women / Men / Boys / Girls / Baby / Sale / Stores), utility icons flush right. Nav links are not uppercase; they run in mixed case at 13px / weight 400 / 0.5px tracking.

nav-link — Transparent background, ink text at {typography.nav-link} (13px / 0.5px tracking), 8×12px padding. No hover background fill — the hover state is an underline.

hero-heading — Ink text at {typography.display-xl} (64px / 400 Surveyor Display / -0.5px tracking), appearing below the full-bleed campaign photograph, not on top of it. The headline sits against the white canvas between the image bottom edge and the CTA row.

section-heading — Surveyor Display at {typography.display-md} (32px / 400), used for editorial category intros like "New Arrivals" and seasonal feature titles.

body-paragraph — Default ink body copy at {typography.body-md} (16px / 400 / 24px leading). Editorial brand paragraphs in brand-story sections and category-editorial bands.

body-paragraph-muted — Ink-muted text at {typography.body-sm} for secondary copy and legal fine print.

product-tile — White {colors.canvas} surface, image fills the tile edge-to-edge with no overlay; below the image a {colors.hairline-soft} 1px bottom rule separates the image from the product-label area. Zero padding on the image area; 8px top padding on the label area.

product-label — Ink at {typography.label-md} (12px / 500 / 1px tracking, uppercase). Product name and price render at the same size and weight — no typographic hierarchy between them. Color swatch dots may appear at 8px diameter in ink or in the product's available colorways.

card — White surface, 16px padding, 1px {colors.hairline-soft} border, {rounded.none} 0px radius. Used for editorial feature callouts and "J.Crew Stylist" recommendation blocks.

text-input — White surface, ink text, 1px {colors.hairline-mid} border, {rounded.none} 0px radius, 12×16px padding, 44px height. Email sign-up and search field. No rounded corners; the input is a box.

size-picker — White surface, ink text at {typography.label-md}, 1px {colors.hairline-mid} border, {rounded.none} 0px radius. Each size option is a square cell in a grid row. Selected state: ink fill, white text. Out-of-stock: {colors.ink-muted} text with a diagonal strike-through line.

footer — White canvas, {colors.ink-muted} text at {typography.body-sm}, 48×24px padding. Three-column link cluster, email capture row, and social icons in ink. No surface contrast against the canvas floor — the footer continues as white canvas.

Do's and Don'ts

Do keep the campaign photograph unobstructed. The full-bleed hero is the system's primary design statement — the headline, the CTA, and the brand logo must sit outside the photograph's frame, not on top of it.

Do use {rounded.none} (0px) on every interactive surface. The right-angle vocabulary is the editorial discipline; introducing a 4px or 8px corner anywhere on a CTA or input would push the system toward generic DTC-template territory.

Do reserve Surveyor Display strictly for editorial headline moments. The serif voice is the brand's high-signal tier; running it on product labels, nav links, or button labels would lose the display/operational distinction that gives it authority.

Do use {colors.hairline-soft} (#e0e0e0) as the dominant grid separator. The merchandising grid relies on hairlines, not shadows or background-color bands, to divide product rows — shadows would add visual noise against the white canvas.

Don't put text on top of the campaign hero photograph. The J.Crew editorial convention positions headlines below the image boundary, not overlaid. Using a gradient scrim and floating text over the hero places the system in generic apparel-e-commerce territory and undermines the catalog discipline.

Don't use {colors.ink-muted} (#767676) for CTA labels — it fails WCAG AA contrast on white canvas. Reserve it for secondary info labels and fine print; CTAs must use {colors.ink} (#000000) or {colors.on-ink} (#ffffff) depending on fill color.

Don't add a saturated accent color to the chrome — not a seasonal tint, not a sale badge color beyond ink black. The only chromatic elements in the system are in the merchandise photography. Introducing a teal or burgundy badge token pulls the visual weight away from the image.

Don't round the size-picker grid cells. The size-picker is a literal grid; applying even {rounded.sm} (2px) to the cells softens the grid into a toggle-button pattern and loses the spatial relationship between adjacent sizes.

Known Gaps

  • Live extraction blocked: the Akamai CDN returned an Access Denied response on the extraction run; the color and typography tokens in this file are grounded in J.Crew's well-documented brand standards rather than direct CSS extraction. Validate token values against the live site before production use.
  • Product detail page: the PDP variant-picker, size-guide modal, fit-details drawer, and add-to-bag CTA placement are not captured in this spec.
  • Sale and promotional surfaces: discount badges, sale-price strikethrough format, promotional banner content, and countdown-timer surfaces are described structurally but not exhaustively styled.
  • Hover and focus states: interactive state variants (hover underline on nav links, focus ring on inputs, hover overlay on product tiles) are not documented per the marketing-surface extraction scope.
  • Dark campaign moments: some seasonal campaigns reverse the canvas to black with white editorial headlines — this inverted surface is not formally represented in the token system.
  • Motion: the hero carousel transition timing, product-tile rollover reveal speed, and drawer slide-in easing are not captured; they live in the brand's JavaScript animation layer.

E-commerce & Retail

More systems like this

More DESIGN.md files in E-commerce & Retail.

Pricing

Build it with Pro

The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.

4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.

Billed once a year in USD. Cancel anytime.

Individual

For personal projects & open source

$32instead of $49/mo

$389 billed yearly

  • How many people can use the license.Seats: 1 seat
  • Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
  • Production-ready React sections: hero, pricing, features, dashboards and more.Pro blocks: 6,000+ blocks
  • Complete multi-page sites you can ship as they are.Templates: All 14 templates
  • React icons from every major library, installable with one command.React icons: 294k+ icons
  • Presets that restyle every block, in light and dark.Themes: All 59 themes
  • Lets your AI editor search, preview and install blocks for you.MCP server: Basic usage
  • Priority requests are answered first.Support: Standard

Team

Most popular

For freelancers, agencies & startups

$66instead of $99/mo

$789 billed yearly · ≈ $13/dev/mo

Everything in Individual, plus

  • How many people can use the license.Seats: Up to 5 seats
  • Client work, SaaS products and anything you charge for.Commercial use: Included
  • Lets your AI editor search, preview and install blocks for you.MCP server: High usage
  • Priority requests are answered first.Support: Priority

Organization

For companies with larger teams

$132instead of $199/mo

$1,589 billed yearly

Everything in Team, plus

  • How many people can use the license.Seats: Unlimited seats
  • Lets your AI editor search, preview and install blocks for you.MCP server: Unlimited usage
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

Your system, built for you

Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.

Get Pro