Shopifont

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

Sense vs Refresh: Custom Font Setup Compared

Both Sense and Refresh 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 the theme's default heading face vs the theme's default heading face fallback.

Sense is Shopify's wellness-leaning free theme designed for health, beauty, and personal-care brands. Refresh is a sport- and energy-leaning free theme tuned for high-saturation imagery and bold supporting copy. 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 .product-card__title vs .banner__heading selectors that pick up the override.

Generator

Faces(1 face)

Face 1·Regular 400

Formats

Each face becomes its own @font-face block. The filename field on each row defaults to a clean pattern, but you can paste the exact filename you uploaded if your foundry shipped it with a different name — no renaming required.

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

Upload your font files to the theme's assets/ folder, then paste this at the bottom of assets/base.css. Shopify's asset_url filter resolves the file paths 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 Sense vs Refresh

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

  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: Sense and Refresh both honor `font_picker` and `select` types in the Theme Editor.

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

Typography Kit

Skip straight to a finished result

Every step above, already done for you on Sense vs Refresh — a proven font pairing, the install code pre-built, the licensing confirmed, and a specimen so you see it before you ship it. One-time, instant download, no account.

See the Typography Kits$19 · one-time · instant download

Don't have a font yet? Creative Fabrica has 30,000+ web fonts with commercial licenses included — drop one into the @font-face block above and you're live. (affiliate)

Frequently asked questions

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

    Equally easy. Both Sense and Refresh 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 Sense and Refresh 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 Sense and Refresh. The variable convention is inherited from Dawn, which both themes derive from.

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

    Yes — copy your asset files into Refresh'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, Sense or Refresh?

    Subjective and audience-dependent. Sense's rounded, soft-edged typography that pairs cleanly with high-resolution lifestyle imagery. Refresh's high-contrast display headings sitting above utilitarian body copy. If your brand is more expressive, the sport & energy positioning of Refresh probably aligns better. If you're in a health & wellness space, Sense sets a closer baseline.