Univer is a full-stack, isomorphic office suite with high extensibility and performance, designed to help developers build and edit spreadsheets, documents, presentations, Bases, Boards and PDFs freely.
Interactive examples
Explore a connected product launch across six fully editable Univer experiences — from planning and storytelling to visual collaboration and PDFs.
Spreadsheets, documents, presentations, and more
Familiar Excel-like interface. Supports 500+ functions, cross-sheet references, sorting & filtering, freeze panes, and rich text cell editing.
Word-like rich text editor with document statistics, rich-text links, paragraph styles, tables, lists, headers, footers, and comments.
PowerPoint-like slide editor with editable SmartArt, charts, table design, and consistent Canvas2D rendering across platforms.
Table-driven business apps with field modeling, multiple views, record management, and low-code data workflows.
Infinite canvas for visual collaboration with image backgrounds, containers, shapes, printing, and PNG/JPEG export.
Pivot tables, charts linked to live Sheet ranges with SVG export, sparklines, and conditional formatting.
Create and edit PDFs with continuous page scrolling, printing, text, images, tables, lists, and annotations.
Real-time collaboration for Sheets, Docs, Bases, Slides, Boards, and PDFs with conflict resolution.
500+ built-in functions, custom functions, and Facade APIs for automating spreadsheet tasks.
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 the core Univer packages via npm, yarn, or pnpm.
Preset mode for quick integration via preset packages; Plugin mode for fine-grained control by manually registering plugins.
Initialize the Univer instance and load the required plugins and locale resources.
Mount to a DOM element, load data, and render the editing interface.
Verified benchmarks for production workloads
Canvas2D rendering engine with 50–60 FPS scrolling up to 6M cells.
500+ built-in functions, custom functions, array formulas, and named ranges.
Built-in dark-blue theme, runtime theme switching, and customizable design tokens.
100+ official plugins to easily extend sheets, docs, and slides.
Multi-language and locale support for global users.
Web, Node.js, and mobile support with one codebase.
Real-time collaboration with OT algorithm and conflict resolution.
Unit-aware import and export for xlsx, csv, tsv, docx, pptx, pdf, Bases, and Boards.
Print Sheets, Docs, Slides, Boards, and PDFs; export Boards and charts as images.
Docker Compose and Kubernetes support for production.
Track every change with undo, redo, and version restore.
Pivot tables, charts, and conditional formatting for clear insights.
Process documents on the server with native support for AI and automation
Run Univer directly in Node.js without a browser.
Exclude UI plugins and focus on data and computation.
Reuse the same codebase in browser and server.
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()Build on a rich ecosystem
100+ official plugins covering sheets, docs, slides, collaboration, and more.
React, Vue, Angular, Next.js, Astro, Web Components, and plain JS.
Apache 2.0 licensed. Free for personal and commercial use.