Skip to content
Markdown
All sites

Square

Payments, point-of-sale and tools for running a small business

Save Square to your collection

Sign in with Google to keep the sites you like in one place, on any device. It’s free.

We only use your name and email to save your collection. Privacy

You’ve saved 10 sites

Free accounts can keep 10. Go Pro to save as many as you like.

Billing

Cancel anytime from your account menu. Payments are handled by Stripe.

Add Square to a folder

Group sites however you like — by project, client or mood.

Visit site (opens squareup.com in a new tab)Use this style

The style

A clean, straightforward commerce language. Large regular-weight sans headlines in near-black sit on plain white, body text runs at a generous 18px, and a single bright cobalt blue carries every action. Big 24px-cornered tiles hold photography and stories, with a deep green reserved for customer highlights. Nothing is decorative; everything reads quickly.

Colours

  • Buttons#017ef7
  • Highlight#005a39
  • Background#fdfdfe
  • Text#1a1a1a

Click a colour to copy it.

Fonts

Public Sans

For headings

Public Sans

For everything else

Free fonts that look like Square’s own, so you can use them anywhere.

Buttons

Get startedContinueCancel

50px cobalt buttons with 6px corners and white labels; a white button with a 2px cobalt edge for the second action.

Use this style in your project

Pick the way that suits you. The first one needs no design or coding knowledge.

With an AI tool

Your AI tool builds the page for you, in Square’s style.

2. Open it in

For developers

Ready-made CSS variables, a Tailwind theme and design tokens, with light and dark modes.

See the code

Make it your own

Change the colours, fonts and shapes, and see the result straight away before you use it.

Customise

Files

The code, ready to copy

Every file says where the style came from.

tokens.css — Colours, fonts and sizes as CSS variables, with light and dark modes.

/* Plain Cobalt — design tokens generated by Markdown */
/* Derived from an analysis of squareup.com; how different from the source: a little different (30/100). */
/* Inspired by, not a copy of, the source. Adapt before commercial use; no logos, imagery, copy or proprietary fonts are included. */

:root {
  color-scheme: light;
  --color-background: #fdfdfe;
  --color-surface: #f2f2f2;
  --color-surface-muted: #f2f2f3;
  --color-text: #1a1a1a;
  --color-text-muted: #707071;
  --color-border: #ddddde;
  --color-primary: #017ef7;
  --color-on-primary: #141210;
  --color-brand: #0086ff;
  --color-on-brand: #1a1a1a;
  --color-accent: #005a39;
  --color-success: #138649;
  --color-warning: #a16a17;
  --color-danger: #c4271c;
  --font-display: "Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-body: "Public Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
  --text-display: 2.625rem;
  --text-display-line-height: 1.16;
  --text-display-weight: 400;
  --text-display-tracking: -0.007em;
  --text-h1: 2.1875rem;
  --text-h1-line-height: 1.19;
  --text-h1-weight: 400;
  --text-h1-tracking: -0.006em;
  --text-h2: 1.875rem;
  --text-h2-line-height: 1.22;
  --text-h2-weight: 400;
  --text-h2-tracking: -0.004em;
  --text-h3: 1.5625rem;
  --text-h3-line-height: 1.28;
  --text-h3-weight: 400;
  --text-h3-tracking: -0.003em;
  --text-lead: 1.3125rem;
  --text-lead-line-height: 1.5;
  --text-lead-weight: 400;
  --text-lead-tracking: -0.005em;
  --text-body: 1.125rem;
  --text-body-line-height: 1.6;
  --text-body-weight: 400;
  --text-body-tracking: 0em;
  --text-small: 0.9375rem;
  --text-small-line-height: 1.5;
  --text-small-weight: 400;
  --text-small-tracking: 0.005em;
  --text-caption: 0.8125rem;
  --text-caption-line-height: 1.4;
  --text-caption-weight: 400;
  --text-caption-tracking: 0.01em;
  --text-label: 0.9375rem;
  --text-label-line-height: 1.3;
  --text-label-weight: 600;
  --text-label-tracking: 0.01em;
  --text-code: 1rem;
  --text-code-line-height: 1.55;
  --text-code-weight: 400;
  --text-code-tracking: 0em;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 32px;
  --space-6: 40px;
  --space-7: 64px;
  --space-8: 80px;
  --space-9: 120px;
  --space-10: 160px;
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 7px;
  --radius-lg: 11px;
  --radius-xl: 18px;
  --radius-full: 9999px;
  --border-width: 0px;
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 12px -2px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.04);
  --shadow-lg: 0 18px 40px -12px rgb(0 0 0 / 0.18);
  --duration-fast: 80ms;
  --duration-base: 140ms;
  --duration-slow: 240ms;
  --ease-standard: cubic-bezier(0.4, 0, 0.6, 1);
  --ease-enter: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-exit: cubic-bezier(0.7, 0, 0.84, 0);
  --container: 1096px;
  --gutter: 24px;
  --button-radius: 7px;
  --button-padding: 13px 16px;
  --input-radius: 7px;
  --input-height: 48px;
  --card-radius: 24px;
  --card-padding: 32px;
  --badge-radius: 9999px;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --color-background: #101016;
    --color-surface: #1c1c22;
    --color-surface-muted: #212127;
    --color-text: #eaeaf0;
    --color-text-muted: #97979d;
    --color-border: #3c3c42;
    --color-primary: #3ea0fe;
    --color-on-primary: #141210;
    --color-brand: #0086ff;
    --color-on-brand: #141210;
    --color-accent: #009760;
    --color-success: #55e799;
    --color-warning: #e6a84c;
    --color-danger: #e8685e;
  }
}

[data-theme="dark"] {
  color-scheme: dark;
  --color-background: #101016;
  --color-surface: #1c1c22;
  --color-surface-muted: #212127;
  --color-text: #eaeaf0;
  --color-text-muted: #97979d;
  --color-border: #3c3c42;
  --color-primary: #3ea0fe;
  --color-on-primary: #141210;
  --color-brand: #0086ff;
  --color-on-brand: #141210;
  --color-accent: #009760;
  --color-success: #55e799;
  --color-warning: #e6a84c;
  --color-danger: #e8685e;
}

@media (prefers-reduced-motion: reduce) {
  :root { --duration-fast: 0ms; --duration-base: 0ms; --duration-slow: 0ms; }
}
See every detail

Buttons

Inputs

Badges

New ActivePendingOverdue

Project

Quarterly field notes

Draft

A card groups one idea: a title, one line of support and a clear next step.

Updated 2h agoOpen project

Weekly digest is ready

Three new comments and one approval.

npm i @brandless/ui

01

Colour

Semantic roles for light mode. Contrast is checked against WCAG AA as you edit.

  • Background

  • Surface

  • Surface muted

  • AA 17.1:1

    Text

  • AA 4.9:1

    Text muted

  • Border

  • AA 3.9:1

    Primary

  • AA 4.7:1

    On primary

  • Brand

  • AA 4.9:1

    On brand

  • AA 8.2:1

    Accent

  • AA 4.6:1

    Success

  • AA 4.5:1

    Warning

  • AA 5.7:1

    Danger

02

Typography

Base 18px on a 1.182 modular scale. Only open-licence fonts are recommended.

display

Public Sans

Open alternative to Square Sans Display

body

Public Sans

Open alternative to Square Sans Text

mono

Space Mono

Suggested
  • display · 42px / 1.16 · 400 · -0.007em

    The quiet grammar of form

  • h1 · 35px / 1.19 · 400 · -0.006em

    The quiet grammar of form

  • h2 · 30px / 1.22 · 400 · -0.004em

    The quiet grammar of form

  • h3 · 25px / 1.28 · 400 · -0.003em

    The quiet grammar of form

  • lead · 21px / 1.5 · 400 · -0.005em

    Readable text sets the pace of an interface.

  • body · 18px / 1.6 · 400 · 0em

    Readable text sets the pace of an interface.

  • small · 15px / 1.5 · 400 · 0.005em

    Readable text sets the pace of an interface.

  • caption · 13px / 1.4 · 400 · 0.01em

    Readable text sets the pace of an interface.

  • label · 15px / 1.3 · 600 · 0.01em

    Readable text sets the pace of an interface.

  • code · 16px / 1.55 · 400 · 0em

    const tokens = await load();

03

Spacing

A 8px base unit. Use the scale for padding, gaps and section rhythm.

  • 4px
  • 8px
  • 12px
  • 16px
  • 32px
  • 40px
  • 64px
  • 80px
  • 120px
  • 160px

04

Shape & surface

Mostly flat surfaces with a light shadow reserved for raised, interactive elements.

Radii

  • none

    0px

  • sm

    4px

  • md

    7px

  • lg

    11px

  • xl

    18px

  • full

    pill

Shadows & borders

shadow-sm

0 1px 2px rgb(0 0 0 / 0.05)

shadow-md

0 4px 12px -2px rgb(0 0 0 / 0.08), 0 2px 4px -2px rgb(0 0 0 / 0.04)

shadow-lg

0 18px 40px -12px rgb(0 0 0 / 0.18)

Borders: rarely used · Surfaces: flat

06

Layout

1096px container · 12 columns · 24px gutters

Patterns

  • Wide single-column hero with generous vertical rhythm between sections.
  • Twelve-column grid; content blocks usually span 4, 6 or 8 columns.
  • Contained sections with consistent side gutters.
  • Reading text limited to roughly 65–72 characters per line.

Responsive principles

  • Below md, grids collapse to a single column and side gutters drop to 16px.
  • Type steps above h2 scale down one step on small screens.
  • Navigation collapses to a disclosure menu below lg.
  • Touch targets stay at least 44×44px on every breakpoint.

07

Motion

Durations and easing curves. Previews respect your reduced-motion setting.

  • fast
    80ms
  • base
    140ms
  • slow
    240ms
  • ease-standard

  • ease-enter

  • ease-exit

Principles

  • Motion is brisk and functional — it confirms, it doesn't perform.
  • Animate opacity and transform only; avoid animating layout.
  • Respect prefers-reduced-motion by replacing movement with instant state changes or fades.

Square, its logo and trademarks belong to their owner and are shown only to say where this style comes from. This is our own study of their public website — not made or endorsed by Square. Use your own words and images.

  • Save PayPal to your collection

    Sign in with Google to keep the sites you like in one place, on any device. It’s free.

    We only use your name and email to save your collection. Privacy

    You’ve saved 10 sites

    Free accounts can keep 10. Go Pro to save as many as you like.

    Billing

    Cancel anytime from your account menu. Payments are handled by Stripe.

    Add PayPal to a folder

    Group sites however you like — by project, client or mood.

    PayPal

    An online wallet for paying, sending and getting paid

  • Save Mercury to your collection

    Sign in with Google to keep the sites you like in one place, on any device. It’s free.

    We only use your name and email to save your collection. Privacy

    You’ve saved 10 sites

    Free accounts can keep 10. Go Pro to save as many as you like.

    Billing

    Cancel anytime from your account menu. Payments are handled by Stripe.

    Add Mercury to a folder

    Group sites however you like — by project, client or mood.

    Mercury logo

    Mercury

    Business banking for startups and growing companies

  • Save Zendesk to your collection

    Sign in with Google to keep the sites you like in one place, on any device. It’s free.

    We only use your name and email to save your collection. Privacy

    You’ve saved 10 sites

    Free accounts can keep 10. Go Pro to save as many as you like.

    Billing

    Cancel anytime from your account menu. Payments are handled by Stripe.

    Add Zendesk to a folder

    Group sites however you like — by project, client or mood.

    Zendesk

    Customer service software with AI agents built in