Headless Web SDK

Univer has a isomorphic feature, which means it can run not only in the browser but also in a Node.js environment. You can develop data processing services based on Headless Univer to generate or modify documents on the server side and interact with Univer Docs through the Facade API.

Preview

Headless Univer is used similarly to the browser version. In preset mode, we provide an out-of-the-box preset package; in plugin mode, you only need to exclude plugins that involve UI.

Preset Mode

Installation

Shell
pnpm add @univerjs/preset-docs-node-core

Usage

TypeScript
import { UniverDocsNodeCorePreset } from '@univerjs/preset-docs-node-core'import docsNodeCoreEnUS from '@univerjs/preset-docs-node-core/locales/en-US'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'async function run(): Promise<void> {  const { univer, univerAPI } = createUniver({    locale: LocaleType.EN_US,    locales: {      [LocaleType.EN_US]: mergeLocales(        docsNodeCoreEnUS,       ),    },    presets: [      UniverDocsNodeCorePreset(),     ],  })  // You can call any Facade API here for document processing}run()

Plugin Mode

Installation

Shell
pnpm add @univerjs/core @univerjs/engine-render @univerjs/engine-formula @univerjs/docs

Usage

TypeScript
import { LocaleType, Univer, UniverInstanceType } from '@univerjs/core'import { UniverDocsPlugin } from '@univerjs/docs'import { UniverFormulaEnginePlugin } from '@univerjs/engine-formula'import { UniverRenderEnginePlugin } from '@univerjs/engine-render'const univer = new Univer({  locale: LocaleType.EN_US,  locales: {    [LocaleType.EN_US]: {},  },})univer.registerPlugin(UniverRenderEnginePlugin)univer.registerPlugin(UniverFormulaEnginePlugin)univer.registerPlugin(UniverDocsPlugin)univer.createUnit(UniverInstanceType.UNIVER_DOC, {})

How is this guide?

© 2026 DreamNum Co., Ltd.