Extend UI

MIT-licensed React component kit for document-heavy apps — PDF/DOCX/XLSX viewers, bounding-box citations, uploads, e-signatures, layout blocks, and Finder-style file browsing. Installed via shadcn registry (@extend/*).

Built by Extend (document intelligence API). Open-sourced after internal use processing millions of pages. Launch tweet: 2,515 bookmarks. Source: X/@kushalbyatnal, 2026-06-09

What it includes

14 components + examples, copied as source into your repo (shadcn model): Source: GitHub extend-hq/ui, https://github.com/extend-hq/ui, 2026-06-12

Component Capabilities
PDF viewer Page controls, zoom, search, text selection, thumbnails, uploads, responsive layouts
Bounding box citations Highlight regions tied to extracted text — critical for document agents
XLSX viewer Sheet tabs, frozen panes, formulas, large-grid navigation, cell selection
DOCX editor Word-style toolbar, import/export, formatting, thumbnails, links, images, tables, tracked changes
E-signature Place, review, complete signature fields on PDFs
Layout blocks OCR/layout output with selectable blocks, confidence, markdown text, PDF overlays
File upload / thumbnails / file system Agent-facing document workflows

Docs: https://ui.extend.ai/ · GitHub: https://github.com/extend-hq/ui (931+ stars at launch). Source: ui.extend.ai, 2026-06-12

Version Snapshot

Checked 2026-08-12:

  • GitHub repo: extend-hq/ui
  • Default branch: main
  • Default branch HEAD: 1d9e8c0edd5c77aa363b6b76cae828206cf5ff95
  • GitHub status: TypeScript, 1,375 stars, 67 forks
  • GitHub license field: NOASSERTION; resolve the exact copied component and repository license text before redistribution
  • Detected source surface: no test files or CI workflows in the captured tree; prove document fidelity, keyboard/screen-reader behavior, large-file performance, citation coordinates, and editable-source integration locally

Source: commit-pinned repository receipt, 2026-08-12

Install

npx shadcn@latest add @extend/pdf-viewer

Components expect your app's existing shadcn primitives (Button, Dialog, ScrollArea, etc.) — update import aliases in generated files or components.json before install. Source: GitHub extend-hq/ui, 2026-06-12

import { PDFViewer } from "@/components/ui/pdf-viewer"

export default function Page() {
  return <PDFViewer file="/sample.pdf" className="h-[720px]" />
}

Why it exists

Extend evaluated existing file viewer libraries and needed more complete, polished blocks for document agents and user-facing review surfaces. Components are maintained in production at Extend and fed back into the OSS repo. Source: GitHub extend-hq/ui README, 2026-06-12

Stack fit

Built by @andrewlu0 per launch thread credit. Source: X/@kushalbyatnal thread, 2026-06-09


Timeline