Quicksand

Replaces: Greycliff (82%) | OFL-1.1 | Updated: Aug 2026

About Quicksand

Classification
sans-serif
Weights
Variable (100-900)
Features
Variable
SIL Open Font License 1.1

Free to use, modify, and distribute. Can be used commercially without attribution.

What's allowed?
  • Client work
  • SaaS / Web apps
  • YouTube / Video
  • Sell products
  • Print materials

Note: Derivative fonts must use the same license.

Full license guide →
Get Quicksand Free ↗

Quicksand is a geometric sans with rounded terminals, started by Andrew Paglinawan in 2008 and on Google Fonts since 19 October 2011. What you download today is one variable file — Quicksand[wght].ttf, 124,824 bytes — with a single axis from 300 to 700, no italic of any kind, and a Latin-only set of 694 codepoints. Google's API reports a median of roughly 98 million requests a day across the 90 days to 11 August 2026. It also ships single-storey a and g by default, which is the detail that decides whether it can replace the font you had in mind.

What it is and where it came from

There is no foundry. Quicksand is an independent open-source project: Google marks it isOpenSource: true and the copyright reads "Copyright 2019 The Quicksand Project Authors" — no licensor, no retail tier. Upstream is github.com/andrew-paglinawan/QuicksandFamily; Google's METADATA.pb builds from a fork, github.com/ThomasJockin/QuicksandFamily.

Google's description credits three people, and only one of them is in the font file. Andrew Paglinawan started it in 2008 — Google's description says the project was "initiated by Andrew Paglinawan in 2008 using geometric shapes as a core foundation," and the upstream changelog dates version 1.0 to 12 October 2008. He is the sole designer credited in METADATA.pb, in name IDs 8 and 9, and in Google's designer record. Thomas Jockin revised the family in 2016 — Google says only that, with Paglinawan, it was "thoroughly revised ... to improve the quality," not that he added weights, and no source attributes that expansion to him. Mirko Velimirovic converted it to a variable font in 2019. Neither of the latter two is in the binary's name table. The upstream project keeps a different list again: CONTRIBUTORS.txt names four people — Paglinawan, Jockin, Nhung Nguyen and Marc Foley — and does not mention Velimirovic at all. Which of the three records you trust depends on what you are asking: the file credits one designer, Google's blurb tells a three-stage story, and the repository counts four contributors.

The interesting episode falls in between. On 21 October 2013 the family was completely redrawn, and the v2.0 changelog is specific: x-height raised from 500 to 515 units, weights normalised, kerning improved, the ampersand "replaced with something less flashy" — and true italics for each weight, plus a unicase set. The build you get today has neither. Both facts are documented; no source explains the removal.

Design characteristics

Measured from the shipped binary at its Light instance on a 1000-unit em. The outlines move along the axis, so read these as Light-instance values or ratios.

One axis, and a contested default. fvar reports axisCount: 1wght, 300 to 700, five named instances, every value between them reachable. No width, optical size, slant or custom axis. The axis default is where sources disagree: the binary says 300, corroborated by usWeightClass 300, name ID 1 "Quicksand Light" and the PostScript name Quicksand-Light, while Google's metadata API reports defaultValue: 400.0. On the web it rarely bites, because CSS pins wght to font-weight, whose initial value is 400 — a browser shows Regular. Install the raw .ttf on a desktop and it registers as Quicksand Light.

Vertical proportions. sxHeight is 503 and sCapHeight 700 — an x-height almost exactly half the em, 0.72 of the cap height: moderate, not the tall screen-first lowercase of an Inter. The number to notice is the ascender: l reaches y 740, above the 700 cap height, so lowercase-heavy lines get a visible lift and all-caps settings read slightly compact beside mixed case. Round letters overshoot to 515: o, a, e and g all top out there. The 2013 changelog quoted above gives 515 as the x-height of that redraw, while the shipped variable binary declares sxHeight 503 — so the two numbers in circulation come from different places, and 503 is the one this file actually reports to a layout engine. Match x-heights across families against 503.

The a and the g are the design. The default a has 2 contours and 51 points, and its counter runs y 28–477 — the same vertical span as the counter of o, drawn with the same 16 points, just narrower across (x 92–480 against o's 92–505). A circle with a stem: single-storey. The default g has 66 points, a 16-point counter on that same y 28–477 span, and a tail dropping to −200: single-storey again. That is where the softness comes from, and the first thing that looks wrong in a layout built around a two-storey face.

One stylistic set, and it fixes exactly that. ss01 holds 33 substitutions covering only a, g and their accented derivatives. a.ss01 runs to 69 points with its counter confined to y 28–266 — a bowl in the bottom half only, a double-storey a. g.ss01 has 4 contours and 73 points: an upper bowl with its own counter, an ear, and a lower stroke that opens rather than closing — a double-storey g with an open tail, not a binocular one. Set font-feature-settings: "ss01" and the face turns markedly more conventional. It is the most useful thing here that the specimen never mentions.

The rest of the features. GSUB: aalt, case, ccmp, dlig, dnom, frac, liga, locl, numr, ordn, sinf, ss01, subs, sups, zero. GPOS: kern, mark, mkmk. liga covers fi, fl, ff, ffi, ffl, and dlig is not empty — it holds the Dutch f_ij and ff_ij ligatures. Two absences matter: no tabular figures, no oldstyle figures, no small caps, so proportional lining is the only figure style. And the zero feature gives you a dotted zero, not a slashed one: it makes a single substitution to zero.zero, which is a composite of zero plus periodcentered.

Coverage. Latin, latin-ext and vietnamese: 694 codepoints, and all 506 languages Google lists are _Latn. A cmap read confirms ł ő ș ž ć, ạ ế ộ ữ ơ ư đ and ₫ present, Cyrillic absent entirely, and of Greek exactly one codepoint: π (U+03C0), there as a mathematical symbol rather than as the start of an alphabet.

Where Quicksand works

Google calls it a display sans "designed for display purposes but kept legible enough to use in small sizes as well," a fair account of its range. It is best doing loud work: wordmarks, hero lines, section headings, packaging, poster and slide titles — anywhere the circular skeleton and rounded stroke ends are meant to read as a decision.

The same personality carries into interface furniture — nav labels, buttons, card headings — provided you move up the axis. At 14–16px, Light 300 goes hazy on a light background; 500 or 600 is where UI text holds together, and one file covers that whole hierarchy. It handles short, generously set body copy at 17px and up too.

Where Quicksand struggles

No italics, and no obliques either. Confirmed five ways: no ital or slnt axis; one fonts {} block in METADATA.pb, style: "normal"; no italic variants in Google's API; italicAngle 0.0 and macStyle 0; and css2?family=Quicksand:ital,wght@1,400 is rejected outright. Ask a browser for italic and it synthesises a slant across a face never drawn to take one. Emphasis has to come from weight, colour, or a body font with real italics.

Long-form reading costs you width. Not because it is decorative — Google classifies it as a sans serif and so does its own metadata. The circular geometry simply puts fewer words on a line than a workhorse grotesque at the same size.

The range stops early at both ends. 300 is the floor, 700 the ceiling; the loudest Quicksand gets is Bold. And with no tabular figures, price columns and dashboards shift as digits change.

Latin only — confirmed by reading the cmap rather than the subset list. Ship Cyrillic or Greek and you need a second family plus a fallback that will not blend, because little else looks like this.

Single-storey by default is a strong opinion, and one some readers find harder at small sizes.

Which premium fonts Quicksand substitutes for

  • Proxima Soft (Mark Simonson Studio) and Helvetica Rounded are the two here whose names announce the rounded treatment Quicksand shares. If soft stroke ends are what you were paying for, this delivers them free. What it will not match is the skeleton underneath: check the a and g against your original, and turn on ss01 if they are two-storey.
  • Greycliff (Connary Fagen, 82) and GT Walsheim (Grilli Type, 80) are among the closest matches in this site's own comparisons — Greycliff tied with Proxima Soft at the top of the nine. Both match on register rather than metrics: friendly, geometric-leaning, brand-first faces used for the same jobs. Tonal substitute, never a drop-in: expect reflow, and expect to re-solve emphasis.
  • Agrandir (Pangram Pangram) and Brandon Grotesque (HVD Fonts) sit in the same geometric family of ideas. The likeliest break is the weight ladder: anything heavier than Bold or lighter than Light is outside Quicksand's axis.
  • Geogrotesque (emtype, 64) and Sofia Pro (Mostardesign, 68) score lowest of the nine, with Museo Sans (exljbris) sixth at 74. Into all three Quicksand carries the warmth and the geometric register, not the letterform quirks that usually motivate a licence purchase. Geogrotesque also belongs to the group here — with GT Walsheim — that ships Cyrillic, and Quicksand's cmap has none of it, so a multilingual brand loses coverage in the swap regardless of how the score reads.

Across all nine it substitutes on temperature, not metrics — convincing when the original was chosen to feel friendly, much less so when it was chosen for a particular a, italic or Black.

Pairing Quicksand

Pair on structure, not mood. Quicksand is low-contrast and geometric, with a half-em x-height, ascenders overshooting the caps and no italic. A companion should differ on at least two of those, or the page reads as an argument rather than a hierarchy.

The most productive partner is a serif with real stroke contrast and drawn italics carrying the running text while Quicksand handles headings — Lora, Source Serif Pro or Literata. Each solves the problem Quicksand cannot: emphasis inside a paragraph gets a real cursive form, not a synthetic slant.

For sans-on-sans, put a narrower, more neutral workhorse underneath — Inter, Source Sans 3 or Work Sans — and keep Quicksand for display. Avoid the near-neighbours: Comfortaa, Nunito, Poppins and Josefin Sans occupy the same rounded-geometric ground. Quicksand pairs with itself, but not subtly: 300 against 700 separates cleanly, 400 against 500 barely registers.

Licensing and self-hosting in plain terms

Quicksand is under the SIL Open Font License 1.1 — stated in name ID 13, pointed at scripts.sil.org/OFL by name ID 14, recorded as license: "OFL" in METADATA.pb.

  • You may use it commercially, on the web, in apps, in client work and in things you sell, and self-host, subset and modify it. fsType is 0 — installable embedding, no restrictions.
  • You must keep derivatives under the OFL and ship the licence with the files.
  • You may not sell the font alone, and the licence carries a Reserved Font Name — "... with Reserved Font Name 'Quicksand'" — so a modified release has to be renamed.

Self-hosting is one file. Google serves it as three @font-face blocks — latin, latin-ext and vietnamese — each declaring font-weight: 300 700. (METADATA.pb lists a fourth subset, menu, but that is a truncated face used only for the Google Fonts UI listing and css2 never serves it, so do not go hunting for a fourth file.)

Declare that 300 700 range yourself too. Leave the descriptor off and it falls back to its initial value, auto, which is less harmless than it sounds: the axis stays reachable either way, but WebKit — Safari's engine — also selects the face as though it were a plain Regular and lays synthetic bold on top of the real Bold. Measured in a WKWebView at 100px, font-weight: 700 comes out about 5% wider than the same text with the range declared, and font-synthesis: none brings it back exactly. Declaring the range once avoids the whole question.

Frequently asked questions

Is Quicksand free for commercial use? Yes, under the OFL 1.1: commercial use, embedding, modification and redistribution are all permitted. You cannot sell the font file on its own, derivatives must stay under the OFL, and a modified release must be renamed.

Does Quicksand have italics? No — neither drawn italics nor obliques, so a browser fakes the slant. The 2013 v2.0 release did ship true italics for every weight; the variable build does not, and no source explains why.

How many weights does it have, and is it variable? It is variable: one wght axis, 300 to 700, in a single file. Five named instances — Light 300, Regular 400, Medium 500, SemiBold 600, Bold 700 — everything in between available, nothing outside that range.

Why does Quicksand install as "Quicksand Light"? Because that is what the file says it is: fvar default 300, usWeightClass 300, name ID 1 "Quicksand Light". Google's catalogue metadata reports 400 instead. On the web it does not matter, since CSS ties wght to font-weight, whose initial value is 400.

Can I get a double-storey a and g? Yes — ss01 swaps in a two-storey a and a double-storey g with an open tail. Enable it with font-feature-settings: "ss01". It is the only stylistic set in the font, and it is not a unicase set, despite the 2013 version having had one.

Does Quicksand have a slashed zero? No. The zero feature makes exactly one substitution, zerozero.zero, and zero.zero is a composite of zero plus periodcentered offset to x 203, y 46 — a dotted zero, not a slashed one. Nothing else in the font produces a slash, so if your spec calls for one you need a different family.

Does it support Cyrillic, Greek or Vietnamese? Vietnamese yes, and properly: the tone-marked vowels and ₫ are present. Cyrillic and Greek, no — all 506 languages Google lists are Latin-script.

Is Quicksand good for body text? Better than its reputation, within limits. The constraint is width rather than legibility: keep it above roughly 16px, keep the measure short, and use 400 or 500 rather than 300 on light backgrounds.

Who designed Quicksand? Andrew Paglinawan, who started it in 2008 and is the only designer named in the font file and in Google's metadata. Thomas Jockin revised it in 2016 with him, and Mirko Velimirovic converted it to a variable font in 2019 — both credited in Google's description, neither in the binary. There is no foundry.

Is Quicksand on Google Fonts?

Yes, Quicksand is available for free on Google Fonts. Get Quicksand on Google Fonts ↗

Alternative For (9)

Quicksand is a free alternative to the following premium fonts:

[mostardesign] · sans-serif

Rounded geometric with soft terminals close to Sofia Pro's warmth

View all alternatives
[hvd-fonts] · sans-serif

Rounded geometric with soft terminals close to Brandon's warmth

View all alternatives
#3 Agrandir 78%
[pangram-pangram] · sans-serif

Similar rounded geometric character

View all alternatives
[connary-fagen] · sans-serif

Comparable friendly roundness

View all alternatives
[mark-simonson-studio] · sans-serif

Comparable friendly roundness

View all alternatives
[linotype] · sans-serif

Rounded geometric sans with friendly character

View all alternatives
[emtype] · sans-serif

Geometric sans with similar rounded terminals and friendly personality

View all alternatives
[grilli-type] · sans-serif

Rounded geometric with a playful character that closely echoes GT Walsheim's softness

View all alternatives
[exljbris] · sans-serif

Rounded geometric sans with the friendly warmth Museo Sans is loved for

View all alternatives

Compare Quicksand

See how Quicksand compares to other fonts side by side.

Variable Font Axes

Quicksand is a variable font with 1 axis you can fine-tune.

Axis Min Default Max
wght 300 400 700

Font Pairings

Fonts that pair well with Quicksand based on contrast and complementary design characteristics.

Quicksand + Ubuntu Mono
92/100
sans-serif + mono
Best for: Friendly, Warm
Education Healthcare Accessibility
Quicksand + Victor Mono
92/100
sans-serif + mono
Best for: Playful, Creative
Calistoga + Quicksand
83/100
display + sans-serif
Best for: Warm, Friendly
Lobster + Quicksand
83/100
display + sans-serif
Best for: Playful, Friendly
Education Healthcare
Permanent Marker + Quicksand
83/100
display + sans-serif
Best for: Playful, Creative

Performance

Key metrics for evaluating Quicksand in production.

Score
70 /100 Good
File Size
124.4 KB Light
Weights
9 (variable)
Languages
3 groups CDN delivery

Font Metrics

x-Height Ratio
0.503
Cap Height Ratio
0.7
Ascender
1000
Descender
-250

Fallback CSS Overrides

Apply these overrides to Arial to minimize layout shift when loading Quicksand.

@font-face {
  font-family: 'Quicksand Fallback';
  src: local('Arial');
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
  size-adjust: 97%;
}
woff2 Measured via Google Fonts API Metrics extracted from WOFF2

How to Use Quicksand

Copy these code snippets to quickly add Quicksand to your project.

Quick Start

CSS code for Quicksand

@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@100..900&display=swap');