Shopifont

Shopify Dawn vs Sense · Free, no signup · Last updated

Dawn vs Sense: Custom Font Setup Compared

Both Dawn and Sense expose the same six `--font-heading-*` and `--font-body-*` CSS variables, so the @font-face block and CSS variable override generated above paste cleanly into either theme — the only material difference is the default Assistant vs the theme's default heading face fallback.

Dawn is the Shopify OS 2.0 reference theme that ships with every new store and powers the largest install base of any free theme. Sense is Shopify's wellness-leaning free theme designed for health, beauty, and personal-care brands. Despite the different positioning, both themes are OS 2.0 and inherit Dawn's typography token convention — meaning the workflow to add a custom font is essentially identical. The differences are in defaults, fallback metrics, and the .section-header__heading vs .product-card__title selectors that pick up the override.

Generator

Formats
WOFF2 covers ~97% of modern traffic. Add WOFF / TTF only if you need legacy fallbacks.
Apply to
Controls which Dawn typography roots the CSS variable block overrides.

Live preview

Add to cart · Free shipping · 30-day returns

Drop a WOFF2 / WOFF / TTF file here to preview your actual font. The file stays in your browser — nothing is uploaded.

Paste these three blocks in order. They're independent files in your theme — copying one without the others won't break the store.

Step 1: @font-face CSS

Paste at the bottom of assets/base.css. Uses Liquid's asset_url filter — Shopify resolves the path at render time.

@font-face {
font-family: "My Brand Sans";
src: url({{ 'my-brand-sans.woff2' | asset_url }}) format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}

How to use this on Dawn vs Sense

  1. For a side-by-side migration: paste the same @font-face block into the bottom of `assets/base.css` on Dawn and into the bottom of `assets/base.css` on Sense.

  2. The CSS variable override block is byte-identical between the two — both themes read `--font-heading-family` and `--font-body-family` from `:root`.

  3. The settings_schema.json snippet is also portable: Dawn and Sense both honor `font_picker` and `select` types in the Theme Editor.

  4. Where the themes diverge is in their default fallback faces (Dawn uses Assistant; Sense uses the theme's default body face), so check that your custom face's `size-adjust` matches well enough that any swap is invisible.

Frequently asked questions

  • Which is easier to customize fonts on, Dawn or Sense?

    Equally easy. Both Dawn and Sense are OS 2.0 themes that read typography from CSS custom properties on `:root`, so the override block this site generates works on either with no edits. The "easier" theme is whichever you already have installed.

  • Do Dawn and Sense use the same CSS variable names for typography?

    Yes. `--font-heading-family`, `--font-heading-style`, `--font-heading-weight`, and the matching `--font-body-*` triplet are identical across Dawn and Sense. The variable convention is inherited from Dawn, which both themes derive from.

  • Can I move a custom-font setup from Dawn to Sense?

    Yes — copy your asset files into Sense's `assets/` folder, paste the same @font-face block into the bottom of `assets/base.css`, and append the same CSS variable override. The only file-path detail to double-check is whether you used the `asset_url` filter (you should have); if so, Shopify rewrites the path correctly on the new theme automatically.

  • Which theme has better typography defaults out of the box, Dawn or Sense?

    Subjective and audience-dependent. Dawn's neutral, low-contrast humanist sans that prioritizes legibility over personality. Sense's rounded, soft-edged typography that pairs cleanly with high-resolution lifestyle imagery. If your brand is more expressive, the health & wellness positioning of Sense probably aligns better. If you're in a general-purpose space, Dawn sets a closer baseline.