Skip to content

Chick-fil-A Design System

Chick-fil-A's design system approximation as a DESIGN.md file. Extraction hit a Cloudflare block page; structural tokens from the block capture plus brand-knowledge framing. For React, Next.js, 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
#0051c3
Typeface
-apple-system
Shape
Sharp
Base radius
5px
Colors
7
Type tokens
8
Components
12
Spacing values
6

About

About Chick-fil-A DESIGN.md

Curated by Dov Azencot · Updated May 19, 2026 · Source chick-fil-a.com (opens in a new tab)

Chick-fil-A's marketing site returned a Cloudflare security block at the time of extraction. The screenshot and extraction data document Cloudflare's default block page — not the brand's actual homepage — which means the color tokens, typography measurements, and component data in this file reflect the block page's generic system-UI chrome rather than Chick-fil-A's own design decisions. The dominant surface is a light gray gradient (#ebebeb transitioning to #dedede), the text is charcoal #404040, and the only chromatic element is Cloudflare's steel-blue link #0051c3. None of these belong to Chick-fil-A's identity.

What is known from the brand record: Chick-fil-A operates with a bold crimson red as its primary voltage — the C-as-chicken-head logo renders in red on white packaging, signage, and digital touchpoints. The chain positions aggressively on hospitality (training every operator to say "My Pleasure" in response to customer thanks) and this hospitality voice carries into digital copy in a way that no other major US QSR brand has replicated. The real marketing site was known to run a photography-led hero format with food-forward images, a top-navigation structured around menu, rewards, and delivery ordering, and a red fill on primary CTA buttons.

This file is an honest gap document. The structural tokens from the block-page capture are included because they are real measured values; the brand-knowledge framing describes what the live site is known to implement. A practitioner building a Chick-fil-A-flavored interface should treat the red voltage and typography as directional guidance pending a live extraction, and should use the system-UI stack as a development fallback only.

What makes it distinct

5

  1. Cloudflare-blocked extractionthe live site returned a security block at extraction time; color and typography tokens reflect the block-page capture only
  2. Charcoal-not-black inkthe dominant text tone is #404040, a warm near-black that appears on 25 text and 24 border instances in the captured surface
  3. System-UI typographythe block page runs Apple system font stack at weights 300–600; the brand's actual custom family (Apertura) was not captured
  4. Hospitality positioningChick-fil-A is the only major US QSR brand whose operators are trained to respond 'My Pleasure' to thank-yous, a service-design signal that appears in its digital copy voice
  5. Steel-blue link accentCloudflare's default #0051c3 provides the only chromatic signal in the block page; not a Chick-fil-A brand color

chick-fil-a.com

Live at chick-fil-a.com

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

Chick-fil-A's website at chick-fil-a.com

Colors

7 colors

Chick-fil-A's system runs on #0051c3 as its primary voltage, used in 1 of 12 components. Type is set in -apple-system across 8 tokens from 13px to 60px, weights 300–600. Shape language is sharp — components average 3px corner radius, favoring crisp rectangles.

Surface

Page and card backgrounds · 2

Text

Headlines, body, captions · 4

Borders & Hairlines

Dividers, outlines, rules · 1

Typography

8 type tokens

Set in -apple-system across 8 tokens, from 13px to 60px, weights 300–600. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xl60px · weight 300 · lh 72pxThe quick brown fox jumps over the lazy dog
  • display-md30px · weight 300 · lh 39pxThe quick brown fox jumps over the lazy dog
  • heading-md30px · weight 400 · lh 39pxThe quick brown fox jumps over the lazy dog
  • body-md15px · weight 400 · lh 22.5pxThe quick brown fox jumps over the lazy dog
  • body-sm13px · weight 400 · lh 19.5pxThe quick brown fox jumps over the lazy dog
  • label-strong13px · weight 600 · lh 19.5pxThe quick brown fox jumps over the lazy dog
  • button-md13px · weight 400 · lh 19.5pxThe quick brown fox jumps over the lazy dog
  • nav-link13px · weight 400 · lh 19.5pxThe quick brown fox jumps over the lazy dog

Layout

Radii and spacing

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

Radii

  • none0px
  • sm5px
  • full9999px

Spacing

  • xs5px
  • sm22px
  • md30px
  • lg40px
  • xl53px
  • 2xl60px

Components

12 components

Each rendered from its tokens (color, type, radius, padding) on Chick-fil-A's own canvas.

  • Button Primary
    button-primaryButton Primary
  • Button Secondary
    button-secondaryButton Secondary
  • Top Nav
    top-navTop Nav
  • Nav Link
    nav-linkNav Link
  • Hero Heading
    hero-headingHero Heading
  • Hero Subheading
    hero-subheadingHero Subheading
  • Body Paragraph
    body-paragraphBody Paragraph
  • Body Paragraph Muted
    body-paragraph-mutedBody Paragraph Muted
  • Card
    cardCard
  • Surface Panel
    surface-panelSurface Panel
  • Type here…
    text-inputText Input
  • Footer
    footerFooter

In use

The system, in use

Chick-fil-A'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

Chick-fil-A design system FAQ

Common questions about Chick-fil-A'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 Chick-fil-A 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 Chick-fil-A.

  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 Chick-fil-A'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

This file documents an extraction that returned a Cloudflare security block page rather than the Chick-fil-A marketing site itself. Extraction-as-gap-document. The tokens below reflect what was measurably present in the captured page — Cloudflare's generic block-page chrome — alongside brand-knowledge framing for the real site's identity. Every hex value in the colors section was present in the extraction; none was invented. Where McDonald's, Five Guys, and Shake Shack can be compared by their respective brand voltages and typographic choices, this file functions as a placeholder until a live extraction can succeed.

The real Chick-fil-A identity, as documented across the brand's physical presence, app store assets, and public press materials, is built on a bold crimson red and white. The C-as-chicken-head mark renders in red on white; primary CTAs on the live website use a red fill; and the brand's famous hospitality positioning ("My Pleasure" as a trained response to customer thanks) appears in digital copy as a warmth register that no other major US QSR brand has replicated. Where Five Guys uses aggressive weight-900 uppercase typography to signal Americana boldness and Shake Shack uses food photography to signal upmarket provenance, Chick-fil-A uses warmth of copy and service language to signal trust.

The captured surface shows Cloudflare's system-UI stack at weight 300 for the 60px error heading and weight 400 for body copy — a light-weight editorial treatment that is coincidentally not far from the brand's own Apertura-based display style, which also runs at lighter weights relative to QSR peers.

Key Characteristics:

  • Extraction hit a Cloudflare security block — all tokens are from the block page, not the live brand surface.
  • Charcoal ink ({colors.ink} — #404040) as the dominant text color in the captured page; warm near-black rather than pure black.
  • No brand-layer color captured in the extraction (all seven sampled colors are structural neutrals or a Cloudflare blue link).
  • System-UI fallback typography at weights 300 (display) and 400 (body) — lightweight relative to Five Guys' weight-900 stack.
  • Single small-step radius ({rounded.sm} — 5px) on the only captured component; no pill-rounding or large-step tier.
  • Known brand identity: bold crimson red voltage, white canvas, Apertura typeface, hospitality copy register.
  • Light gray gradient surface ({colors.surface-1} — #ebebeb) used as the block-page body background.

Colors

Text

  • Ink ({colors.ink} — #404040): frequency 25 as text, 24 as border. The dominant charcoal — Cloudflare's default block-page text color. A warm near-black that is slightly lighter and less chromatic than a pure charcoal; the warmth is incidental to Cloudflare's system defaults rather than a Chick-fil-A brand decision.
  • Ink Muted ({colors.ink-muted} — #595959): frequency 2 as text, 2 as border. Secondary text on the block page — slightly lighter than the primary charcoal.
  • Ink Dark ({colors.ink-dark} — #000000): frequency 2 as text, 2 as border. Pure black, appearing as a small accent tone on the block page.

Surface

  • Canvas ({colors.canvas} — #ffffff): frequency 2 as background. The pure white surface used within the block-page card. Cloudflare's block page sits inside a white card on the gray gradient body.
  • Surface-1 ({colors.surface-1} — #ebebeb): 1 as background, 2 as gradient. The light gray body background of the Cloudflare block page — a gradient from #ebebeb to #dedede.

Hairline

  • Hairline ({colors.hairline} — #dedede): 2 as gradient. The lighter end of the block-page gradient; functions as the divider tone on the captured surface.

Link / Accent

  • Link ({colors.link} — #0051c3): frequency 2 as text, 2 as border. Cloudflare's default link blue — appears on the "Cloudflare" attribution link at the bottom of the block page. Not a Chick-fil-A brand color.

Typography

Font Family

The captured surface runs the system-UI stack — -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Helvetica Neue", Arial, sans-serif — at weights 300, 400, and 600. This is Cloudflare's default block-page typeface, not Chick-fil-A's. The brand's actual typeface is Apertura, a geometric humanist sans used for display and body on the live website. For development purposes, the system-UI stack serves as a valid fallback; for brand accuracy, substitute Apertura or an open-source geometric sans (Nunito, Lato) at the same weight scale.

Hierarchy

TokenSizeWeightLine HeightUse
{typography.display-xl}60px30072pxBlock-page h1 ("Sorry, you have been blocked")
{typography.display-md}30px30039pxBlock-page h2 ("You are unable to access…")
{typography.heading-md}30px40039pxSecondary h2 on block page
{typography.body-md}15px40022.5pxBody paragraph on block page
{typography.body-sm}13px40019.5pxSmall body, nav links, button labels
{typography.label-strong}13px60019.5pxBold label / strong inline text
{typography.button-md}13px40019.5pxButton and action label approximation
{typography.nav-link}13px40019.5pxNavigation link labels

Principles

The captured display weight is 300 — a light treatment that reads editorial rather than bold. For the real Chick-fil-A site, display headings are expected to run at heavier weights (Apertura Regular to Medium) with a warmer letter-spacing setting. Weight 400 covers all body copy on the block page with no intermediate 500 or 700 emphasis tier visible — a strict two-weight split (300 display / 400 body) on the captured surface.

Note on Font Substitutes

System-UI is available everywhere by default. For Chick-fil-A's actual brand family (Apertura), Nunito or Lato at weights 300–600 track the geometric humanist feel closely. For a closer cap-height match at display sizes, DM Sans at Light (300) and Regular (400) renders similarly.

Layout

Spacing System

  • Tokens: {spacing.xs} 5px · {spacing.sm} 22px · {spacing.md} 30px · {spacing.lg} 40px · {spacing.xl} 53px · {spacing.2xl} 60px.
  • Block-page card padding: 30px vertical and horizontal.
  • Top spacing: 53px offset from the page top (the top-anchor of the block-page card).
  • Negative offset: a –60px margin appears in the block-page layout to overlap a graphic element; this is a Cloudflare layout detail, not a brand pattern.

Grid & Container

  • Block page: single centered card at roughly 1100px max-width, containing the error heading, sub-heading, two-column explainer body, and a footer attribution strip.
  • No marketing grid structure is visible from the extraction.

Elevation

The Cloudflare block page uses no elevation tier — the white card sits on the gradient background with no box-shadow. The only depth signal is surface-color contrast between the #ffffff card and the #ebebeb gradient body.

Shapes

The only captured radius is {rounded.sm} 5px, appearing once on a button element. There is no pill-rounding or card-level radius. For a Chick-fil-A brand approximation, pill-rounding on CTA buttons is expected from brand materials; the 5px value here belongs to the block-page's generic button styling.

Components

button-primary — For the Cloudflare block-page context: charcoal fill, white text, 5px radius, 5x30px padding. For the real Chick-fil-A site, the equivalent should carry a crimson red fill — this is approximated to the extraction-available ink color until a live capture is possible.

button-secondary — White fill, charcoal text, 5px radius, hairline border. Approximated from block-page context.

top-nav — White canvas, charcoal text, 48px height, system-UI nav links. Approximated from block-page.

nav-link — Steel-blue link text ({colors.link}), 13px / 400, 3px horizontal padding. The Cloudflare attribution link at the bottom of the block page provides the only nav-link sample.

hero-heading — Charcoal ink text, 60px / weight 300, {typography.display-xl}. The block-page h1.

hero-subheading — Muted charcoal {colors.ink-muted} text, 30px / weight 300. The block-page h2.

body-paragraph — Default charcoal text, 15px / 400. Running body copy.

body-paragraph-muted — Muted charcoal, 13px / 400. Secondary body paragraphs.

card — White canvas, charcoal text, 5px radius, 30px padding, hairline border. The block-page card container.

surface-panel — Light gray {colors.surface-1} fill, charcoal text, no radius, 40x22px padding. The body gradient background panel on the block page.

text-input — White canvas, charcoal text, 5px radius, 5x22px padding, charcoal border. Generic form field approximation.

footer — Light gray {colors.surface-1} surface, charcoal text, 13px / 400, 30x22px padding. The block-page footer attribution strip.

Do's and Don'ts

Do replace every token in this file with live-measured values once a successful extraction of www.chick-fil-a.com is possible. The tokens here are Cloudflare's defaults, not Chick-fil-A's; any implementation derived from this file should be treated as a placeholder rather than a ground-truth spec.

Do preserve the 5px corner radius as an approximation for form inputs and cards if building from this spec, knowing it reflects the block page rather than the live site. For CTAs, a pill radius (rounded-full) is more consistent with the brand's visual materials.

Do reference the brand's hospitality copy register when writing button labels and call-to-action text — "Add to My Order" rather than "Add to Cart", "Find a Restaurant" rather than "Find a Store". The copy voice carries as much of the identity as the visual tokens.

Do treat {colors.link} (#0051c3) as a Cloudflare default, not a Chick-fil-A brand color. Remove it from any brand-facing implementation.

Don't use the system-UI stack in any brand-facing implementation without attempting to load Apertura first. The system stack is a fallback; it does not carry the geometric humanist warmth of the brand's actual typeface.

Don't use the charcoal {colors.ink} (#404040) as a heading color in a brand-accurate implementation without first confirming it against the live site. The real site is expected to use a near-black (pure black or a very dark tone) for headings, with the charcoal reserved for body copy.

Don't treat weight 300 as the brand's display weight based on the extraction. The block page uses Cloudflare's light-weight editorial setting; the brand's actual display weight on its homepage is expected to be Regular (400) or Medium (500) in Apertura.

Don't use this file as a guide for the app-based ordering flow or the Chick-fil-A One rewards experience, which carry their own component libraries and are completely absent from this capture.

Known Gaps

  • Live site not captured: www.chick-fil-a.com returned a Cloudflare security challenge at extraction time; all tokens in this file describe the Cloudflare block page, not the brand's own design system.
  • Brand voltage absent: Chick-fil-A's signature crimson red does not appear in the extraction; it cannot be included in the colors section per the spec's hard rule against invented hex values.
  • Apertura typeface not captured: the brand's custom geometric sans is absent from the extraction; the system-UI stack in the typography section is Cloudflare's default, not Chick-fil-A's.
  • No component data from live site: primaryButton, navLink, and input were all null in the extraction; all component definitions in this file are approximations from block-page context.
  • Ordering flow entirely absent: the core of Chick-fil-A's digital product — the menu ordering interface, the Chick-fil-A One rewards program, the catering request form — is not captured here.
  • Photography system not documented: the live site is known to run a photography-led hero with warm food art direction; no image usage, aspect ratio, or photographic style guidance is extractable from the block page.
  • App surfaces: the Chick-fil-A mobile app carries the primary user engagement surface; the app's component library, loyalty-state UI, and gamified rewards display are outside the scope of this web extraction.

Food & Delivery

More systems like this

More DESIGN.md files in Food & Delivery.

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