Stirling-Tools/Stirling-PDFPublic

#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere

AI summary: Stirling-PDF is a robust, open-source, self-hosted platform for comprehensive PDF manipulation and editing.

Stars
89.1K
+69 today
Forks
8K
Watchers
308
Open issues
347
Open PRs
192
Contributors
~297
Commits
5.6K
Branches
493

JavaOtherCreated Jan 27, 2023Last push todayLatest release v2.14.2+599 stars this week+826 this month

Star history

since Dec 24, 2023
025K50K75KDec 2023Nov 2024Sep 2025Aug 2026
89.1K stars as of Aug 7, 2026, tracked back to Dec 24, 2023. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 5 commits2025-08-04: 2 commits2025-08-05: 6 commits2025-08-06: 0 commits2025-08-07: 3 commits2025-08-08: 22 commits2025-08-09: 6 commits2025-08-10: 2 commits2025-08-11: 16 commits2025-08-12: 3 commits2025-08-13: 2 commits2025-08-14: 4 commits2025-08-15: 3 commits2025-08-16: 0 commits2025-08-17: 0 commits2025-08-18: 2 commits2025-08-19: 3 commits2025-08-20: 12 commits2025-08-21: 4 commits2025-08-22: 3 commits2025-08-23: 0 commits2025-08-24: 19 commits2025-08-25: 7 commits2025-08-26: 18 commits2025-08-27: 4 commits2025-08-28: 5 commits2025-08-29: 8 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 1 commit2025-09-02: 1 commit2025-09-03: 0 commits2025-09-04: 34 commits2025-09-05: 17 commits2025-09-06: 3 commits2025-09-07: 0 commits2025-09-08: 3 commits2025-09-09: 1 commit2025-09-10: 3 commits2025-09-11: 0 commits2025-09-12: 1 commit2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 2 commits2025-09-16: 2 commits2025-09-17: 4 commits2025-09-18: 8 commits2025-09-19: 3 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 6 commits2025-09-23: 2 commits2025-09-24: 3 commits2025-09-25: 4 commits2025-09-26: 16 commits2025-09-27: 0 commits2025-09-28: 30 commits2025-09-29: 9 commits2025-09-30: 10 commits2025-10-01: 8 commits2025-10-02: 7 commits2025-10-03: 2 commits2025-10-04: 12 commits2025-10-05: 0 commits2025-10-06: 10 commits2025-10-07: 1 commit2025-10-08: 1 commit2025-10-09: 2 commits2025-10-10: 5 commits2025-10-11: 7 commits2025-10-12: 1 commit2025-10-13: 2 commits2025-10-14: 0 commits2025-10-15: 5 commits2025-10-16: 2 commits2025-10-17: 1 commit2025-10-18: 0 commits2025-10-19: 0 commits2025-10-20: 1 commit2025-10-21: 1 commit2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 1 commit2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 9 commits2025-10-28: 2 commits2025-10-29: 2 commits2025-10-30: 0 commits2025-10-31: 1 commit2025-11-01: 0 commits2025-11-02: 1 commit2025-11-03: 0 commits2025-11-04: 1 commit2025-11-05: 4 commits2025-11-06: 4 commits2025-11-07: 1 commit2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 5 commits2025-11-11: 4 commits2025-11-12: 5 commits2025-11-13: 7 commits2025-11-14: 3 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 3 commits2025-11-18: 4 commits2025-11-19: 5 commits2025-11-20: 7 commits2025-11-21: 2 commits2025-11-22: 1 commit2025-11-23: 0 commits2025-11-24: 8 commits2025-11-25: 23 commits2025-11-26: 10 commits2025-11-27: 4 commits2025-11-28: 3 commits2025-11-29: 11 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 11 commits2025-12-03: 10 commits2025-12-04: 3 commits2025-12-05: 3 commits2025-12-06: 1 commit2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 2 commits2025-12-10: 11 commits2025-12-11: 10 commits2025-12-12: 2 commits2025-12-13: 3 commits2025-12-14: 0 commits2025-12-15: 5 commits2025-12-16: 3 commits2025-12-17: 3 commits2025-12-18: 2 commits2025-12-19: 0 commits2025-12-20: 2 commits2025-12-21: 1 commit2025-12-22: 17 commits2025-12-23: 3 commits2025-12-24: 5 commits2025-12-25: 9 commits2025-12-26: 2 commits2025-12-27: 2 commits2025-12-28: 2 commits2025-12-29: 3 commits2025-12-30: 2 commits2025-12-31: 2 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 0 commits2026-01-04: 0 commits2026-01-05: 2 commits2026-01-06: 8 commits2026-01-07: 1 commit2026-01-08: 1 commit2026-01-09: 8 commits2026-01-10: 1 commit2026-01-11: 0 commits2026-01-12: 4 commits2026-01-13: 19 commits2026-01-14: 14 commits2026-01-15: 4 commits2026-01-16: 2 commits2026-01-17: 2 commits2026-01-18: 0 commits2026-01-19: 1 commit2026-01-20: 1 commit2026-01-21: 13 commits2026-01-22: 15 commits2026-01-23: 8 commits2026-01-24: 1 commit2026-01-25: 1 commit2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 8 commits2026-01-29: 5 commits2026-01-30: 2 commits2026-01-31: 10 commits2026-02-01: 0 commits2026-02-02: 1 commit2026-02-03: 1 commit2026-02-04: 2 commits2026-02-05: 4 commits2026-02-06: 19 commits2026-02-07: 1 commit2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 0 commits2026-02-11: 4 commits2026-02-12: 4 commits2026-02-13: 8 commits2026-02-14: 2 commits2026-02-15: 0 commits2026-02-16: 5 commits2026-02-17: 0 commits2026-02-18: 5 commits2026-02-19: 3 commits2026-02-20: 10 commits2026-02-21: 1 commit2026-02-22: 0 commits2026-02-23: 8 commits2026-02-24: 8 commits2026-02-25: 10 commits2026-02-26: 1 commit2026-02-27: 5 commits2026-02-28: 0 commits2026-03-01: 3 commits2026-03-02: 13 commits2026-03-03: 6 commits2026-03-04: 1 commit2026-03-05: 5 commits2026-03-06: 10 commits2026-03-07: 0 commits2026-03-08: 1 commit2026-03-09: 2 commits2026-03-10: 1 commit2026-03-11: 3 commits2026-03-12: 4 commits2026-03-13: 9 commits2026-03-14: 0 commits2026-03-15: 1 commit2026-03-16: 12 commits2026-03-17: 1 commit2026-03-18: 1 commit2026-03-19: 2 commits2026-03-20: 3 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 11 commits2026-03-24: 9 commits2026-03-25: 3 commits2026-03-26: 1 commit2026-03-27: 1 commit2026-03-28: 0 commits2026-03-29: 1 commit2026-03-30: 11 commits2026-03-31: 1 commit2026-04-01: 9 commits2026-04-02: 7 commits2026-04-03: 4 commits2026-04-04: 1 commit2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 0 commits2026-04-08: 1 commit2026-04-09: 4 commits2026-04-10: 3 commits2026-04-11: 0 commits2026-04-12: 1 commit2026-04-13: 3 commits2026-04-14: 1 commit2026-04-15: 5 commits2026-04-16: 1 commit2026-04-17: 8 commits2026-04-18: 0 commits2026-04-19: 1 commit2026-04-20: 7 commits2026-04-21: 3 commits2026-04-22: 4 commits2026-04-23: 10 commits2026-04-24: 11 commits2026-04-25: 6 commits2026-04-26: 0 commits2026-04-27: 1 commit2026-04-28: 22 commits2026-04-29: 1 commit2026-04-30: 5 commits2026-05-01: 6 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 18 commits2026-05-06: 0 commits2026-05-07: 4 commits2026-05-08: 1 commit2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 12 commits2026-05-12: 1 commit2026-05-13: 1 commit2026-05-14: 5 commits2026-05-15: 1 commit2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 1 commit2026-05-19: 4 commits2026-05-20: 15 commits2026-05-21: 3 commits2026-05-22: 13 commits2026-05-23: 0 commits2026-05-24: 1 commit2026-05-25: 1 commit2026-05-26: 7 commits2026-05-27: 4 commits2026-05-28: 11 commits2026-05-29: 7 commits2026-05-30: 2 commits2026-05-31: 1 commit2026-06-01: 1 commit2026-06-02: 4 commits2026-06-03: 9 commits2026-06-04: 7 commits2026-06-05: 6 commits2026-06-06: 2 commits2026-06-07: 0 commits2026-06-08: 16 commits2026-06-09: 12 commits2026-06-10: 28 commits2026-06-11: 34 commits2026-06-12: 10 commits2026-06-13: 0 commits2026-06-14: 5 commits2026-06-15: 11 commits2026-06-16: 7 commits2026-06-17: 10 commits2026-06-18: 16 commits2026-06-19: 13 commits2026-06-20: 0 commits2026-06-21: 1 commit2026-06-22: 4 commits2026-06-23: 6 commits2026-06-24: 10 commits2026-06-25: 1 commit2026-06-26: 4 commits2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 8 commits2026-06-30: 9 commits2026-07-01: 7 commits2026-07-02: 0 commits2026-07-03: 3 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 11 commits2026-07-07: 16 commits2026-07-08: 15 commits2026-07-09: 13 commits2026-07-10: 18 commits2026-07-11: 14 commits2026-07-12: 3 commits2026-07-13: 8 commits2026-07-14: 4 commits2026-07-15: 12 commits2026-07-16: 6 commits2026-07-17: 5 commits2026-07-18: 0 commits2026-07-19: 1 commit2026-07-20: 20 commits2026-07-21: 11 commits2026-07-22: 8 commits2026-07-23: 8 commits2026-07-24: 4 commits2026-07-25: 0 commits2026-07-26: 0 commits2026-07-27: 1 commit2026-07-28: 2 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
1,651 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    89,061 stars

  • Very active

    1,651 commits in 52 weeks

  • Community-driven

    ~297 contributors

  • Well documented

    High community health score

  • Continuous integration

    Automated checks passing

  • Top 10% tracked

    Rank 73 of 1058

What Stirling-PDF does

Stirling-PDF is a powerful, open-source web application designed for comprehensive PDF manipulation. It allows users to perform a wide array of operations on PDF files, such as merging, splitting, rotating, converting to/from other formats, adding passwords, and applying watermarks. Designed to be self-hosted, it ensures complete data privacy as all processing happens locally on the user's server or machine. The platform provides a user-friendly web interface and is easily deployable via Docker.

Stirling-PDF is ideal for privacy-conscious users, IT administrators, and small businesses. It serves as a self-hosted, feature-rich alternative to commercial PDF tools like Adobe Acrobat. Basic knowledge of Docker is needed to get started with deployment.

  • Feature: Comprehensive suite of PDF tools including merge, split, rotate, and compress.
  • Feature: Format conversion capabilities (e.g., PDF to Word, Image to PDF).
  • Feature: Security features like adding/removing passwords, watermarking, and redaction.
  • Feature: Self-hosted architecture ensuring complete data privacy and local processing.
  • Feature: Easy deployment and management via Docker containers.

Where teams use it

Private PDF Processing

Individuals and businesses handling sensitive documents who cannot use public, cloud-based PDF tools.

Self-Hosted Document Management

Organizations integrating a comprehensive PDF manipulation suite into their internal, self-hosted infrastructure.

Automated Document Workflows

Developers utilizing the platform to automate tasks like merging reports or converting invoices via its features.

Personal Productivity

Users looking for a free, fully-featured alternative to commercial PDF editing software.

Getting started: docker run -p 8080:8080 frooodle/s-pdf

README

main branch

Stirling PDF logo

Stirling PDF - The Open-Source PDF Platform

Stirling PDF is a powerful, open-source PDF editing platform. Run it as a personal desktop app, in the browser, or deploy it on your own servers with a private API. Edit, sign, redact, convert, and automate PDFs without sending documents to external services.

Docker Pulls Discord OpenSSF Scorecard GitHub Repo stars

Stirling PDF - Dashboard

Key Capabilities

  • Everywhere you work - Desktop client, browser UI, and self-hosted server with a private API.
  • 50+ PDF tools - Edit, merge, split, sign, redact, convert, OCR, compress, and more.
  • Automation & workflows - No-code pipelines direct in UI with APIs to process millions of PDFs.
  • Enterprise‑grade - SSO, auditing, and flexible on‑prem deployments.
  • Developer platform - REST APIs available for nearly all tools to integrate into your existing systems.
  • Global UI - Interface available in 40+ languages.

For a full feature list, see the docs: https://docs.stirlingpdf.com

Quick Start

docker run -p 8080:8080 docker.stirlingpdf.com/stirlingtools/stirling-pdf

Then open: http://localhost:8080

For full installation options (including desktop and Kubernetes), see our Documentation Guide.

Resources

Support

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

This project uses Task as a unified command runner for all build, dev, and test commands. Run task dev to get started running the editor, run task to see the most common commands, or see the Developer Guide for full details.

For adding translations, see the Translation Guide.

License

Stirling PDF is open-core. See LICENSE for details.

View on GitHub

Recent activity

commits and pull requests

Recent open issues

view all

Discussions

all 245

Releases and announcements

185 total
  1. 2.14.2 Hotfix for certain postgres environments v2.14.2Jul 8, 2026105.6K downloads

    Server only hotfix for certain postgres connections having issues loading user data **Full Changelog**: https://github.com/Stirling-Tools/Stirling-PDF/compare/v2.14.1...v2.14.2

  2. 2.14.1 Bug fixes and new 3rd party license pagev2.14.1Jul 7, 202612.5K downloads

    Quick hotfix release to get out some bug fixes including: - Stopping posthog prematurely loading (Note no data was received our end by this however posthog might have tried it's own calls during this time) - Cert sign not working for certain installations - Rearrange pages bug causing tool to fail As well as a new settings menu page to show all licenses for frontend and backend 3rd party dependencies ## What's Changed ### Bug Fixes * fix(frontend): Stop posthog loading before opt flags are read by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6812 * Fix rearrange-pages DUPLICATE producing shared page nodes (pypdf cyclic-references CI break) by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6851 * Fix tooltip positioning on Add Page Numbers by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6885 * Disable update check and notification in SaaS mode by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6863 * Fix missing app icon on Linux/Wayland by @LFd3v in https://github.com/Stirling-Tools/Stirling-PDF/pull/6875 * Fix cert sign not showing under certain instances by @Frooodle in https://github.co

  3. 2.14.0 Hardware token signing and shared signing v2.14.0Jun 30, 202651.1K downloads

    This release adds several changes including desktop hardware token signing and changes to various UI elements Features include: - Desktop token signing! Such as USB/smart-card PKCS#11 and OS certificate stores etc (Currently desktop only) - Fixes for shared signing and file sharing UIs to be reintroduced in top bar - Improved Side menu for comments/annotations and attachments with easier adding and new clear all buttons - Login disclaimer feature for businesses that want it - Fix desktop login issues - Adds logo to installer and renames installer internal name from Stirling-PDF to Stirling PDF (without the -) ## What's Changed ### Enhancements * Add login agreement disclaimer feature by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6766 * Add bulk comment and annotation clearing to editor by @MattSaito in https://github.com/Stirling-Tools/Stirling-PDF/pull/6792 * More desktop CI optimisations by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6786 * Upgrade to TS7 for local type-checking by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6815 * Expand `any` type linting in frontend by @jbrunton96 in http

  4. 2.13.2 Desktop performance fix, and security fixesv2.13.2Jun 24, 202640.1K downloads

    This release is for security fixes and removal of unused dependencies within our docker It also contains - UI performance fix for desktop users! - stopping update notices appearing to usecases it shouldn't! - Fixes for desktop mac not running correctly - Some build issues for certain desktop builds <!-- Release notes generated using configuration in .github/release.yml at main --> ## What's Changed ### Bug Fixes * fix(frontend): correctly display the current user role in the edit dialog by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6758 * Make pre-commit scripts more OS-agnostic by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6724 * fix(team): hide users already assigned to the selected team by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6760 ### Enhancements * Upgrade to TypeScript 6 by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6772 * Redesign tool config types to avoid `any` typing by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6582 * Remove ffmpeg from published Docker images by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6791 *

  5. Quick bug fixes for: - multi-tool not correctly rotating certain PDFs - Desktop mobile upload via QR code scan ## What's Changed ### Enhancements * feat(i18n): sync editor translations with pluralization support and new UI strings by @Ludy87 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6565 * build(deps-dev): bump js-yaml from 4.1.1 to 4.2.0 in /frontend by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6677 * build(deps): bump dompurify from 3.4.1 to 3.4.11 in /frontend by @dependabot[bot] in https://github.com/Stirling-Tools/Stirling-PDF/pull/6722 * Fix more `any` typing usage in the frontend by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6664 * Fix bad frontend architecture by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6730 * Fix Multi Tool page rotation lost on save by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/6733 * Cache Rust build to improve Tauri build job times by @jbrunton96 in https://github.com/Stirling-Tools/Stirling-PDF/pull/6732 * Add desktop mobile-upload page and fix LAN QR URL by @Frooodle in https://github.com/Stirling-Tools/Stirling-PDF/pull/

Code frequency

additions and deletions
+659.2K-659.2KWeek of 2025-08-03: +10,623 linesWeek of 2025-08-03: -4,577 linesWeek of 2025-08-10: +17,172 linesWeek of 2025-08-10: -5,771 linesWeek of 2025-08-17: +18,610 linesWeek of 2025-08-17: -7,297 linesWeek of 2025-08-24: +14,069 linesWeek of 2025-08-24: -8,627 linesWeek of 2025-08-31: +6,246 linesWeek of 2025-08-31: -2,602 linesWeek of 2025-09-07: +3,277 linesWeek of 2025-09-07: -221 linesWeek of 2025-09-14: +20,363 linesWeek of 2025-09-14: -5,193 linesWeek of 2025-09-21: +28,785 linesWeek of 2025-09-21: -67,275 linesWeek of 2025-09-28: +27,680 linesWeek of 2025-09-28: -6,424 linesWeek of 2025-10-05: +6,050 linesWeek of 2025-10-05: -1,627 linesWeek of 2025-10-12: +6,252 linesWeek of 2025-10-12: -1,981 linesWeek of 2025-10-19: +8,695 linesWeek of 2025-10-19: -782 linesWeek of 2025-10-26: +91,945 linesWeek of 2025-10-26: -81,375 linesWeek of 2025-11-02: +258,726 linesWeek of 2025-11-02: -83,921 linesWeek of 2025-11-09: +168,340 linesWeek of 2025-11-09: -24,124 linesWeek of 2025-11-16: +108,379 linesWeek of 2025-11-16: -93,598 linesWeek of 2025-11-23: +160,268 linesWeek of 2025-11-23: -338,502 linesWeek of 2025-11-30: +28,713 linesWeek of 2025-11-30: -23,910 linesWeek of 2025-12-07: +7,765 linesWeek of 2025-12-07: -1,049 linesWeek of 2025-12-14: +6,772 linesWeek of 2025-12-14: -1,464 linesWeek of 2025-12-21: +30,833 linesWeek of 2025-12-21: -8,845 linesWeek of 2025-12-28: +6,049 linesWeek of 2025-12-28: -4,576 linesWeek of 2026-01-04: +9,255 linesWeek of 2026-01-04: -4,272 linesWeek of 2026-01-11: +43,433 linesWeek of 2026-01-11: -11,455 linesWeek of 2026-01-18: +14,120 linesWeek of 2026-01-18: -21,236 linesWeek of 2026-01-25: +9,197 linesWeek of 2026-01-25: -4,638 linesWeek of 2026-02-01: +6,513 linesWeek of 2026-02-01: -1,916 linesWeek of 2026-02-08: +246,108 linesWeek of 2026-02-08: -237,075 linesWeek of 2026-02-15: +20,921 linesWeek of 2026-02-15: -10,356 linesWeek of 2026-02-22: +13,770 linesWeek of 2026-02-22: -21,706 linesWeek of 2026-03-01: +35,101 linesWeek of 2026-03-01: -6,117 linesWeek of 2026-03-08: +15,588 linesWeek of 2026-03-08: -1,942 linesWeek of 2026-03-15: +32,082 linesWeek of 2026-03-15: -6,164 linesWeek of 2026-03-22: +77,935 linesWeek of 2026-03-22: -34,318 linesWeek of 2026-03-29: +34,538 linesWeek of 2026-03-29: -4,830 linesWeek of 2026-04-05: +60,171 linesWeek of 2026-04-05: -57,890 linesWeek of 2026-04-12: +63,583 linesWeek of 2026-04-12: -19,040 linesWeek of 2026-04-19: +80,840 linesWeek of 2026-04-19: -69,827 linesWeek of 2026-04-26: +15,809 linesWeek of 2026-04-26: -3,555 linesWeek of 2026-05-03: +2,907 linesWeek of 2026-05-03: -894 linesWeek of 2026-05-10: +20,960 linesWeek of 2026-05-10: -9,125 linesWeek of 2026-05-17: +659,173 linesWeek of 2026-05-17: -634,780 linesWeek of 2026-05-24: +32,101 linesWeek of 2026-05-24: -3,829 linesWeek of 2026-05-31: +43,125 linesWeek of 2026-05-31: -3,823 linesWeek of 2026-06-07: +97,737 linesWeek of 2026-06-07: -12,016 linesWeek of 2026-06-14: +149,274 linesWeek of 2026-06-14: -126,269 linesWeek of 2026-06-21: +80,678 linesWeek of 2026-06-21: -9,258 linesWeek of 2026-06-28: +100,267 linesWeek of 2026-06-28: -81,765 linesWeek of 2026-07-05: +174,195 linesWeek of 2026-07-05: -42,590 linesWeek of 2026-07-12: +18,250 linesWeek of 2026-07-12: -15,597 linesWeek of 2026-07-19: +68,128 linesWeek of 2026-07-19: -13,339 linesWeek of 2026-07-26: +19,917 linesWeek of 2026-07-26: -83 linesAug 3, 2025Jul 26, 2026
+3.3M lines added, -2.2M removed over the last year.

Commits per week

last 52 weeks
1000Week of 2025-08-03: 44 commitsWeek of 2025-08-10: 30 commitsWeek of 2025-08-17: 24 commitsWeek of 2025-08-24: 61 commitsWeek of 2025-08-31: 56 commitsWeek of 2025-09-07: 8 commitsWeek of 2025-09-14: 19 commitsWeek of 2025-09-21: 31 commitsWeek of 2025-09-28: 78 commitsWeek of 2025-10-05: 26 commitsWeek of 2025-10-12: 11 commitsWeek of 2025-10-19: 3 commitsWeek of 2025-10-26: 14 commitsWeek of 2025-11-02: 11 commitsWeek of 2025-11-09: 24 commitsWeek of 2025-11-16: 22 commitsWeek of 2025-11-23: 59 commitsWeek of 2025-11-30: 28 commitsWeek of 2025-12-07: 28 commitsWeek of 2025-12-14: 15 commitsWeek of 2025-12-21: 39 commitsWeek of 2025-12-28: 9 commitsWeek of 2026-01-04: 21 commitsWeek of 2026-01-11: 45 commitsWeek of 2026-01-18: 39 commitsWeek of 2026-01-25: 26 commitsWeek of 2026-02-01: 28 commitsWeek of 2026-02-08: 18 commitsWeek of 2026-02-15: 24 commitsWeek of 2026-02-22: 32 commitsWeek of 2026-03-01: 38 commitsWeek of 2026-03-08: 20 commitsWeek of 2026-03-15: 20 commitsWeek of 2026-03-22: 25 commitsWeek of 2026-03-29: 34 commitsWeek of 2026-04-05: 8 commitsWeek of 2026-04-12: 19 commitsWeek of 2026-04-19: 42 commitsWeek of 2026-04-26: 35 commitsWeek of 2026-05-03: 23 commitsWeek of 2026-05-10: 20 commitsWeek of 2026-05-17: 36 commitsWeek of 2026-05-24: 33 commitsWeek of 2026-05-31: 30 commitsWeek of 2026-06-07: 100 commitsWeek of 2026-06-14: 62 commitsWeek of 2026-06-21: 26 commitsWeek of 2026-06-28: 27 commitsWeek of 2026-07-05: 87 commitsWeek of 2026-07-12: 38 commitsWeek of 2026-07-19: 52 commitsWeek of 2026-07-26: 3 commitsAug 3, 2025Jul 26, 2026
1.7K commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 27 commitsSun 1:00 — 15 commitsSun 2:00 — 2 commitsSun 3:00 — 0 commitsSun 4:00 — 2 commitsSun 5:00 — 1 commitsSun 6:00 — 3 commitsSun 7:00 — 3 commitsSun 8:00 — 6 commitsSun 9:00 — 10 commitsSun 10:00 — 20 commitsSun 11:00 — 29 commitsSun 12:00 — 27 commitsSun 13:00 — 36 commitsSun 14:00 — 33 commitsSun 15:00 — 40 commitsSun 16:00 — 35 commitsSun 17:00 — 45 commitsSun 18:00 — 24 commitsSun 19:00 — 22 commitsSun 20:00 — 24 commitsSun 21:00 — 43 commitsSun 22:00 — 41 commitsSun 23:00 — 37 commitsMon 0:00 — 17 commitsMon 1:00 — 2 commitsMon 2:00 — 3 commitsMon 3:00 — 2 commitsMon 4:00 — 4 commitsMon 5:00 — 0 commitsMon 6:00 — 1 commitsMon 7:00 — 2 commitsMon 8:00 — 6 commitsMon 9:00 — 15 commitsMon 10:00 — 88 commitsMon 11:00 — 81 commitsMon 12:00 — 50 commitsMon 13:00 — 51 commitsMon 14:00 — 64 commitsMon 15:00 — 61 commitsMon 16:00 — 48 commitsMon 17:00 — 26 commitsMon 18:00 — 43 commitsMon 19:00 — 45 commitsMon 20:00 — 40 commitsMon 21:00 — 38 commitsMon 22:00 — 48 commitsMon 23:00 — 65 commitsTue 0:00 — 35 commitsTue 1:00 — 9 commitsTue 2:00 — 2 commitsTue 3:00 — 1 commitsTue 4:00 — 2 commitsTue 5:00 — 2 commitsTue 6:00 — 1 commitsTue 7:00 — 0 commitsTue 8:00 — 8 commitsTue 9:00 — 18 commitsTue 10:00 — 69 commitsTue 11:00 — 72 commitsTue 12:00 — 50 commitsTue 13:00 — 39 commitsTue 14:00 — 43 commitsTue 15:00 — 56 commitsTue 16:00 — 35 commitsTue 17:00 — 64 commitsTue 18:00 — 35 commitsTue 19:00 — 35 commitsTue 20:00 — 32 commitsTue 21:00 — 36 commitsTue 22:00 — 47 commitsTue 23:00 — 40 commitsWed 0:00 — 32 commitsWed 1:00 — 16 commitsWed 2:00 — 3 commitsWed 3:00 — 3 commitsWed 4:00 — 0 commitsWed 5:00 — 1 commitsWed 6:00 — 2 commitsWed 7:00 — 8 commitsWed 8:00 — 14 commitsWed 9:00 — 18 commitsWed 10:00 — 54 commitsWed 11:00 — 56 commitsWed 12:00 — 38 commitsWed 13:00 — 53 commitsWed 14:00 — 48 commitsWed 15:00 — 58 commitsWed 16:00 — 44 commitsWed 17:00 — 32 commitsWed 18:00 — 38 commitsWed 19:00 — 30 commitsWed 20:00 — 31 commitsWed 21:00 — 45 commitsWed 22:00 — 60 commitsWed 23:00 — 54 commitsThu 0:00 — 21 commitsThu 1:00 — 5 commitsThu 2:00 — 5 commitsThu 3:00 — 3 commitsThu 4:00 — 2 commitsThu 5:00 — 1 commitsThu 6:00 — 2 commitsThu 7:00 — 3 commitsThu 8:00 — 16 commitsThu 9:00 — 18 commitsThu 10:00 — 44 commitsThu 11:00 — 63 commitsThu 12:00 — 55 commitsThu 13:00 — 44 commitsThu 14:00 — 36 commitsThu 15:00 — 48 commitsThu 16:00 — 50 commitsThu 17:00 — 55 commitsThu 18:00 — 37 commitsThu 19:00 — 41 commitsThu 20:00 — 64 commitsThu 21:00 — 74 commitsThu 22:00 — 48 commitsThu 23:00 — 59 commitsFri 0:00 — 38 commitsFri 1:00 — 4 commitsFri 2:00 — 1 commitsFri 3:00 — 5 commitsFri 4:00 — 1 commitsFri 5:00 — 1 commitsFri 6:00 — 3 commitsFri 7:00 — 2 commitsFri 8:00 — 9 commitsFri 9:00 — 23 commitsFri 10:00 — 47 commitsFri 11:00 — 57 commitsFri 12:00 — 64 commitsFri 13:00 — 57 commitsFri 14:00 — 45 commitsFri 15:00 — 46 commitsFri 16:00 — 40 commitsFri 17:00 — 33 commitsFri 18:00 — 27 commitsFri 19:00 — 39 commitsFri 20:00 — 37 commitsFri 21:00 — 26 commitsFri 22:00 — 39 commitsFri 23:00 — 47 commitsSat 0:00 — 40 commitsSat 1:00 — 6 commitsSat 2:00 — 5 commitsSat 3:00 — 1 commitsSat 4:00 — 1 commitsSat 5:00 — 2 commitsSat 6:00 — 1 commitsSat 7:00 — 1 commitsSat 8:00 — 5 commitsSat 9:00 — 17 commitsSat 10:00 — 36 commitsSat 11:00 — 28 commitsSat 12:00 — 55 commitsSat 13:00 — 50 commitsSat 14:00 — 37 commitsSat 15:00 — 32 commitsSat 16:00 — 35 commitsSat 17:00 — 28 commitsSat 18:00 — 31 commitsSat 19:00 — 40 commitsSat 20:00 — 24 commitsSat 21:00 — 27 commitsSat 22:00 — 40 commitsSat 23:00 — 70 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.
DateListRankStars gained
Jun 21, 2026daily#23+23
  • awesome-selfhosted/awesome-selfhosted

    A list of Free Software network services and web applications which can be hosted on your own servers

    311.2K stars

  • avelino/awesome-go

    A curated list of awesome Go frameworks, libraries and software

    180.4K stars · Go

  • microsoft/markitdown

    Python tool for converting files and office documents to Markdown.

    172.2K stars · Python

  • krahets/hello-algo

    《Hello 算法》:动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語,提供 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现

    129.3K stars · Java

  • immich-app/immich

    High performance self-hosted photo and video management solution.

    109.9K stars · TypeScript

  • sherlock-project/sherlock

    Hunt down social media accounts by username across social networks

    88.4K stars · Python