Source: https://seerepo.com/compare/payloadcms/payload/vs/vercel/satori
Markdown source: https://seerepo.com/compare/payloadcms/payload/vs/vercel/satori.md
Description: payload and satori share 4 technologies: Next.js, React, escape-html, and sharp. Both are written in TypeScript.

# payload vs satori

payload and satori share 4 technologies: Next.js, React, escape-html, and sharp. Both are written in TypeScript.

- [payloadcms/payload](https://seerepo.com/r/payloadcms/payload): Payload is the open-source, fullstack Next.js framework, giving you instant backend superpowers. Get a full TypeScript backend and admin panel instantly. Use Payload as a headless CMS or for building powerful applications.
- [vercel/satori](https://seerepo.com/r/vercel/satori): Enlightened library to convert HTML and CSS to SVG

## What they share and what sets them apart

- In common: Next.js, React, escape-html, sharp
- Only in payload: TanStack, Sentry, @next/env, MongoDB, Postgres, SQLite, graphql-scalars, graphql-http, Redis, Vue, @aws-sdk/lib-storage, AWS S3, bson-objectid, Stripe, MCP, @azure/storage-blob, Google Cloud, aws-sdk, Vercel, Vite, @clack/prompts, Drizzle, prompts, nodemailer, amazon-cognito-identity-js, @monaco-editor/react, react-datepicker, jose, file-type, sanitize-filename, image-dimensions, sax, Zod, @standard-schema/spec, pino, pino-pretty, csv-parse, csv-stringify, lexical, react-error-boundary, @lexical/markdown, mdast-util-from-markdown, mdast-util-mdx-jsx, micromark-extension-mdx-jsx, faceless-ui, sonner, dnd-kit, react-select, monaco-editor, @floating-ui/dom, react-image-crop
- Only in satori: postcss-value-parser, css-to-react-native, twrnc, cssparser, harfbuzzjs, @resvg/resvg-js, pixelmatch, react-resizable-panels, react-hot-toast, resvg, parse5, pdfkit

## Side by side

| | payload | satori |
|---|---|---|
| Size | 1,083,381 lines written, 4,527 code files | 63,071 lines written, 98 code files |
| Who writes it | 0.6% of its commits signed by AI. With GitHub Copilot, Claude Code, and Cursor | 1.5% of its commits signed by AI. With Cursor, Claude Code, and GitHub Copilot |
| Activity | Last push November 13, 2026, 14,834 commits, 45,802 stars | Last push November 6, 2026, 526 commits, 14,169 stars |
| Tests | 2,502 test files. 14.1% of its code files have a test that imports them | 96 test files. 19.4% 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, payload or satori?

payload, with 1,083,381 lines written; satori has 63,071.

The proof: [payloadcms/payload's code at commit ae5e1dc](https://github.com/payloadcms/payload/tree/ae5e1dc62b4e469902dd2aaa79eca6fe117bd416)

### Which has more GitHub stars, payload or satori?

payload, with 45,802 stars; satori has 14,169.

The proof: [payloadcms/payload on GitHub](https://github.com/payloadcms/payload)

### Which has more tests, payload or satori?

payload, with 2,502 test files; satori has 96.

The proof: [payloadcms/payload's code at commit ae5e1dc](https://github.com/payloadcms/payload/tree/ae5e1dc62b4e469902dd2aaa79eca6fe117bd416)

### Which was updated more recently, payload or satori?

payload: its last push was on November 13, 2026, and satori's on November 6, 2026.

The proof: [payloadcms/payload's commits on GitHub](https://github.com/payloadcms/payload/commits)

### Which has more commits signed by AI, payload or satori?

satori: an AI signed 1.5% of its commits, with Cursor, Claude Code, and GitHub Copilot; in payload, 0.6%.

## Sources

- payloadcms/payload: Read on November 13, 2026, at commit ae5e1dc (https://github.com/payloadcms/payload/tree/ae5e1dc62b4e469902dd2aaa79eca6fe117bd416)
- vercel/satori: Read on November 9, 2026, at commit 074f0b3 (https://github.com/vercel/satori/tree/074f0b38ed0f5d8fa768f709c0bb072b2d6c99e1)

## 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.
