# Theme

> Language fallback: requested `ko-KR`; content is `en-US`.

- Human documentation: [https://docs.univer.ai/ko-KR/reference/types/theme](https://docs.univer.ai/ko-KR/reference/types/theme)

- Agent Markdown: [https://docs.univer.ai/ko-KR/reference/types/theme.md](https://docs.univer.ai/ko-KR/reference/types/theme.md)

- Requested language: `ko-KR`

- Content language: `en-US`

- Documentation version: `1.0.4`

- Source: [types/theme.mdx](https://github.com/dream-num/documentation/blob/dev/content/reference/types/theme.mdx)

---

`Theme` is the shape of `defaultTheme`, exported by `@univerjs/themes` and `@univerjs/presets`. Start with a complete theme and override the tokens you need:

```typescript
import type { Theme } from '@univerjs/themes'
import { Univer } from '@univerjs/core'
import { defaultTheme } from '@univerjs/themes'

const theme: Theme = {
  ...defaultTheme,
  primary: {
    ...defaultTheme.primary,
    600: '#2563eb',
  },
}

const univer = new Univer({ theme })
```

The theme includes color scales, semantic tokens, and component-specific values. Preserve the other keys when changing one group. For runtime switching, use [`univerAPI.setTheme()`](https://docs.univer.ai/ko-KR/reference/facade/univer.md); plugin implementations should read the active theme through `ThemeService`.
