Source: https://seerepo.com/compare/genspark-ai/genoffice/vs/laurent22/joplin
Markdown source: https://seerepo.com/compare/genspark-ai/genoffice/vs/laurent22/joplin.md
Description: genoffice and joplin share 8 technologies: React, Electron, CodeMirror, @lezer/highlight, katex, pdfjs-dist, pdf-lib, and fast-xml-parser. Both are written in TypeScript.

# genoffice vs joplin

genoffice and joplin share 8 technologies: React, Electron, CodeMirror, @lezer/highlight, katex, pdfjs-dist, pdf-lib, and fast-xml-parser. Both are written in TypeScript.

- [genspark-ai/genoffice](https://seerepo.com/r/genspark-ai/genoffice): Free, open-source AI Office suite: Docs, Sheets, Slides, PDF, Markdown and HTML editors with a built-in AI agent, plus a `genoffice` CLI and agent skill so Claude Code, Codex and Cursor can create and edit real .docx/.xlsx/.pptx files locally. Bring your own key. macOS, Windows & Linux.
- [laurent22/joplin](https://seerepo.com/r/laurent22/joplin): Joplin - the privacy-focused note taking app with sync capabilities for Windows, macOS, Linux, Android and iOS.

## What they share and what sets them apart

- In common: React, Electron, CodeMirror, @lezer/highlight, katex, pdfjs-dist, pdf-lib, fast-xml-parser
- Only in genoffice: Vite, @univerjs/core, MCP, parse5, tiptap, Mermaid, wavedrom, @tiptap/markdown, @embedpdf/pdfium, univerjs, @fluentui/react-icons, zip, quick-xml, roxmltree, calamine, cfb, Zod, opentype.js, react-konva, Konva, three, pngjs, @tiptap/core, numfmt, word-extractor, docx
- Only in joplin: SQLite, sqlite-vec, Sentry, react-native, Expo, expo-sqlite, hermes-android, react-android, @aws-sdk/s3-request-presigner, node-persist, AWS S3, Koa, Postgres, Stripe, koa-body, react-native-nitro-modules, prompts, tinymce, tkwidgets, terminal-kit, keytar, file-type, html-entities, sharp, styled-components, styled-system, xyflow, re-resizable, @joeattardi/emoji-button, mark.js, react-select, react-toggle-button, react-tooltip, taboverride, onnxruntime-node, markdown-it, react-native-paper, react-native-webview, react-native-safe-area-context, js-draw, react-native-popup-menu, expo-camera, react-native-dropdownalert, react-native-modal-datetime-picker, react-native-quick-actions, react-native-svg, react-native-vector-icons, @js-draw/material-icons, expo-local-authentication, @react-native-documents/picker, expo-image-manipulator, react-native-file-viewer, react-native-image-picker, logger, ProseMirror, prosemirror-view, prosemirror-model, prosemirror-history, prosemirror-search, @replit/codemirror-vim, prosemirror-commands, prosemirror-example-setup, prosemirror-schema-list, prosemirror-tables, prosemirror-dropcursor, prosemirror-gapcursor, prosemirror-keymap, prosemirror-transform, @lezer/markdown, dompurify, @adobe/css-tools, tesseract.js, js-yaml, image-data-uri, mustache, xml2js, askama, cab, log, fortawesome, appcompat, documentfile, font-awesome-filetypes, highlight.js, markdown-it-abbr, markdown-it-anchor, markdown-it-deflist, markdown-it-emoji, markdown-it-expand-tabs, markdown-it-footnote, markdown-it-ins, markdown-it-mark, markdown-it-multimd-table, markdown-it-sub, markdown-it-sup, markdown-it-toc-done-right, knex, otplib, bcryptjs, samlify, zxcvbn, nodemailer, qrcode, @authenio/samlify-xmllint-wasm, turndown, @mixmark-io/domino

## Side by side

| | genoffice | joplin |
|---|---|---|
| Size | 1,319,272 lines written, 2,095 code files | 501,732 lines written, 2,469 code files |
| Who writes it | 6.1% of its commits signed by AI. With Claude Code, Cursor, and Codex | 0.1% of its commits signed by AI. With Claude Code and CodeRabbit |
| Activity | Last push November 11, 2026, 1,305 commits, 12,155 stars | Last push November 10, 2026, 15,363 commits, 57,121 stars |
| Tests | 2,472 test files. 60.4% of its code files have a test that imports them | 946 test files. 25.9% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, genoffice or joplin?

genoffice, with 1,319,272 lines written; joplin has 501,732.

The proof: [genspark-ai/genoffice's code at commit 1738aec](https://github.com/genspark-ai/genoffice/tree/1738aecba0b40c7806485104101405033ded7601)

### Which has more GitHub stars, genoffice or joplin?

joplin, with 57,121 stars; genoffice has 12,155.

The proof: [laurent22/joplin on GitHub](https://github.com/laurent22/joplin)

### Which has more tests, genoffice or joplin?

genoffice, with 2,472 test files; joplin has 946.

The proof: [genspark-ai/genoffice's code at commit 1738aec](https://github.com/genspark-ai/genoffice/tree/1738aecba0b40c7806485104101405033ded7601)

### Which was updated more recently, genoffice or joplin?

genoffice: its last push was on November 11, 2026, and joplin's on November 10, 2026.

The proof: [genspark-ai/genoffice's commits on GitHub](https://github.com/genspark-ai/genoffice/commits)

### Which has more commits signed by AI, genoffice or joplin?

genoffice: an AI signed 6.1% of its commits, with Claude Code, Cursor, and Codex; in joplin, 0.1%.

The proof: [the commits each tool signed in genspark-ai/genoffice](https://seerepo.com/r/genspark-ai/genoffice/ai)

## Sources

- genspark-ai/genoffice: Read on November 11, 2026, at commit 1738aec (https://github.com/genspark-ai/genoffice/tree/1738aecba0b40c7806485104101405033ded7601)
- laurent22/joplin: Read on November 10, 2026, at commit 9b11538 (https://github.com/laurent22/joplin/tree/9b11538a0e2272d8be1b75afe412291508f2df5c)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
