Initializing…
Workspace
in
in
Preview the patch on a garment color. It is only shown on screen.
Layers{{ layers.length }}
No layers yet.
{{ layer.label }} {{ layer.customType }} size tag
Patch {{ inchLabel(patchInfo.width) }} × {{ inchLabel(patchInfo.height) }}
{{ w }}
Patch Type
No patch types are offered right now.
{{ money(totalPrice) }} per patch counting stitches… add artwork to price the patch
{{ l.label }} {{ l.detail }}{{ money(l.amount) }}
{{ buyBlocked }}
{{ cartQty }} × {{ money(totalPrice) }} = {{ money(Math.round(totalPrice * cartQty * 100) / 100) }}
{{ cartResult.text }} View cart
Saved at {{ money(lockedPrice) }}.
{{ patchTypeDef?.description || '' }} Saving the patch locks in its price.
Shape
Follows the artwork's silhouette. Holes are filled and tight notches smoothed so the border can be stitched.
Wraps the artwork like a rubber band - no inward curves.
Fitted around all the artwork - every layer is part of the patch.
{{ inchLabel(patch.gap) }}
{{ inchLabel(patch.smooth) }}
{{ inchLabel(patch.corner) }}
{{ patch.alphaMin }}%
Satin Border
{{ inchLabel(patch.border) }}
{{ getColorDisplayName(patch.thread) }}
From the design
{{ patchLook.base }}{{ patchLook.base === 'Twill' ? ' Background' : '' }}
{{ getColorDisplayName(patch.twill) }}
{{ patchLook.hint }}
Artwork colors: {{ patchInfo.colors }}
Size
in
in
Scales the artwork; the {{ patch.edge === 'sewn' ? 'border and gap keep their' : 'gap keeps its' }} size.
Production
{{ inchLabel(patch.bleed) }}
Align
{{ zoomLevel }}%
Embroidery {{ embroideryItems.reduce((s, e) => s + (e.visible ? e.stitches : 0), 0).toLocaleString() + ' st' }}
Your saved designs from the Embroidery Builder, sewn on the twill at their real size (move or rotate them; they don't scale). Priced by their saved stitch counts, the same on Printed and Embroidered patches. Click a color to change every part sewn in it - the saved design itself is not changed.
Colors {{ colorGroups.length }} Group{{ colorGroups.length !== 1 ? 's' : '' }}
No customizable colors detected.
{{ cg.label }} {{ getColorDisplayName(cg.color) }}
Template {{ templateLayerSel.name }}
This template has no text or image fields. Change its colors in Appearance below.
Placeholder Artwork
Artwork Slot
Replace this placeholder with your custom logo or art in the exact same position and size.
Vector
Apply puts the result in its place and saves it to My Artwork with the original. Free, nothing is charged.
AI
Layer Type
Type
Fixed Size
Selection
Multiple Objects Selected
Transform
Position X
Position Y
Width
Height
Mirror
Scale %
Rotate
Opacity
{{ propOpacity }}%
Appearance
Vector Colors
{{ getColorDisplayName(vc.color) }}
Blend
Adjustments {{ adjActiveCount }}/{{ adjLayers.length }} on
Adjustments sit on top of the image and never change the original. Toggle, reorder or delete them at any time.
{{ adjustmentLabel(layer.type) }} {{ layer.opacity }}%
Inverts every color. No settings.
Levels
Level
Opacity
{{ layer.opacity }}%
Text
Content
Font {{ propFont }}
Artboard: {{ artboardW }}" × {{ artboardH }}" Layers: {{ layers.length }} Tool: {{ activeTool }}
Duplicate Ctrl+D
Flip Horizontal
Flip Vertical
Copy Ctrl+C
Paste Ctrl+V
Delete Del
▶ Console
{{ l.time }}{{ l.msg }}
{{ artFileDropHint }} JPG, PNG, WebP, GIF, SVG, PDF, AI or EPS · up to 50 MB (larger images are compressed to fit)
{{ guestArtCount }} image{{ guestArtCount === 1 ? '' : 's' }} saved in this browser only. Create a free account to keep {{ guestArtCount === 1 ? 'it' : 'them' }} in My Artwork.
Uploading {{ artUploadSummary.active }} file{{ artUploadSummary.active === 1 ? '' : 's' }}… {{ artUploadSummary.failed }} upload{{ artUploadSummary.failed === 1 ? '' : 's' }} failed Uploads complete
{{ u.name }}
{{ u.error }}
{{ u.note }}
AI Studio ${{ aiStudioCost.toFixed(2) }}
{{ job.label }}
{{ job.message }} · replaced the selection
{{ a.svg_url ? 'Vector' : 'Image' }}
Results are also saved in My Artwork.
No spot colors found.
{{ c.name }}
{{ c.hex_code.toUpperCase() }}