Embedding server-driven productivity tools into Your Workflow

Univer is a full-stack, isomorphic office suite with high extensibility and performance, designed to help developers build and edit spreadsheets, documents and presentations freely.

Trusted by teams and companies across industries

FarbenBilibiliSamsungNovartis平安银行

Power every workflow

Spreadsheets, documents, presentations, and more

Spreadsheets

Familiar Excel-like interface. Supports 500+ functions, cross-sheet references, sorting & filtering, freeze panes, and rich text cell editing.

Documents

Word-like rich text editor. Supports paragraph styles, tables, ordered/unordered lists, headers & footers, and comments.

Presentations

PowerPoint-like slide editor. Create, edit, and present slides with the unified Canvas2D rendering engine for consistent cross-platform output.

Pro
Data Analysis

Pivot tables, charts, sparklines, and conditional formatting for data visualization.

Pro
Collaboration
A
B
C

Real-time collaboration via OT algorithm. Supports 200+ concurrent users with conflict resolution.

Pro
Automation

500+ built-in functions, custom functions, and Uniscript for automating spreadsheet tasks.

Built for developers

A full-stack framework with microkernel + plugin architecture. Get started in minutes.

# npm install @univerjs/presets @univerjs/preset-sheets-core

import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'
import sheetsCoreEnUSfrom '@univerjs/preset-sheets-core/locales/en-US'

import '@univerjs/preset-sheets-core/lib/index.css'

const { univerAPI } = createUniver({
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]:mergeLocales([sheetsCoreEnUS]),
  },
  presets: [{
    UniverSheetsCorePreset({
      container: 'app',
    }),
  }],
})

univerAPI.createWorkbook(data)

Install

Install the core Univer packages via npm, yarn, or pnpm.

Choose Mode

Preset mode for quick integration via preset packages; Plugin mode for fine-grained control by manually registering plugins.

Configure

Initialize the Univer instance and load the required plugins and locale resources.

Render

Mount to a DOM element, load data, and render the editing interface.

Enterprise-ready performance

Verified benchmarks for production workloads

0s
Load 1M cells
0 FPS
Scroll 6M cells
0s
20k formulas
0+
Concurrent users
High Performance

Canvas2D rendering engine with 50–60 FPS scrolling up to 6M cells.

Formula Engine

500+ built-in functions, custom functions, array formulas, and named ranges.

Dark Mode

Built-in light and dark themes with customizable design tokens.

Plugin Extensibility

100+ official plugins to easily extend sheets, docs, and slides.

Internationalization

Multi-language and locale support for global users.

Cross-Platform

Web, Node.js, and mobile support with one codebase.

Pro
Collaboration

Real-time collaboration with OT algorithm and conflict resolution.

Import & Export

Full format support: xlsx, docx.

Print & PDF

Print to physical documents or export to PDF.

Deployment

Docker Compose and Kubernetes support for production.

Edit History

Track every change with undo, redo, and version restore.

Data Visualization

Pivot tables, charts, and conditional formatting for clear insights.

Headless Univer

Process documents on the server with native support for AI and automation

Node.js Support

Run Univer directly in Node.js without a browser.

No UI Rendering

Exclude UI plugins and focus on data and computation.

Isomorphic Architecture

Reuse the same codebase in browser and server.

AI & Automation

LLMs and agents can directly call the Facade API for automated document read/write and analysis.

import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'
import { UniverSheetsNodeCorePreset } from '@univerjs/preset-sheets-node-core'
import sheetsNodeCoreEnUSfrom '@univerjs/preset-sheets-node-core/locales/en-US'

const { univerAPI } = createUniver({
  locale: LocaleType.EN_US,
  locales: {
    [LocaleType.EN_US]:mergeLocales(
      sheetsNodeCoreEnUS,
    ),
  },
  presets: [
    UniverSheetsNodeCorePreset(),
  ],
})

// Server-side document processing
const workbook = univerAPI.createWorkbook(data)
const snapshot = workbook.save()

Extend with plugins & integrations

Build on a rich ecosystem

Plugins

100+ official plugins covering sheets, docs, slides, collaboration, and more.

View plugins

Integrations

React, Vue, Angular, Next.js, Astro, Web Components, and plain JS.

View integrations

Community

Apache 2.0 licensed. Free for personal and commercial use.

Join on GitHub