dream-num

univer: Embed Spreadsheet, Document, and Presentation Editors

Univer is a TypeScript SDK for embedding customizable spreadsheet, document, and presentation experiences in browser products, with a Node.js headless runtime. Its plugin architecture and Facade API suit teams building productivity tools or agent workflows, though several advanced features require commercial Univer Pro packages.

ActiveTypeScriptApache-2.0LibraryFrameworkCollaboration
View on GitHub Compare
Stars
22.6k
Forks
1.9k
Stars, last 30 days
+513
Last commit
today
Contributors
71

Our take

Activeregular commits and releases

Health score

81/100

How it is scored
Activity
83
Community
82
Issues
80
Pull requests
80

+513 stars in the last 30 days

  • Merges more pull requests than 88% of the projects we track
  • Releases more often than 83% of the projects we track

Univer is a substantial, actively maintained SDK for teams that need customizable office surfaces, with a clear boundary between its Apache-licensed core and paid extensions.

Good fit if

  • You are building an embedded spreadsheet, document, or presentation experience and want to compose features through plugins or presets.
  • Your product needs browser editing, Node.js processing, or both, and you can work with a TypeScript SDK.
  • You want an active project: it has regular commits and releases, contributions from dozens of developers without high contributor concentration, and issues and pull requests are handled quickly.

Look elsewhere if

  • You need collaboration, import/export, printing, charts, or other capabilities listed as Univer Pro extensions, but do not plan to use commercial packages.
  • You need a ready-to-use hosted office application rather than an SDK to integrate and customize.
  • Your environment cannot meet the documented Node.js requirements for headless use or monorepo development.
All health signals
Last commit2026-10-13 (today)
Commits, last 90 days100+
Releases, last 12 months37 (latest v1.0.4, 2026-10-10)
Contributors71 (top contributor: 21% of commits)
Issues closed, last 90 days23+ (typically closed in 1 day)
Pull requests merged, last 90 days82 (typically merged in 0 days)
Project age4 years

Checked on 2026-10-14 with the GitHub API.

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

23,066

Forks

1,950

Change since Nov 10, 2026: +40 stars·+11 forks

Overview

Univer is a TypeScript SDK for building office editing and processing capabilities into your own product. Rather than providing only a hosted office app or file viewer, it supplies composable components for spreadsheets, documents, and presentations, with browser editing and a headless Node.js runtime.

It is aimed at developers integrating productivity experiences into SaaS products, internal tools, or AI workflows. Teams can start with presets or assemble plugins directly, while a shared Facade API provides a higher-level way to work with content.

Key Features

  • Plugin-based architecture lets teams compose, replace, or lazy-load capabilities.
  • Canvas-based rendering supports editable office surfaces, alongside a dedicated formula engine for spreadsheets.
  • Facade APIs expose workbooks, ranges, documents, formulas, commands, and events.
  • Browser and Node.js runtimes support both interactive editors and headless processing.
  • Presets offer a shorter setup path for supported Sheets, Docs, and Node profiles.
  • Framework integrations include React, Vue, and Web Components.
  • AI workflows can programmatically inspect and edit office content, then verify output through content inspection and rendered screenshots.
  • The open-source packages include spreadsheet, document, and presentation foundations, with advanced capabilities split into commercial Univer Pro packages.

Use Cases

  • SaaS teams embedding spreadsheet or document editing into an existing product instead of building an editor from scratch.
  • Internal-tool and BI developers creating data-centric interfaces that combine workbook content with their own application UI.
  • AI product teams enabling agents to edit office content programmatically and provide results for human review.
  • Backend developers automating workbook or document processing in Node.js without launching a browser UI.

What you need

Detected in the repository

  • Node.js (from package.json)
  • A test suite and automated checks on GitHub Actions

License in plain words

Apache-2.0permissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the license, the NOTICE file and a note of your changes
  • Share your changes: no
  • Includes an explicit patent grant from the contributors:

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

For a Sheets preset, install the packages:

pnpm add @univerjs/presets @univerjs/preset-sheets-core

See the README and getting started guide for setup details and plugin-mode alternatives.

Alternatives

  • BlockNote: BlockNote focuses on block-based rich-text editing for React, rather than Univer’s spreadsheet, document, and presentation suite.
  • Yoopta-Editor: Yoopta-Editor is a Slate-based rich-text editor toolkit for React, while Univer also provides spreadsheet and presentation experiences.
  • open-slide: open-slide specializes in creating and presenting slide decks with a fixed-size canvas, rather than offering Univer’s broader productivity SDK.
ProjectLanguageLicenseStarsStatus
univerTypeScriptApache-2.022.6kActive
BlockNoteTypeScriptOther10.3kActive
Yoopta-EditorTypeScriptMIT3.1kQuiet
open-slideTypeScriptMIT9.4kActive

Considerations

The open-source repository is licensed under Apache-2.0, but the README places many advanced capabilities, including real-time collaboration and file import/export, in Univer Pro. Check the feature and licensing boundary against your requirements before designing around those capabilities. Browser support has documented minimum versions, while headless use requires Node.js 18.17 or newer; developing the monorepo requires Node.js 22.18 or newer. The project is actively developed, with frequent releases and prompt issue and pull-request handling, so teams should also account for ongoing SDK updates and version coordination across packages.

Found this useful?

Share it with someone who would like univer.

Comparisons