> For the complete documentation index, see [llms.txt](https://sitesbyseth.gitbook.io/sitesbyseth-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sitesbyseth.gitbook.io/sitesbyseth-docs/skeleton/size-finder.md).

# Advanced

The size finder is Skeleton's answer to "will it fit?" — the single biggest reason clothing shoppers hesitate. A customer taps **Find your size** on a product page (or in quick view), enters height and weight in metric or imperial, and gets a size recommendation calculated from **your** size chart and how **that piece** fits. Their result is remembered and shown as a small badge on every Find your size link afterward.

This page covers the chart format, fit profiles, garment types, per-product size charts, and — in plain words — how the math works.

## The chart format

Everything starts with one setting: **Theme settings → Size finder → Size chart (measurement limits)**. One size per line, three values separated by commas:

```
S,170,65
M,178,80
L,186,95
XL,999,999
```

Each line means: **size name, max height in cm, max weight in kg**.

* `S,170,65` — S fits customers up to 170 cm tall and 65 kg.
* Lines must go from smallest size to largest.
* Use `999` on your largest size to mean "no upper limit."
* Size names should match your product variant sizes (S, M, L, XL, 2XL…). The finder understands common spellings — "Small," "SM," "2XL," "XXL" are all recognized.

**Where do the numbers come from?** Take each size's garment measurements and ask: what's the tallest, heaviest person this still fits comfortably? If you don't have fit-test data, start with the defaults above (a standard men's streetwear curve), sell a few weeks, and adjust from exchange requests.

⚠️ If the box is empty or the lines don't have three comma-separated values, the finder has nothing to work with and shows "No matching size found — check the size chart."

## Fit profiles

A fit profile tells the finder how a piece is cut relative to the chart:

* **True to size** — no adjustment.
* **Runs small — recommend sizing up** — nudges the recommendation up by three-quarters of a size.
* **Runs large — recommend sizing down** — nudges down by three-quarters of a size.
* **Oversized / relaxed fit** — nudges down a full size, since the garment already carries extra room.

Set the store-wide default under **Theme settings → Size finder → Default fit**, and override per product template on the **Find your size** block (**How this piece fits**). When an adjustment was applied, the customer sees a note like "Adjusted down — this piece runs large" under their result, which builds trust in the number.

## Garment types

The garment type controls how much **height** matters relative to **build**:

* **Tops / tees / hoodies** — length matters a lot: a tall, slim customer is pushed up a size so sleeves and hem are long enough.
* **Bottoms / pants** — length pulls only gently (inseams are often hemmed anyway); waist/build dominates.
* **Outerwear / jackets** — like tops.
* **Dresses / one-pieces** — length matters most of all.

Default under **Theme settings → Size finder → Default garment type**; per-product override on the **Find your size** block.

## How the math works, in plain words

The finder estimates two separate demands and blends them:

1. **Girth (chest/waist)** — the main driver of whether a garment fits. It's estimated two ways and averaged: from the customer's weight against your chart's weight limits (65%), and from their BMI — weight adjusted for height — mapped onto a universal XS–3XL curve (35%). The BMI part stops a tall-but-slim customer from being treated like a heavy one.
2. **Length** — the customer's height against your chart's height limits.

Then the blend is deliberately lopsided: a garment **must** accommodate girth, so when the body is long for its build, length pulls the size **up** strongly (tall + slim → size up so it's long enough), but when the body is short for its build, it pulls **down** only slightly (short + broad still needs the girth). How strong that pull is depends on the garment type above.

Finally:

* The fit profile shifts the result (e.g. −1 size for oversized).
* The result rounds to the nearest size on your chart. If it lands just under a size boundary, the customer also sees "You're between sizes — take \[the next size up] if you like it roomier."
* The recommendation **snaps to sizes the product actually has**: if the math says M but this product only comes in S/L, the nearest real size wins (larger preferred). It only considers the product's size option, so sold-out or nonexistent sizes are never recommended.

Height must be 120–230 cm and weight 30–250 kg — anything outside that gets "Enter your height and weight" rather than a junk recommendation. Imperial users type weight in pounds and height as feet-inches (typing `511` auto-formats to `5'11`); the theme converts internally.

## Per-product size charts (the metafield)

Besides the calculator, the modal has a **View size chart** button that shows a chart image. There are two levels:

* **Global charts** — up to three stacked images (plus an optional page) under **Theme settings → Size finder**. Shown for every product that doesn't have its own chart.
* **Per-product chart** — an image on the product's `custom.size_chart` metafield. When present, it **replaces** the global images for that product.

To set up the per-product metafield (once):

1. In your Shopify admin, go to **Settings → Custom data → Products**.
2. Click **Add definition**.
3. Name it **Size chart**. Click the **Namespace and key** field and set it to exactly `custom.size_chart`.
4. Set the content type to **File**, and accept image files. Save.
5. Now open any product (**Products → your product**), scroll to the **Metafields** section at the bottom, and upload that product's chart image into **Size chart**.

Products with no per-product chart and no global chart simply don't show the View size chart button — the calculator still works.

💡 The measurement-limits chart (the `S,170,65` lines) is one global setting — it doesn't change per product. The per-product metafield changes only the chart **image**. If different product types need genuinely different curves (e.g. numbered pant sizes), lean on the garment type + fit profile overrides, and put the detailed numbers in that product's chart image.

## Quick test before launch

1. Open a product, tap **Find your size**.
2. Enter 178 cm / 75 kg → with the default chart you should see **M**.
3. Enter 191 cm / 71 kg (tall and slim) → the recommendation should move up, not down.
4. Switch to Imperial, type `511` and 165 lb → same ballpark answer.
5. Check the **View size chart** button shows the right image on a product with a metafield chart, and the global one elsewhere.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sitesbyseth.gitbook.io/sitesbyseth-docs/skeleton/size-finder.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
