dev-tools 3 min read

Univer: One Runtime for Spreadsheets, Docs, Slides, PDF

Univer is an Apache-2.0 TypeScript runtime that bundles spreadsheets, documents, slides, canvas, relational tables, and PDF into a single embeddable office SDK.

By
Share: X in
GitHub social preview card for dream-num/univer

TL;DR: Univer is an Apache-2.0, TypeScript-first runtime that ships spreadsheets, documents, slides, canvas, relational tables, and PDF behind a single API. The repository has been live since 2022 and crossed 19K stars, with topics that span collaboration, docx, excel, grid, and pdf.

What it is

The repository dream-num/univer describes itself as “The Office Harness for AI Agents.” The single runtime covers spreadsheets, docs, slides, canvas, relational tables, and PDF, which is wider than what most web-based office SDKs attempt in one package. Most teams that reach for Univer are doing so because they want a single API to back an in-app document experience instead of stitching three or four competing libraries together.

TypeScript is the primary language and the project homepage lives at docs.univer.ai. The owner is dream-num, an Organization account, which signals a long-running team rather than a one-maintainer library.

What the data points tell you

  • 19,253 stars and 1,636 forks across roughly four years of public development.
  • 149 open issues, a healthy ratio for an embeddable SDK that accepts contributions.
  • Created 2022-09-29, most recent push 2026-09-24. The library has been actively maintained for four years, which matters for tools that get embedded inside other products where breakage is expensive.
  • Topics explicitly listed: board, collaboration, data-table, doc, docx, excel, grid, pdf (eight tags, all on-target).
  • Apache-2.0 license, the same posture NVIDIA takes, with the explicit patent grant that enterprise codebases tend to require.
  • Owner is dream-num, a Chinese-based open-source team with several office and spreadsheet-adjacent projects in its portfolio.

How to try it

The shortest path from cloning to a running document surface is typical for any modern TypeScript SDK:

  1. Clone with git clone https://github.com/dream-num/univer.
  2. Install dependencies with the package manager declared in the project’s package.json.
  3. Mount a Univer instance onto a DOM node, pass it a workbook or document model, and wire the collaboration layer on top if multi-user editing is needed.
  4. Embed previews inside your application shell and verify the export paths (PDF in particular) match your needs.

For teams that prefer trying before installing, docs.univer.ai is the canonical reference site. It carries the demos that the README usually links to plus configuration snippets for the bigger surfaces (slides, PDF, relational tables).

When to evaluate Univer

Pick Univer when the team’s product needs an in-app office surface and the team is unwilling to pay per-seat for hosted editors or to maintain three separate libraries for sheets, docs, and slides. The single-runtime argument pays off when a single column of cells can become a relational row, a slide asset, or a PDF page without rebuilding state.

Skip it when the team only needs one surface (a basic spreadsheet, say) and is happy shipping that surface with a focused library. Univer’s strength is breadth, and breadth has a learning-cost tax that single-surface libraries avoid.

Configuration surface

Like most embeddable TypeScript SDKs, Univer exposes configuration through a programmatic API and through plugin registration. Teams that want a JSON-style config file can wrap the registry in their own loader. Teams that prefer code-as-config will fit naturally.

Source and Accuracy Notes

  • Project page: https://docs.univer.ai
  • Source repository: dream-num/univer (verified via GitHub API html_url)
  • License: Apache-2.0 (verified via GitHub API license.spdx_id)
  • Stars at time of writing: 19,253