> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://customix.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Spiral Text

Spiral Text is a legacy text layer type, currently in Beta, that places text along an inward or outward spiral path instead of a straight line or a fixed curve.

# Adding a Spiral Text layer

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1mjoxky.png)

Open the Text tool in the template editor's left sidebar and choose Spiral Text from the list of layer types.

# Default layer

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1a86016.png)

A new Spiral Text layer starts with placeholder copy already wound into several rings, so the spiral path is visible right away instead of starting as a flat line.

# Font

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_a7apms.png)

The Font control on the canvas toolbar opens the same font library picker used by other legacy text layers: search or browse by folder, preview the typeface, and confirm to apply it to the whole layer.

# Color

The Color control sets a flat fill color for the text, entered as a hex value or picked from the color swatch. Depending on the zoom level, a subtle fill color change can be hard to spot directly on the canvas, so it is worth zooming in to confirm the value took effect.

# Character Spacing

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_do7777.png)

Character Spacing adds extra space between letters. On a spiral this is especially useful for keeping inner rings legible once the path tightens and letters would otherwise start to overlap. The screenshot above shows a spacing value of 20.

# Uppercase

The "Aa" toggle on the toolbar forces the spiral text to render in uppercase, regardless of how the underlying text was typed.

# Stroke

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1txticx.png)

Stroke adds an outline around each letter, with its own width and color, independent of the text's fill color.

# Shadow

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1f25tmy.png)

Shadow adds a drop shadow behind the text, with its own color, blur amount, and horizontal and vertical offset.

# Spiral shape

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_75gvkv.png)

This is the control set that defines the spiral path itself:

* **Inner radius**: how far from the center the spiral starts.
* **Ring spacing**: the distance between one ring of the spiral and the next. A larger value spreads the rings further apart.
* **Start angle (deg)**: the angle at which the text begins along the path.
* **Direction**: whether the text winds from the outer edge inward, or from the center outward.

With an inner radius of 50 and a ring spacing of 35, the text wraps into a loose, evenly spaced circle:

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1kbf48h.png)

Switching Direction to "Inner to outer" produces a dramatically different result, a tight multi-ring spiral instead of a single loose circle:

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1q4u2o6.png)

# Transform

The Transform panel controls the layer's position, size, and rotation on the canvas. It works the same way here as it does on every other layer type.

# Personalize text

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_180x4pj.png)

Enabling this option lets the merchant's customer type their own text into the spiral, instead of using the fixed placeholder copy. Checking it reveals a full set of fields:

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_191q4v.png)

* **Label**: the field name shown to the customer in the personalization form.
* **Required**: whether the customer must fill in this field before ordering.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_nzu5bf.png)

* **Help text**: optional guidance text shown under the field.
* **Placeholder**: example text shown inside the empty field.
* **Max length**: the maximum number of characters the customer can enter.

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1up9spg.png)

* **Move with bounding box**: keeps the text anchored to the layer's bounding box if it is resized.
* **Type range**: restricts input to a specific range of characters.
* **Is numeric**: restricts input to numbers only.
* **Fill in keypads**: shows a numeric keypad on mobile devices when this field is active.
* **Text length**: enforces a minimum and/or maximum character count.
* **Character set**: restricts which characters are allowed (for example, letters only).
* **Trim whitespace**: removes leading and trailing spaces from the customer's input.
* **Text transform**: automatically transforms the input case (for example, to uppercase).
* **Custom regex**: validates the input against a custom regular expression.

# Personalize font

Enabling this option lets the customer choose their own font for the spiral text from a font library, the same folder-based picker documented in the Font section above and in the Rainbow Text Personalization article.

# Personalize with color palette

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_snaa2r.png)

Enabling this option lets the customer pick the text's fill color from a predefined palette, rather than free-picking any color. The palette is built from a folder in the Colors asset library:

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_xuxv7z.png)

Selecting a folder reveals the full set of fields:

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1162l7b.png)

* **Label**: the field name shown to the customer.
* **Required**: whether the customer must pick a color before ordering.
* **Values**: the list of colors from the selected folder, shown to the customer as swatches.
* **Folder**: the Colors library folder the swatches are pulled from. Click it to replace it with a different folder.
* **Display type**: how the swatches are rendered to the customer (for example, as circles or squares).
* **Add value**: adds an extra color on top of the folder's contents.

# Personalize with color picker

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_utsu27.png)

Unlike the palette option above, this lets the customer pick any color freely, rather than choosing from a predefined set:

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_zqhrpt.png)

* **Label**: the field name shown to the customer.
* **Help text**: optional guidance text shown under the field.
* **Default color**: the color pre-selected before the customer changes it.
* **Required**: whether the customer must confirm a color before ordering.

# Personalize with stroke palette

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1eas4uh.png)

This works exactly like Personalize with color palette above, except it applies to the Stroke color instead of the text's fill:

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_1jwslg2.png)

* **Label**: the field name shown to the customer.
* **Required**: whether the customer must pick a stroke color before ordering.
* **Values**: the list of colors from the selected folder, shown to the customer as swatches.
* **Folder**: the Colors library folder the swatches are pulled from.
* **Display type**: how the swatches are rendered to the customer.
* **Add value**: adds an extra color on top of the folder's contents.
