Source: https://seerepo.com/compare/spring-projects/spring-ai/vs/Stirling-Tools/Stirling-PDF
Markdown source: https://seerepo.com/compare/spring-projects/spring-ai/vs/Stirling-Tools/Stirling-PDF.md
Description: spring-ai and Stirling-PDF share 9 technologies: PostgreSQL, spring-boot-starter-data-redis, jakarta.servlet:jakarta.servlet-api, onnxruntime, Spring, Apache, org.apache.pdfbox:pdfbox, org.commonmark:commonmark, and io.micrometer:micrometer-core. spring-ai is written in Java and Stirling-PDF in TypeScript.

# spring-ai vs Stirling-PDF

spring-ai and Stirling-PDF share 9 technologies: PostgreSQL, spring-boot-starter-data-redis, jakarta.servlet:jakarta.servlet-api, onnxruntime, Spring, Apache, org.apache.pdfbox:pdfbox, org.commonmark:commonmark, and io.micrometer:micrometer-core. spring-ai is written in Java and Stirling-PDF in TypeScript.

- [spring-projects/spring-ai](https://seerepo.com/r/spring-projects/spring-ai): An Application Framework for AI Engineering
- [Stirling-Tools/Stirling-PDF](https://seerepo.com/r/Stirling-Tools/Stirling-PDF): #1 PDF Application on GitHub that lets you edit PDFs on any device anywhere

## What they share and what sets them apart

- In common: PostgreSQL, spring-boot-starter-data-redis, jakarta.servlet:jakarta.servlet-api, onnxruntime, Spring, Apache, org.apache.pdfbox:pdfbox, org.commonmark:commonmark, io.micrometer:micrometer-core
- Only in spring-ai: apache-client, java-driver-query-builder, jedis, MariaDB, ojdbc11, org.mongodb:mongodb-driver-sync, org.springframework.boot:spring-boot-jdbc, s3vectors, spring-boot-data-redis, spring-boot-starter-data-mongodb, spring-boot-starter-mongodb, Neo4j, Qdrant, Couchbase, MongoDB, org.typesense:typesense-java, com.pgvector:pgvector, io.pinecone:pinecone-client, org.jetbrains.kotlin:kotlin-stdlib, org.springframework.boot:spring-boot-autoconfigure, org.springframework:spring-orm, spring-data-mongodb, spring-data-neo4j, sts, software.amazon.awssdk:auth, com.azure:azure-identity, Model Context Protocol, pytorch-engine, spring-ai-bedrock-converse, spring-ai-client-chat, spring-ai-deepseek, spring-ai-milvus-store, spring-ai-mistral-ai, spring-ai-ollama, spring-ai-openai, spring-ai-retry, spring-ai-starter-model-anthropic, spring-ai-starter-model-deepseek, spring-ai-starter-model-ollama, spring-ai-starter-model-openai, spring-ai-starter-model-stability-ai, software.amazon.awssdk:bedrockruntime, software.amazon.awssdk:bedrockagentruntime, ai.djl.huggingface:tokenizers, ai.djl:api, spring-ai-markdown-document-reader, spring-ai-pdf-document-reader, spring-ai-tika-document-reader, org.apache.tika:tika-core, org.jsoup:jsoup, com.github.victools:jsonschema-generator, com.github.victools:jsonschema-module-jackson, com.github.victools:jsonschema-module-swagger-2, com.networknt:json-schema-validator, jakarta.validation:jakarta.validation-api, io.micrometer:micrometer-observation, software.amazon.awssdk:regions, io.micrometer:micrometer-tracing
- Only in Stirling-PDF: org.springframework.boot:spring-boot-starter-web, H2 Database, jcache, org.springframework:spring-jdbc, s3, spring-boot-starter-cache, url-connection-client, com.github.ben-manes.caffeine:caffeine, Postgres, AWS S3, PostHog, Telegram, jetty-http2-server, org.eclipse.jetty:jetty-alpn-java-server, org.eclipse.jetty.compression:jetty-compression-server, Vite, React, react-router-dom, Tauri, objc2-app-kit, objc2-foundation, Tokio, tiny_http, Supabase, tauri-plugin-store, Stripe, core-services, @tauri-apps/api, Hibernate, org.springframework.boot:spring-boot-starter-data-jpa, jjwt-impl, jjwt-jackson, spring-boot-starter-oauth2-resource-server, spring-boot-starter-security-oauth2-client, spring-security-saml2-service-provider, com.coveo:saml-client, io.jsonwebtoken:jjwt-api, angus-mail, batik-transcoder, commonmark-ext-gfm-tables, imageio-batik, imageio-bmp, imageio-hdr, imageio-icns, imageio-iff, imageio-jpeg, imageio-pcx, imageio-pnm, imageio-psd, imageio-sgi, imageio-tga, imageio-thumbsdb, imageio-tiff, imageio-webp, imageio-xwd, jbig2-imageio, jpdfium, metadata-extractor, org.springframework.boot:spring-boot-starter-mail, outlook-module, owasp-java-html-sanitizer, pdfbox-io, preflight, stirling-office-convert, stirling-office-convert-legacy, stirling-office-convert-pdfa, stirling-office-convert-topdf, org.verapdf:validation-model, jakarta.mail:jakarta.mail-api, org.apache.pdfbox:xmpbox, org.apache.poi:poi-ooxml, com.google.zxing:core, de.rototor.pdfbox:graphics2d, org.apache.xmlgraphics:batik-bridge, technology.tabula:tabula, com.github.junrar:junrar, com.hubspot.jinjava:jinjava, com.opencsv:opencsv, com.vladsch.flexmark:flexmark-html2md-converter, org.simplejavamail:simple-java-mail, micrometer-registry-prometheus, org.springframework.boot:spring-boot-starter-actuator, spring-boot-starter-jetty, ch.qos.logback:logback-core, Tailwind CSS, fontsource, Mantine, @reactour/tour, @dnd-kit/core, tanstack, @atlaskit/pragmatic-drag-and-drop, D3, signature_pad, tauri-plugin-dialog, @tauri-apps/plugin-notification, react-easy-crop, react-rnd, recharts, tauri-plugin-notification, tauri-plugin-window-state, webview2-com, Lucide, keyring, embedpdf, pdfjs-dist, react-markdown, remark-gfm, @cantoo/pdf-lib, qrcode.react, objc2-pdf-kit, pixelmatch, log, tauri-plugin-log

## Side by side

| | spring-ai | Stirling-PDF |
|---|---|---|
| Size | 504,048 lines written, 1,629 code files | 1,168,066 lines written, 4,452 code files |
| Who writes it | 0% of its commits signed by AI | 2.1% of its commits signed by AI. With GitHub Copilot, Claude Code, and Codex |
| Activity | Last push November 13, 2026, 4,346 commits, 9,647 stars | Last push November 12, 2026, 5,787 commits, 96,362 stars |
| Tests | 1,185 test files. 65.3% of its code files have a test that imports them | 2,168 test files. 49.7% 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, spring-ai or Stirling-PDF?

Stirling-PDF, with 1,168,066 lines written; spring-ai has 504,048.

The proof: [Stirling-Tools/Stirling-PDF's code at commit ee8c2b3](https://github.com/Stirling-Tools/Stirling-PDF/tree/ee8c2b3a9fc5842f787373c2aeff1431f5ff9d85)

### Which has more GitHub stars, spring-ai or Stirling-PDF?

Stirling-PDF, with 96,362 stars; spring-ai has 9,647.

The proof: [Stirling-Tools/Stirling-PDF on GitHub](https://github.com/Stirling-Tools/Stirling-PDF)

### Which has more tests, spring-ai or Stirling-PDF?

Stirling-PDF, with 2,168 test files; spring-ai has 1,185.

The proof: [Stirling-Tools/Stirling-PDF's code at commit ee8c2b3](https://github.com/Stirling-Tools/Stirling-PDF/tree/ee8c2b3a9fc5842f787373c2aeff1431f5ff9d85)

### Which was updated more recently, spring-ai or Stirling-PDF?

spring-ai: its last push was on November 13, 2026, and Stirling-PDF's on November 12, 2026.

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

### Which has more commits signed by AI, spring-ai or Stirling-PDF?

Stirling-PDF: an AI signed 2.1% of its commits, with GitHub Copilot, Claude Code, and Codex.

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

## Sources

- spring-projects/spring-ai: Read on November 14, 2026, at commit 98cbc4f (https://github.com/spring-projects/spring-ai/tree/98cbc4f99accc2e590e0cb42fd209df2628575a1)
- Stirling-Tools/Stirling-PDF: Read on November 12, 2026, at commit ee8c2b3 (https://github.com/Stirling-Tools/Stirling-PDF/tree/ee8c2b3a9fc5842f787373c2aeff1431f5ff9d85)

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