> ## 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).

# Shaped Text

Shaped Text is a legacy text layer type, currently in Beta, that fills a built-in shape, a heart or a circle, with your text instead of laying it out along a straight line.

# Adding a Shaped Text layer

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

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

# Default layer

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

A new Shaped Text layer starts filled with placeholder copy already wrapped into the default Heart shape, so the effect is visible right away.

# Shape

The Shape control switches between the two built-in shapes:

* **Heart**: wraps the text into a heart silhouette. At the top of the heart the text splits into two separate columns around the shape's notch before merging into a single column toward the point.
* **Circle**: wraps the text into a round silhouette instead, with lines widening toward the middle and narrowing at the top and bottom.

Switching from Heart to Circle reflows the same text into a noticeably different shape:

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

Unlike Spiral Text or Warp Text, Shaped Text has no Font, Color, Character Spacing, Stroke, or Shadow controls on the canvas toolbar. Its only canvas-level controls are Fit and Transform.

# 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_18kkwzu.png)

Enabling this option lets the merchant's customer type their own text into the shape, 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_aclk05.png)

* **Label**: the field name shown to the customer in the personalization form.
* **Help text**: optional guidance text shown under the field.

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

* **Placeholder**: example text shown inside the empty field.
* **Max length**: the maximum number of characters the customer can enter.
* **Required**: whether the customer must fill in this field before ordering.
* **Move with bounding box**: keeps the box frame fixed and lets the text move and resize inside it (double-click to edit the text).

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

* **Is paragraph**: switches the field to a multi-line textarea, for longer text inputs. This is particularly useful on Shaped Text, since filling a shape with a longer passage reveals its silhouette much more clearly than a short phrase does.
* **Is numeric**: restricts input to numbers only.
* **Trim whitespace**: removes leading and trailing spaces from the customer's input.
* **Display swatches by characters**: shows one swatch per character typed, rather than one swatch overall.
* **Display layout swatches by text length**: shows a different layout swatch depending on how much text the customer has entered.
* **Text transform**: automatically transforms the input case (for example, to uppercase).
* **Custom regex**: validates the input against a custom regular expression.

# Personalize font

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

Enabling this option lets the customer choose their own font for the shaped text from a font library, the same folder-based picker documented in the Rainbow Text Personalization and Spiral Text articles.

# Personalize with color palette

![](https://storage.crisp.chat/users/helpdesk/website/-/b/3/c/1/b3c1fc6f21f6e800/image_xzmr8w.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_4lhz0.png)

Selecting a folder reveals the full set of fields:

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

* **Label**: the field name shown to the customer.
* **Required**: whether the customer must pick a color before ordering.

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

* **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_zzvjfc.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_g4cr67.png)

* **Label**: the field name shown to the customer.
* **Help text**: optional guidance text shown under the field.

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

* **Default color**: the color pre-selected before the customer changes it.
* **Required**: whether the customer must confirm a color before ordering.

Shaped Text does not have a Personalize with stroke palette option, since the layer type has no Stroke control to begin with.
