I am putting together some small snippet to create Folder/SG/Page/Component automatically using CoreService.

I am in need to know what are all the special characters (including empty space) Tridion supports as "Folder Name" , "StructureGroup Name" and "StructureGroup Directory" Name.

Is there any configuration file which Tridion using to find and encode the allowed special characters?

Regards Jey

3 Answers 3


Besides everything from @Chris and @Marko, you asked for the configuration file Tridion uses to handle this special characters, folder and SG naming rules, and you can find it in this location:


Limit names to use a-z 0-9 or language equivalent printable characters, avoid special characters.

Avoid using the characters that will generate problems for webdav, windows file paths, windows file names or reserved characters in web URL's.

It's also a good idea to limit the length of names to avoids stupidly long URL's that can break some file systems.

You may also consider limiting names to lowercase to avoid SHOUTING URL's and possible problems with case sensitive file systems.

See Tridion configuration file details from Raúl Escudero

Can only find reference to Customizing the System Schema in docs.sdl for Tridion 2011

To get you started avoid all characters in the lists below:-

Web reserved characters

! * ' ( ) ; : @ & = + $ , / ? # [ ] %


< & > # % * : ! ~ +


" < " (less than)
" > " (greater than)
" : " (colon)
" " " (double quote)
" / " (forward slash)
" \ " (backslash)
" | " (vertical bar or pipe)
" ? " (question mark)
" * " (asterisk)


/ (forward slash)


Besides everything mentioned by @Chris, you should also avoid dot(.) in folder name, because it will not be encoded in URL, so you will have to additionally encode it. There is also problem with saving component which is using keyword which has following characters:

  • <
  • >
  • &

To handle these situations, i suggest you create event system for save, move and copy actions where you will check titles for special characters:

EventSystem.Subscribe<Page, SaveEventArgs>(PageSave, EventPhases.Initiated);
EventSystem.Subscribe<Page, CopyEventArgs>(PageCopy, EventPhases.Initiated);
EventSystem.Subscribe<Page, MoveEventArgs>(PageMove, EventPhases.Initiated);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.