T-shirt order form
A shirt order goes wrong in the sizes, not the design. This form gives each size its own number field, so a team, a club or an event can order a mixed run in one submission, and the export gives you one column per size to add up. Ask for the print text as a long text box so the wording arrives exactly as the customer typed it.
The form beside this text is live. Fill it in and submit it — it validates exactly as it would for a real respondent, and saves nothing.
One number field per size
Each size is its own number field, so quantities are validated in the browser and "two" or a blank never reaches the export. In the CSV, every size is a column you can total with a spreadsheet formula.
Print text kept as typed
The print text is a long text field, so a name or slogan reaches your records verbatim rather than through a dropdown that cannot hold it. Spelling mistakes stay the customer's, and are visible before the shirts are printed.
No card required.
T-Shirt Order
Live previewHow to build this form
5 steps in the editor. Nothing here needs a paid plan.
- Add short text and email fields for the person ordering, plus an optional phone field for pickup or delivery questions.
- Add a dropdown for the style, such as crew neck or V-neck, so the choice is one of your own options rather than free text.
- Add one number field per size, XS to XXL, each with a placeholder of 0. A blank size reads as no shirts in that size.
- Add a long text field for the print text, and say in its label exactly how the name or slogan should be spelled.
- In Settings, add a webhook, Slack or Discord destination so each order reaches the person who fulfils it.
Fields in this form
12 fields, using 6 of the 19 field types available.
| Question | Field type | Required |
|---|---|---|
| Full name | Short text | Yes |
| Yes | ||
| Phone | Phone | Optional |
| Style | Select | Yes |
| XS — how many? | Number | Optional |
| S — how many? | Number | Optional |
| M — how many? | Number | Optional |
| L — how many? | Number | Optional |
| XL — how many? | Number | Optional |
| XXL — how many? | Number | Optional |
| Print text, spelled exactly as it should appear | Long text | Optional |
| Anything else we should know? | Long text | Optional |
What goes wrong with this form
Specific to a t-shirt order form, not general advice about forms.
One size field for the whole order
A single "size" box forces the customer to write "2 medium, 1 large" and you to parse it. One number field per size keeps each quantity in its own column, where it can be added up without reading anyone's sentence.
Printing from a free-text name without checking it
Ask for the print text in its own long text field and state in the label how it should be spelled. Names with accents, unusual capitals or a dropped letter are the commonest reprint, and a reprint costs more than the shirt.
Treating a blank size as an answer
A blank size means "none of this size", not "unsure". If you need to know that a team has picked a size at all, put that in the form as a required field rather than inferring it from the export.
Questions about this form
How do I make a t-shirt order form?
Give each size its own number field, XS to XXL, so the quantities add up cleanly. Use a dropdown for the style with its price in the label, and a long text field for the print text. Add name and email as required fields so you know who to invoice.
Can a customer order several sizes in one submission?
Yes. Every size is a separate number field, so one order can hold any mix of sizes, each with its own quantity. Leave a size blank to order none of it.
Does the form calculate the total price?
No. The form collects sizes, quantities and the style. Totals are for you or your spreadsheet to calculate from the CSV export, and you invoice the customer separately. Payment is not taken on this form.
More ecommerce templates
- Payment RequestCollect who owes what, for what invoice, and how they plan to pay.
- OrderTake orders with quantity, delivery details and notes.
- Return RequestProcess product returns with reason, refund preference and optional damage photo.
- Gift RegistryShared registry list where guests mark items they are bringing.
- Product Sample RequestLet wholesale or bulk customers request a sample before placing their first large order.
- Price Match RequestCustomer requesting to match a competitor's price on an order.
- Warranty ClaimCollect product defect claims and let customers request repair, replacement, or refund.
- Bulk Order RequestBusiness customer requesting wholesale or bulk pricing from you.