A fit FAQ and a clean size chart will not remove returns, but a wrong, inconsistent or missing one reliably creates them. This post gives you prompts to format and sanity-check a size chart from your own measurements, write a fit FAQ that answers what buyers actually ask, and spot the contradictions that lead to "too small" returns. It also includes a short script I ran to catch the chart errors a model tends to miss. The audience is a small fashion or D2C store, including Indian sellers where the same garment can be sold in S to XXL, numeric sizes and UK or US labels at once.
Status: the prompts are untested templates. I did not run them on a live model, and example outputs are hand-written and illustrative. The script output below is real.
Start with measurements you took, not numbers a model suggests
A model knows typical size charts. It does not know your kurta's chest width. If you let it generate numbers, you will publish a tidy chart that does not describe your product.
Build the input table yourself:
- Pick one reference garment per size from the finished stock, lay it flat, and measure it with a soft tape.
- Record garment measurements (flat, doubled where relevant) and, separately, the body measurements each size is designed for.
- Write the stretch note: "no stretch", "about 2 cm give", or "stretches a lot". Do not guess, test by pulling the fabric gently.
- Record the model's size and height in your photos, with the size they wear and how it fits.
- Note the wash shrinkage you have seen, if you have tested a sample. If you have not, leave it blank.
Run a consistency check before any AI sees the chart
Models are poor at arithmetic and ordering across a table, and a human typing a chart makes slips too. A short script catches the common ones: a size that is smaller than the one before it, and big jumps between sizes. I wrote this for the post and ran it on a deliberately flawed chart.
import csv, sys
rows = list(csv.DictReader(open(sys.argv[1])))
cols = ["chest_cm", "waist_cm", "length_cm"]
problems = []
for c in cols:
prev = None
for r in rows:
v = float(r[c])
if prev is not None:
step = v - prev[1]
if step <= 0:
problems.append(f"{c}: {r['size']} ({v}) is not larger than {prev[0]} ({prev[1]})")
elif step > 8:
problems.append(f"{c}: jump of {step:g} cm from {prev[0]} to {r['size']} looks large")
prev = (r["size"], v)
steps = {}
for c in cols:
vals = [float(r[c]) for r in rows]
steps[c] = sorted({round(b - a, 1) for a, b in zip(vals, vals[1:])})
print("steps between sizes:", steps)
print("problems found:", len(problems))
for p in problems:
print(" -", p)
The test chart had five sizes (S to XXL) with an XL waist typed as 100 instead of 106, and XXL at a chest of 132. Output from running it on 2026-10-09:
steps between sizes: {'chest_cm': [6.0, 18.0], 'waist_cm': [-2.0, 6.0, 12.0], 'length_cm': [2.0]}
problems found: 3
- chest_cm: jump of 18 cm from XL to XXL looks large
- waist_cm: XL (100.0) is not larger than L (102.0)
- waist_cm: jump of 12 cm from XL to XXL looks large
The 8 cm threshold is my arbitrary choice for this example, not an industry rule, so set it from your own grading. The point is the pattern: even steps (6 cm chest, 6 cm waist, 2 cm length here) are normal for graded garments, and one odd step is almost always a typo or a measuring error. Fix the table first, then give the clean version to the model.
Prompt: format the chart and write the "how to measure" text
You help a clothing store publish a size chart. Use ONLY the measurements below. Do not add sizes, change numbers, round, or convert units unless I ask. If a value looks inconsistent with its neighbours, list it under CHECK and do not correct it.
PRODUCT: [NAME]
MEASUREMENT TYPE: [BODY RANGE or GARMENT FLAT], in [cm/inches]
STRETCH: [NO STRETCH / ABOUT X CM / STRETCHY]
TABLE (CSV): [PASTE]
MODEL: [HEIGHT] wears [SIZE]
Produce:
1. The table as clean Markdown, sizes in the order [S to XXL].
2. A 3 to 5 step "How to measure yourself" section for the columns used (chest, waist, hip, length), plain language, no jargon, no brand claims.
3. A one-sentence line saying whether the chart shows body or garment measurements, in words a first-time buyer understands.
4. A CHECK list of anything unusual.
Run the script on the same data and compare the two CHECK lists. If the model flags something your script did not, look at it. If the script flags something the model missed, trust the script.
Prompt: the fit FAQ, built from real questions
The best fit FAQ answers the questions already hitting your inbox, chat and return notes. Collect 20 to 50 real messages and returns comments (remove names, phone numbers and order IDs first, see what not to paste into ChatGPT). Then:
Below are customer messages and return reasons about size and fit for our [PRODUCT TYPE]. Customer details have been removed.
1. Group them into themes (e.g. runs small, sleeve length, between sizes, shrinkage, stretch, model height confusion) with a count for each theme.
2. For each theme, draft an FAQ answer of at most 45 words that uses ONLY the facts in the FACT SHEET and SIZE TABLE below.
3. If the facts do not answer a theme, write [NEEDS INFO: what I should measure or check] instead of answering.
4. Rank the themes by count.
FACT SHEET: [fabric, stretch, shrinkage tested or NOT TESTED, model size and height]
SIZE TABLE: [PASTE CLEAN TABLE]
MESSAGES:
[PASTE]
The NEEDS INFO line is the useful bit. A model will otherwise write "our kurtas fit true to size", which you cannot know unless you have compared against something. Treat "true to size" as a claim that needs evidence, such as "garment chest of 102 cm in size M, which gives 10 cm of room over a 92 cm body chest". Only write that sentence if the numbers are yours.
An illustrative answer in the right shape (hand-written, using the made-up numbers from the test chart above):
Q: I'm between M and L. Which should I pick?
A: Size M measures 102 cm across the chest and L measures 108 cm. If your chest is 94 to 96 cm and you like a loose kurta, take L. If you like it closer to the body, take M. This fabric has no stretch. [Illustrative only.]
Prompt: ease and fit labels without making things up
Fit words ("regular", "relaxed", "slim") mean nothing unless tied to a number. Ask the model to propose labels from your own ease figures.
For each size, compute ease = garment chest minus body chest (use the midpoint of the body range). Show the arithmetic. Then suggest a fit label using these thresholds that I define: slim under [X] cm, regular [X] to [Y] cm, relaxed over [Y] cm.
Do not use thresholds other than mine. Round to one decimal.
DATA: [PASTE]
You must define the thresholds. There is no universal one, and I did not find a standard I would trust. Check the arithmetic yourself, or run it in a spreadsheet, since models make small calculation errors.
Size labels across India, the UK and the US
Indian shoppers meet several systems: S/M/L, numeric chest sizes (36, 38, 40), UK sizes and US sizes. Pick one primary label for the product and show conversions only if you can back them. A model will happily produce a conversion table from memory, and brands differ. Do this:
- Put the conversion in a table that you have checked against your own garments or your supplier's sheet.
- Add a one-line warning if your sizing runs differently from a famous brand, only if you have measured a comparison.
- Never write "equivalent to UK 10" unless you set the rule yourself.
If you list on Google, there is a related technical requirement. Google's Merchant Center help page for the size attribute (read 2026-10-09) says it is required for free listings, and for Shopping ads on clothing and shoe products when targeting Brazil, France, Germany, Japan, the UK or the US. It says to submit each size variant as a separate product with the same item group ID, to give one size per product, to use a consistent format such as S, M, L, and that values like "n/a", "none" or "multisize" are not allowed. The page also describes optional size type (for cuts like petite or oversize) and size system attributes (such as US or FR). Page content can change, and I read it through a summarising fetch, so check the exact wording and the rules for your country on Google's page before you rely on it. A tidy size chart and tidy size values in your catalogue come from the same habit: one consistent label per size.
Where to put the size information
The best place is where the buyer decides, not in a footer:
- A "Size and fit" link right next to the size selector that opens the chart.
- Two lines under the product title: model height and size, fit label, stretch note.
- A short fit FAQ on the product page, limited to the 3 to 5 questions your messages show most.
- The same facts in your support macros and any WhatsApp replies, so every channel says the same thing. The returns and FAQ support prompts show how to turn fit answers into saved replies with escalation rules.
On the page itself, keep the chart as real text or an HTML table, not an image of a table. Text can be read by screen readers, translated, copied and searched. If your supplier gives you a chart as an image, retype it and run the script above.
Photos and models are part of fit information
If your product photos show a model, give their height and the size they wear in plain text under the photo. A buyer cannot judge fit from a thin model wearing a size you do not name. If you edit product photos with AI, follow the checks in the AI product photos workflow: proportions drift in generated images, and a garment that looks longer or looser in the picture than it is turns into a fit return. For an alternative way to look at your own photos, ask a vision model to list the visible features and compare them to your spec, as described in the Claude vision guide.
What should you measure after you publish?
Track fit-related returns separately from other reasons. A simple routine:
- Add return reason tags in your returns flow: too small, too large, not as pictured, quality, other.
- Every month, for each product with a decent number of orders, record the share of returns tagged too small or too large.
- Change one thing at a time (chart, model information, FAQ) and note the date.
- Compare the same products across months, not different products against each other.
I have no data on how much a better chart changes returns, and every figure I could quote would be invented. Your own tags are the only answer that matters, and with low order volume you may need months before a pattern shows.
Failure cases to check before you publish
| Failure | What it looks like | Fix |
|---|---|---|
| Invented numbers | A chart with round, even values you never measured | Rebuild from your tape measure; run the script |
| Mixed units | Chest in cm, length in inches | One unit per table, state it in the heading |
| Body and garment mixed | "Chest 100" without saying what it is | Label the table type in one sentence |
| "True to size" with no basis | FAQ claims a fit with no comparison | Replace with measured ease or delete |
| Stale chart after a supplier change | New batch is cut differently | Re-measure each new batch before reusing the chart |
| Different sizes on different channels | Website says M is 102, marketplace says 104 | Keep one master table and copy from it |
Collection pages are another place fit information helps; the collection page SEO workflow shows how to write buying guides from real product data. Marketplaces often have their own size-chart fields. The listing prompts for Amazon, Flipkart and Meesho sellers cover those channels, so check their current seller guidance for what each one requires.
If your garment measures differently from the chart because of manufacturing tolerance, say so honestly in the FAQ ("measurements may vary by 1 to 2 cm") only if your supplier or your own spot checks confirm that range. Otherwise skip the line.



