We had a slight issue with our order. The team at TKO instantly corrected it and provided exactly what we were after.
These guys are the best in the business.
You're the one who volunteered to sort out the jerseys. Eighteen players, every size under the sun, a logo someone emailed in the wrong format, and a registration deadline closing in. We've done this with 8,500+ teams across North America, so we already know what you need and we make it easy.
Every jersey is fully sublimated and built to your team's exact colours, logos, names, and numbers. No setup fees, no art charges, no chasing a designer. Send us your idea and we handle the rest.
Everything below is custom built to order for your team. Tap any item for pricing, options, and details.
Every jersey is fully sublimated and built to your team's exact colours, logos, names, and numbers. No setup fees, no art charges, no chasing a designer.
Get asked about traditional stitched or tackle-twill jerseys a lot? Here's the straight answer: we build fully sublimated jerseys on purpose, because for the way teams actually play, they're the better jersey. With sublimation, the design, names, numbers, and logos are dyed right into the fabric instead of sewn or pressed on top.
League requires a stitched twill crest? We can supply twill jerseys too — just reach out and we'll set you up. Note that twill timelines run longer than our standard 3 weeks. For everyone else, sublimation gives you a sharper, lighter, longer-lasting jersey for the money.
Not sure what to order? Use the charts below to find the right fit for every player. When in doubt, measure a jersey the player already wears and compare to our numbers. All measurements are in inches.
| Size | Length (L) | Width (W) |
|---|---|---|
| XS | 27" | 20" |
| S | 28" | 21" |
| M | 29" | 23" |
| L | 31" | 24" |
| XL | 33" | 26" |
| XXL | 33" | 28" |
| 3XL | 34" | 29" |
Length is shoulder-to-hem; width is armpit-to-armpit. All sizing is subject to a 1" manufacturing tolerance.
Length: shoulder → hem. Width: armpit → armpit, jersey laid flat.
| Size | Length (L) | Width (W) |
|---|---|---|
| YXS | 21" | 16" |
| YS | 23" | 18" |
| YM | 24" | 19" |
| YL | 25" | 20" |
| YXL | 26" | 21" |
Youth jerseys run a touch looser through the body for easier layering over pads.
Goalie cut runs wider — measure over chest pads, not against the body.
| Size | Length (L) | Width (W) |
|---|---|---|
| Youth GC | 26" | 23" |
| Intermediate GC | 32.5" | 25" |
| Senior GC | 33" | 33.5" |
Cut wide and long to fit over chest protectors and pads. Order one size up if between sizes.
Length is measured laid flat; knit socks stretch and conform to the calf.
| Size | Length | Stretch Range |
|---|---|---|
| Small (Youth) | 21" | 4.5"–9.5" |
| Medium (Intermediate) | 25" | 5.5"–10.5" |
| Large (Adult) | 30" | 6.5"–11.5" |
Knit elastic (85% acrylic / 15% spandex). Sizes fit players within the stretch range.
Width armpit-to-armpit; length shoulder-to-hem, laid flat.
| Size | Width | Length |
|---|---|---|
| MXS | 20" | 26.5" |
| MS | 21.5" | 28" |
| MM | 22.5" | 29" |
| ML | 23.5" | 30.5" |
| MXL | 25" | 31.5" |
| M2XL | 26.5" | 32.5" |
| M3XL | 28" | 34" |
| M4XL | 29.5" | 35" |
| M5XL | 31" | 36" |
±0.5" tolerance. 100% polyester lightweight knit.
Width armpit-to-armpit. Length shoulder-to-hem.
| Size | Width | Length |
|---|---|---|
| K2T | 12" | 14" |
| K3T | 12.5" | 15" |
| K4T | 13" | 16" |
| K5T | 14" | 17" |
| K6T | 14.5" | 19" |
Width armpit-to-armpit. Length shoulder-to-hem.
| Size | Width | Length |
|---|---|---|
| YS | 15" | 22" |
| YM | 16" | 23" |
| YL | 17" | 24" |
| YXL | 18.5" | 25.5" |
Width armpit-to-armpit. Length shoulder-to-hem.
| Size | Width | Length |
|---|---|---|
| WXS | 18" | 26" |
| WS | 19" | 27" |
| WM | 20" | 28" |
| WL | 21.5" | 29" |
| WXL | 23.5" | 30" |
| W2XL | 25.5" | 31" |
| W3XL | 27" | 32" |
| W4XL | 28" | 33" |
Waist is a full circumference; length is waist to bottom of shell.
| Size | Waist | Length | Leg Width |
|---|---|---|---|
| AS | 38–40" | 21" | 12" |
| AM | 40–43" | 22" | 13" |
| AL | 43–46" | 23" | 14" |
| AXL | 45–49" | 24" | 15" |
| A2XL | 49–52" | 25" | 16" |
Ballistic nylon exterior, mesh lining. ±0.5" tolerance.
Waist: full circumference. Length: waist to bottom of shell. Leg width: across the leg opening.
| Size | Waist | Length | Leg Width |
|---|---|---|---|
| YS | 29–33" | 14" | 10" |
| YM | 32–35" | 15" | 10.5" |
| YL | 34–36" | 16.5" | 11" |
| YXL | 36–38" | 17.5" | 11.5" |
Waist is a range for fit preference. Shells are oversized to fit over hockey pants.
Match to skate size. Player number is embroidered on both soakers.
| Size | Skate Size Range |
|---|---|
| Youth | Up to 13 Y |
| Junior | 1.0 JR – 5.0 JR |
| Senior | 6.0 SR – 13.0 SR |
Mesh and absorbent liner.
Length shoulder-to-hem; width armpit-to-armpit.
| Size | Length | Width |
|---|---|---|
| XS | 27" | 22" |
| S | 28" | 23" |
| M | 29" | 24" |
| L | 30" | 25" |
| XL | 31" | 26" |
| 2XL | 32" | 27" |
| 3XL | 33" | 28" |
Nylon exterior, quilted lining. ±1" tolerance.
Length shoulder-to-hem. Width armpit-to-armpit.
| Size | Length | Width |
|---|---|---|
| YXS | 21" | 16" |
| YS | 23" | 17" |
| YM | 25" | 18" |
| YL | 26" | 19.5" |
| YXL | 28" | 21" |
Three steps from idea to ice. Our production clock starts when your design is approved and paid — give yourself a little runway to collect sizes, names, and payments from the team.
Send your logo or idea. We create free mockups and a 3D design and revise until it's perfect. No charge, no commitment.
Confirm the look, then approve the print proofs that show every name, number, and detail for your full roster. Nothing prints until you say so.
Your custom hockey jerseys arrive in 3 weeks. Need to reorder later, even one piece? Done.
Our standard production time is 3 weeks from the date your order is approved and paid, plus shipping. That's consistently faster than the 4–6 week industry norm.
Everything. Custom design, names, numbers, team and sponsor logos, and your colours are all included in the listed price. There are no separate setup or customization charges.
🍁 League compliance: if you play OMHA minor hockey, yes — the STOP patch is required. Competitive teams (Rep, Select, AA, AAA) also need the Canadian flag patch. Tell us your league and level and we add what's required as standard.
Yes. Most leagues require a distinct light and dark jersey. Once your design is approved we build colour-matched home and away versions, usually ordered together.
No. A rough idea of your colours and a logo is plenty. Our design team builds it from there, free of charge.
Yes, in Youth, Intermediate, and Senior cuts, built to fit comfortably over full goalie equipment. Goalie sizing is listed in the chart above.
Our specialty is fully sublimated jerseys, where the design is dyed into the fabric so it can't crack, peel, or fade, and there's no per-letter charge for names, numbers, or logos. It's lighter, fully customizable, and faster to produce than stitched twill. That said, if your league requires a stitched twill crest, we can supply twill jerseys too — just reach out and we'll set you up. Keep in mind twill timelines run longer than our standard 3 weeks.
Youth (YXS–YXL), Adult (XS–3XL), and Goalie cuts. The adult cut is a standard athletic fit worn by players of all builds; if you'd like guidance, measure a jersey you already wear and match it to the chart, or just ask us.
If the order hasn't gone to production, we can add them. If it has, we run a quick reorder. Your design stays on file, so reorders match exactly with no minimum.
Yes, both. Shipping is $20 for up to 10 items, plus $2 per item after that. Free pickup is available at our Woodstock, Ontario shop.
Yes. We carry your jersey design across hoodies, pant shells, bags, toques, and more so the whole team matches on and off the ice.
Send us your idea. We'll have a free 3D mockup back to you within 24–48 hours. No commitment, no obligation.