Migrating a textile, embroidery, and sewing store from WooCommerce to Shopify (2026)
How to migrate a sewing supplies, embroidery, or fabric store WooCommerce store to Shopify — fabric sold by the metre, thread colour systems, needle size variants, pattern downloads, and sewing retail Shopify setup.
Sewing and embroidery retail has a distinctive product data challenge: fabric is sold by the metre (a variable quantity product), thread comes in colour systems with hundreds of shades (DMC alone has 500+ colours), and many products have machine compatibility requirements. None of these map perfectly to Shopify's default product model — but all can be handled with deliberate variant and metafield design.
Sewing and embroidery product categories
- Fabric: Cotton, linen, silk, wool, jersey, denim, canvas. Sold per metre or in pre-cut fat quarters. Weight (gsm), weave, and pattern variants.
- Thread and yarn: Embroidery thread (6-strand), sewing thread, quilting thread, serger thread. Colour and weight variants. DMC, Anchor, Madeira colour systems.
- Needles: Hand sewing, embroidery, tapestry, beading, quilting. Size variants. Machine needles with brand compatibility.
- Embroidery hoops and frames: Wood and plastic hoops. Diameter variants. Machine embroidery hoops with machine compatibility.
- Stabilisers and interfacing: Cut-away, tear-away, water-soluble, fusible interfacing. Weight and width variants.
- Patterns: Paper patterns and digital patterns (PDF). Size range variants.
- Haberdashery: Buttons, zips, elastic, ribbon, bias tape, press studs. Width and length variants.
- Sewing machines: Domestic, overlocker, embroidery machines. High-value, feature metafields.
Fabric sold by the metre
Fabric is typically sold in continuous lengths from a roll. Customers select a quantity in metres (e.g., "2.5 metres"). This is a variable quantity product — not a fixed-pack product like most Shopify variants.
Shopify's standard variant model does not natively support "quantity in metres" as a unit of measure. Options:
- Pre-cut lengths as variants: "0.5m / 1m / 2m / 3m / 5m" as variant options. Practical for most fabric retailers. Customer multiplies if they need an odd length.
- Custom input via app: A metre quantity input app allows customers to enter a custom length. Price calculated as length × price per metre. More accurate but requires a Shopify app (Quantity Breaks, Measurement Price Calculator).
- Fat quarters as a separate product: Pre-cut 45×55cm squares sold individually or in packs of 4. Standard unit in patchwork and quilting.
During WooCommerce migration, fabric stores that use measurement price calculator plugins will lose that functionality in the standard Shopify migration. Flag these products with a textile.sold_per_metre = true metafield for post-migration app reconfiguration.
Thread colour systems and SKUs
Embroidery thread (particularly DMC 6-strand cotton) uses a standardised colour numbering system. DMC 310 is always Black, DMC 498 is always Christmas Red. Customers order by number.
In Shopify, each thread colour is a separate product, not a variant. This is because:
- 500+ colours far exceeds the 100-variant limit
- Customers search and order by colour number, not by "thread" as a category
- Each colour has individual inventory
During migration, WooCommerce thread products stored as a single product with 500 colour attributes need to be split into individual products (one per colour). k-sync handles this in the product splitting workflow — each variant in WooCommerce can be exported as an individual Shopify product with the colour number as the SKU.
product.metafields.textile.thread_brand = "DMC"
product.metafields.textile.colour_number = "310"
product.metafields.textile.colour_name = "Black"
product.metafields.textile.weight_tex = "25" // Thread weight
Machine compatibility for needles and hoops
Sewing machine needles are not universal — the needle system (130/705H for domestic machines, 16x231 for industrial etc.) must match the machine. Machine embroidery hoops must match the machine brand and embroidery field size.
Store compatibility as metafields:
product.metafields.textile.needle_system = "130/705H" // Universal domestic
product.metafields.textile.compatible_machines = "Brother,Janome,Singer,Husqvarna"
product.metafields.textile.hoop_size_mm = "130x180" // Width x Height
product.metafields.textile.compatible_with = "Brother PE800,Brother SE1900"
For large brands (Brother, Janome, Bernina), a compatibility lookup widget on the product page significantly improves conversion. After migration, this can be implemented as a Shopify metafield-driven filter on the machine accessories collection.
Product metafields for sewing supplies
| Metafield | Example | Product type |
|---|---|---|
| textile.fabric_composition | 100% cotton / 55% linen 45% cotton | Fabric |
| textile.fabric_weight_gsm | 120 / 150 / 200 / 280 | Fabric |
| textile.weave_type | Plain / Twill / Satin / Jersey | Fabric |
| textile.fabric_width_cm | 110 / 140 / 150 / 160 | Fabric |
| textile.wash_temp_c | 30 / 40 / 60 / Hand wash | Fabric |
| textile.sold_per_metre | true / false | Fabric |
| textile.thread_weight | 28wt / 40wt / 50wt / 60wt | Thread |
| textile.thread_ply | 2-ply / 3-ply / 6-strand | Thread |
| textile.needle_size_metric | 70 / 75 / 80 / 90 / 100 | Needles |
| textile.needle_type | Universal / Ballpoint / Stretch / Denim | Machine needles |
| textile.hoop_material | Beechwood / Plastic / Aluminium | Hoops |
| textile.stabiliser_type | Cut-away / Tear-away / Water-soluble | Stabilisers |
| textile.stabiliser_weight | Light / Medium / Heavy | Stabilisers |
PDF sewing patterns as digital products
PDF patterns are a significant product line for many sewing retailers, particularly indie pattern designers. In WooCommerce, these are type: downloadable products. In Shopify, use the Digital Downloads app or SendOwl.
For pattern products, size range variants are important:
- Option 1: Size range → "XS–M / L–XXL / Curve 14–28" (each download is a separate PDF optimised for a size range)
- Or: single download with all sizes included — no variant needed
After migration, ensure PDF files are re-uploaded to the Shopify digital delivery app and tagged as digital-download for no-shipping collection segmentation.
Post-migration checklist for sewing and textile stores
- Fabric composition and weight (gsm) metafields on all fabric products
- Fabric width (cm) and wash temperature metafields populated
- Sold-per-metre flag on all cut fabric products, measurement app installed
- Thread colour numbers as separate products (not variants) with colour code SKUs
- Needle system and machine compatibility metafields on all machine needles
- Embroidery hoop size and machine compatibility metafields on all hoops
- Stabiliser type and weight metafields on all stabiliser products
- PDF patterns set up as digital downloads with size range variants
- Machine accessories collection filtered by machine compatibility metafield
- Fat quarter products separated from by-the-metre fabric
Migrate your store with k-sync
Connect your WooCommerce store, validate your products, and push to Shopify in minutes. Free for up to 50 products.
Get started freeRelated reading
Migrating a luggage and travel accessories store from WooCommerce to Shopify (2026)
How to migrate a luggage, travel bags, or travel accessories WooCommerce store to Shopify — luggage specifications, airline compliance, TSA lock, warranty and durability claims, and luggage retail Shopify setup.
Migrating a motorcycle accessories store from WooCommerce to Shopify (2026)
How to migrate a motorcycle accessories, biker gear, or motorbike parts WooCommerce store to Shopify — helmet safety standards, CE-rated protective clothing, type approval for parts, fitment compatibility, and motorcycle retail Shopify setup.