Source: https://seerepo.com/compare/ktorio/ktor/vs/Stirling-Tools/Stirling-PDF
Markdown source: https://seerepo.com/compare/ktorio/ktor/vs/Stirling-Tools/Stirling-PDF.md
Description: ktor and Stirling-PDF share 5 technologies: jetty-http2-server, jakarta.servlet:jakarta.servlet-api, Tokio, ch.qos.logback:logback-classic, and io.micrometer:micrometer-core. ktor is written in Kotlin and Stirling-PDF in TypeScript.

# ktor vs Stirling-PDF

ktor and Stirling-PDF share 5 technologies: jetty-http2-server, jakarta.servlet:jakarta.servlet-api, Tokio, ch.qos.logback:logback-classic, and io.micrometer:micrometer-core. ktor is written in Kotlin and Stirling-PDF in TypeScript.

- [ktorio/ktor](https://seerepo.com/r/ktorio/ktor): Framework for quickly creating connected applications in Kotlin with minimal effort
- [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: jetty-http2-server, jakarta.servlet:jakarta.servlet-api, Tokio, ch.qos.logback:logback-classic, io.micrometer:micrometer-core
- Only in ktor: Ktor, apacheds-server-integ, org.apache.directory.server:apacheds-core-integ, http2-server, jetty-alpn-java-server, jetty-ee10-servlets, jetty-ee10-websocket-jakarta-server, org.jetbrains.kotlin:kotlin-stdlib, tomcat-embed-core, javax.servlet:javax.servlet-api, org.eclipse.jetty:jetty-server, org.eclipse.jetty:jetty-servlet, org.eclipse.jetty.ee10:jetty-ee10-servlet, java-jwt, jwks-rsa, compiler, org.jetbrains.kotlinx:kotlinx-html, org.apache.velocity:velocity-engine-core, gg.jte:jte, io.pebbletemplates:pebble, org.freemarker:freemarker, Thymeleaf, io.swagger.parser.v3:swagger-parser, metrics-core, metrics-jvm, slf4j-simple, org.slf4j:slf4j-api, tracing-subscriber
- Only in Stirling-PDF: org.springframework.boot:spring-boot-starter-web, H2 Database, jcache, org.springframework:spring-jdbc, PostgreSQL, s3, spring-boot-starter-cache, spring-boot-starter-data-redis, url-connection-client, com.github.ben-manes.caffeine:caffeine, Apache, Postgres, AWS S3, PostHog, Telegram, 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, 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, org.springframework.boot:spring-boot-starter-security, spring-boot-starter-oauth2-resource-server, spring-boot-starter-security-oauth2-client, spring-security-saml2-service-provider, Spring, com.coveo:saml-client, io.jsonwebtoken:jjwt-api, onnxruntime, 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.apache.pdfbox:pdfbox, 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, org.commonmark:commonmark, 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

| | ktor | Stirling-PDF |
|---|---|---|
| Size | 301,366 lines written, 1,642 code files | 1,146,342 lines written, 4,358 code files |
| Who writes it | 0.7% of its commits signed by AI. With Claude Code, CodeRabbit, Cursor, Codex, and GitHub Copilot | 2.1% of its commits signed by AI. With GitHub Copilot, Claude Code, and Codex |
| Activity | Last push November 7, 2026, 6,943 commits, 14,562 stars | Last push November 9, 2026, 5,762 commits, 96,085 stars |
| Tests | 780 test files. 53.5% of its code files have a test that imports them | 2,121 test files. 49.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, ktor or Stirling-PDF?

Stirling-PDF, with 1,146,342 lines written; ktor has 301,366.

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

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

Stirling-PDF, with 96,085 stars; ktor has 14,562.

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

### Which has more tests, ktor or Stirling-PDF?

Stirling-PDF, with 2,121 test files; ktor has 780.

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

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

Stirling-PDF: its last push was on November 9, 2026, and ktor's on November 7, 2026.

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

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

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

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

## Sources

- ktorio/ktor: Read on November 9, 2026, at commit f5d66c2 (https://github.com/ktorio/ktor/tree/f5d66c268e001b378c24d15cfe2e3d6af5487d0a)
- Stirling-Tools/Stirling-PDF: Read on November 9, 2026, at commit d745437 (https://github.com/Stirling-Tools/Stirling-PDF/tree/d74543712c8214548b823859c8dba4cf2e52a875)

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