Multi-line PCB Text Support

Old Content - visit altium.com/documentation

In this latest release of Altium Designer, the PCB Editor’s String object now supports text that can extend over multiple lines. This is facilitated through the introduction of dynamic word wrap within the text bounding box, and applies to both Stroke and True Type font styles.

The new multi-line string function enhancements greatly simplify the task of adding substantial sections of text into PCB layouts, such as that often included to provide technical, mechanical and assembly notes on board mechanical layers. The previous approach of assembling a series of single text lines to form pseudo multi-line text (a paragraph, in affect) can now be replaced by a single text object featuring true multi-line text.


Auto-wrapping multi-line text is functions with both Stroke and True Type fonts when text boundary box size is adjusted.

Dynamic Word Wrap

To enable multi-line text, the PCB Editor’s Text object offers variable dimensions at all times, edited by dragging the bounding box perimeter handles or by manually entering Width and Height dimensions in its associated String properties dialog.

Definable text box dimension are now always available for both Stroke and True Type fonts, as is text Justification.

Once a string is placed on the board (using Place » String, the menu icon or the P, S hotkeys) text is simply entered in the normal way, by double-clicking on the string to open the String dialog and populating its text Properties field.


Extended text is placed in the String dialog's text properties field as normal.

In the placed text object, text that exceeds the available bounding box width will automatically wrap to the next line, provided that the box offers sufficient height. In practice, the text will dynamically wrap over multiple lines as you manipulate the bounding box dimensions.


Text will automatically wrap when the text box width is adjusted.

Bounding Box Dimensions

The multi-line function has been implemented so that the complete text will be always be shown, so the minimum bounding box dimensions at any time is limited by the space occupied by the text, regardless of how it is wrapped. Therefore as you manipulate the box handles, they will simply stop responding once that minimum size is reached.

Also note that dimensions entered manually in the String dialog will be ignored if their combined area cannot accommodate the space occupied by the text itself.

In general however, if there is sufficient box height available, reducing the box width will cause the text to wrap to fit – and will automatically ‘unwrap’ when the box width is increased. The box height will not dynamically change or directly affect the text wrap, since this is determined by the available box width.

Forced line Breaks

To add further flexibility to the multi-line text feature, the String object also accepts forced line breaks (carriage return + line feed characters) which are inserted by simply pressing the Enter key while entering text in the String dialog. Forcing a break to a new line allows a multi-paragraph formatting approach, if required.


Placing a 'hard return' (Enter) in the String dialog text field will force a corresponding new line in the PCB text.

Existing functions

The addition of multi-line text capability flows to all associated text functions in Altium Designer. For example, the String object’s inverted text capability (True Type font only), including its Margin Border and Text Offset settings, also apply to multi-line text.

Multi-line text is also supported by the PCB Inspector and List panels, and importantly, in all project assembly and fabrication output documentation plus export utilities.

Note that the multi-line text capability is available for Free strings and does not apply to specialized strings such as component Designators and Comments etc.

 Backward compatibility

As you would expect, previous versions of Altium Designer (15.0 and earlier) will not be able to correctly process multi-line text objects that have been created in version 15.1. How this text is rendered in earlier versions can be considered and handled from two perspectives:

  • Where the PCB document has been created in version 15.1 with auto-wrapped multi-line text.
  • Where the PCB document has been created in version 15.1 with forced line breaks (CRLF characters) in multi-line text.

Auto wrapped text

When a PCB document with auto-wrapped text is opened in a previous version of Altium Designer, the string object will be converted to single line text.

This is because automatic text wrapping in version 15.1 is determined by the bounding box dimensions, and previous versions of Altium Designer will ignore this information. The string is simply rendered as normal, single line text. If the document is subsequently re-saved, the text reverts to single line text when opened in version 15.1.

Text with forced line breaks

When a PCB document that contains text with forced line breaks is opened in a previous version of Altium Designer, the string object will also be converted to single line text. However, the text will display a number of seemingly random characters at the forced line break points.

This is because forced text line breaks in version 15.1 are caused by the carriage return + line feed characters (CRLF) embedded in the text string – those created by pressing the Enter key when editing the text in the String properties dialog. They remain hidden in version 15.1, but previous versions will attempt to render the CRLF characters.

You can observe the embedded CRLF characters by copying the text from the String dialog Text field into a text editor that can display hidden characters – such as Notepad++ or similar.

To correct the string in a previous version of Altium Designer, there are two options :

  1. In the String dialog, edit the string to completely remove all spaces between the words where the CRLF is embedded, then insert a fresh space.
  2. In the String dialog, copy the contents of the text field (Ctrl+C), then immediately paste it back in (Ctrl+V). This is probably the most foolproof approach, as any hidden CRLF characters are simply ignored during the pasting process.
You are reporting an issue with the following selected text and/or image within the active document: