Univer: An Office SDK for Embedding Spreadsheets, Documents, and Presentations
Univer is a full-stack framework for creating and editing spreadsheets / word processor / presentation on both web and server.
At a glance
- What is it?
- Univer is an open-source TypeScript SDK for building spreadsheet, document, and presentation experiences inside your own product. It uses Canvas-based rendering, a plugin architecture, and a Facade API that works identically in the browser and in Node.js, making it suitable for both interactive UI embedding and headless server-side document processing.
- Who is it for?
- Univer v1.0.0 was released on 2026-09-24, marking the first stable API milestone for the project. Teams building SaaS products, BI tools, or AI-driven applications that need embeddable spreadsheet or document editing should evaluate the SDK against the capability matrix at univer.ai/capabilities to understand what is in the open-source core versus the Pro tier.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 5 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 26, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Univer Is and What Problem It Solves
Univer is an SDK for creating office application experiences inside a product. The README describes four primary use cases: embedding spreadsheet or document editing into a SaaS product, internal tool, BI workflow, or AI application; running workbook or document processing on the server with the same architecture used in the browser; composing only the needed features through plugins or starting quickly with presets; and extending behavior through custom plugins, commands, services, UI components, and Facade APIs.
The README is explicit about what Univer is not: it is not a spreadsheet file viewer only, and it is not a fixed hosted application. It is a framework for building a custom productivity surface. Teams that need a collaborative wiki or document viewer with a fixed feature set would look elsewhere; Univer is for teams that need to own the editing surface and integrate it deeply into their own application.
Plugin Architecture and Two Integration Modes
Every capability in Univer is delivered as a composable plugin. The README describes two integration modes: preset mode and plugin mode.
Preset mode uses curated plugin collections from the `presets/` directory. The build script `build:presets` in `package.json` builds these collections separately from the individual packages. Preset mode is the fast path: import a preset and get a working spreadsheet or document editor with the standard feature set.
Plugin mode gives full control. Teams compose packages manually, which allows custom loading order, smaller bundles through tree-shaking, or deep integration where only specific capabilities are needed. The `packages/` directory in the repository contains over a hundred individual packages, each corresponding to one capability: formula engine, conditional formatting, comment thread, print, import/export, and many more. The `packages/` and `presets/` directories together define the full scope of available capabilities.
The build system uses Turbo (`turbo.json` at the root) with pnpm workspaces (`pnpm-workspace.yaml`). The minimum Node.js version is 22.18, specified in `package.json` under `devEngines`.
Canvas Rendering and the Formula Engine
Univer uses Canvas-based rendering for its editing surfaces rather than DOM manipulation. The README describes this as keeping complex workbooks responsive for large surfaces. Canvas rendering allows the spreadsheet to handle large grids without creating a DOM node per cell, which is the approach used in traditional HTML table-based spreadsheets and becomes slow at scale.
A dedicated formula engine handles spreadsheet calculation. The formula engine and the Canvas rendering layer are shared across document types: the same rendering engine handles spreadsheets, word-processor documents, presentations, and the other document types in the Univer product family.
The Facade API provides a consistent higher-level interface over the plugin system. The README describes it as covering workbooks, worksheets, ranges, documents, formulas, commands, and events. The same Facade API calls work in browser environments and in Node.js, which is the mechanism for the isomorphic design: a headless Node.js process can manipulate a workbook using the same API as a browser-based UI component.
Headless Server-Side Usage for AI Agents
Univer's isomorphic design enables running workbook and document logic in Node.js without a browser. The README describes this as powering agents, automation, and server-side workflows. An AI agent can inspect and modify spreadsheet content through the Facade API, then the result can be rendered in a browser-side component that shows real-time updates.
The README describes several open-source projects built on the SDK that demonstrate this pattern. Univer Workspace (github.com/dream-num/univer-workspace) is a self-hostable workspace where agents generate spreadsheet-based mini-apps, decision dashboards, and interactive reports with cells bound to web page controls. Univer CLI (github.com/dream-num/univer-cli) is a local command-line workspace for agents to create, edit, inspect, and deliver Office content from the terminal.
The `verso.toml` at the repository root configures the release tooling. The `CHANGELOG.md` tracks changes per release. The `codecov.yml` and CI configuration in `.github/` set up coverage reporting and automated testing.
Framework Adapters and UI Integration
Univer integrates with React, Vue, Web Components, and framework-specific application shells. The README lists framework adapters as part of the plugin-first architecture. Individual packages in `packages/` provide the React adapter, the Vue adapter, and the generic Web Components integration.
The `examples/` directory contains runnable examples for the major document types: `examples/src/` includes sheet, document, slide, and univer-board demos. The Vite configuration at `examples/vite.config.ts` builds the examples for local development, and separate Tailwind configuration files (`tailwind.sheets.config.ts`, `tailwind.slides.config.ts`, `tailwind.docs.config.ts`) handle styling per document type.
Dark mode is supported at both the UI component and rendering engine levels. The README states that UI components and the rendering engine both adapt to light and dark themes. This is a concrete design constraint, not a generic feature claim: the Canvas rendering layer must re-draw with different color tokens when the theme changes, which is handled within the SDK itself rather than left to the consuming application.
Open Source Core and Pro Tier
Univer has an open-source tier and a Pro tier. The README refers to `univer.ai/capabilities` for the capability matrix showing what is in each tier. The open-source code in this repository is licensed under Apache-2.0. The README notes that the Univer product family uses a shared runtime for storage and computation, and that content can be composed across tools with linked data. This infrastructure is separate from what is available in the open-source SDK.
The `DREAMNUM.md` file at the repository root documents the relationship between the open-source project and DreamNum Co., Ltd., the company behind Univer. Each integration project in the Univer ecosystem (such as the DeepSeek Harness integration or the WorkBuddy integration) documents its own SDK licensing requirements separately.
GitHub Copilot Workspace and Notion's API-based integrations serve adjacent use cases. Both allow AI agents to create or modify content. Univer's distinguishing approach is providing the rendering and editing infrastructure as an embeddable SDK that the consuming product fully owns, rather than delegating to a third-party service.
Getting Started and Installation
Univer packages are published to npm under the `@univerjs/` scope. The preset mode installation path installs a preset package that includes the plugins needed for a specific document type. For development on the examples:
pnpm install
pnpm devThis starts the example server for the sheet, document, slide, and board demos. The `pnpm build` command builds all plugins and then the preset packages in the correct dependency order using Turbo.
For applications that need only the spreadsheet preset, the `presets/` directory contains the relevant package. Each preset's `package.json` documents which `@univerjs/` packages it includes. The `packages/` directory contains the individual packages for plugin-mode integration, where teams compose exactly the capabilities they need rather than taking a full preset.
Editorial conclusion
Univer v1.0.0 was released on 2026-09-24, marking the first stable API milestone for the project. Teams building SaaS products, BI tools, or AI-driven applications that need embeddable spreadsheet or document editing should evaluate the SDK against the capability matrix at univer.ai/capabilities to understand what is in the open-source core versus the Pro tier. The last push was on 2026-09-24. The Apache-2.0 license permits commercial use and modification without requiring source disclosure, but the README notes that some integrations in the Univer product family have their own SDK licensing requirements, documented in each integration project's repository.
Frequently asked questions
What document types does Univer support?
Univer supports spreadsheets, word-processor documents, presentations, and additional types listed in the product family at univer.ai. The open-source SDK covers spreadsheet, document, and presentation editing; the full capability matrix including which features are in the open-source core versus the Pro tier is at univer.ai/capabilities.
Can Univer run in Node.js without a browser?
Yes. The Facade API and workbook processing logic run in Node.js without a browser environment. The README describes this as the headless mode for powering AI agents, automation, and server-side workflows. The same API used in the browser works in Node.js.
What license does Univer use?
The open-source Univer SDK in this repository is licensed under Apache-2.0, which permits commercial use and modification without requiring source disclosure. Some integration projects in the Univer product family have their own SDK licensing requirements, documented in their respective repositories.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dream-num-univer)
Community notes