How to enable Cyrillic characters in deskStructure titles?

23 repliesLast updated: Nov 29, 2025

Is there a way to enable setting deskStructure title's in other languages? I get an error any time that I try adding titles in Cyrillic
AI Update

The issue you're encountering is a common one - Sanity's Structure Builder requires that list item IDs must contain only alphanumeric characters (letters A-Z, a-z, numbers 0-9, and sometimes hyphens/underscores). This means Cyrillic characters, emojis, and other Unicode characters aren't allowed in the id field.

However, there's good news: you can absolutely use Cyrillic (or any other language) in the title field. The id and title are separate properties:

Here's how to properly structure your desk configuration:

S.listItem()
  .id('events') // Must be alphanumeric
  .title('Š”Š¾Š±Ń‹Ń‚ŠøŃ') // Can be Cyrillic!
  .child(
    S.documentTypeList('event')
      .title('Все ŃŠ¾Š±Ń‹Ń‚ŠøŃ')
  )

Or with documentTypeListItem:

S.documentTypeListItem('artist')
  .id('artists') // Alphanumeric ID
  .title('Артисты') // Cyrillic title - totally fine!

The key is to always provide an explicit id() with alphanumeric characters, and then use title() for your localized display text. The Structure Builder uses the ID for internal navigation and routing (it appears in the URL), while the title is what appears in the Studio UI.

If you're getting errors, it's likely because either:

Always set both explicitly, and you'll be able to use any language you want for your visible titles while keeping the technical IDs in alphanumeric format.

Show original thread
23 replies

Was this answer helpful?

Sanity – Build the way you think, not the way your CMS thinks

Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.

Related contributions