guardsquare/proguard

ProGuard, Java optimizer and obfuscator

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 18 minutes ago
Added to GitGenius on September 19th, 2026
Created on March 27th, 2019
Open Issues & Pull Requests: 176 (+0)
GitHub issues: Enabled
Number of forks: 485
Total Stargazers: 3,664 (+0)
Total Subscribers: 66 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.4 days
Mean response time: 190.7 days
90th percentile: 688.6 days
Tracked items: 103

Most active contributors

Sign in to see contributor activity.

How this project is maintained

100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 75% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 62
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 855 days
Stale 30+ days: 60
Stale 90+ days: 57

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (21)
  • confirmed (15)
  • needs-more-info (10)
  • enhancement (9)
  • kotlin-support (7)
  • obfuscation (5)
  • optimization (5)
  • cant-reproduce (4)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ProGuard is a Java optimizer and obfuscator that shrinks, optimizes, and obfuscates bytecode while removing unused code.

The tool addresses the problem of bloated Java applications and libraries by operating as an advanced optimizing compiler. It detects and removes unused classes, fields, methods, and attributes; optimizes bytecode by eliminating unused instructions; and renames remaining identifiers with short meaningless names. This multi-stage approach typically reduces application size by between twenty and ninety percent, with the reduction depending largely on how much external library code can be eliminated. The optimizations may also improve application performance by up to twenty percent, though this benefit is generally more noticeable on mobile platforms than on server or desktop Java virtual machines.

ProGuard suits projects where code size and startup performance matter, particularly Android applications where APK size directly affects user experience and download friction. It works as a command-line tool, integrates into Gradle builds, and can be embedded in custom build pipelines. The tool is appropriate for any Java or Android project using external libraries, since it can identify and strip unused code from dependencies that would otherwise bloat the final artifact.

The project maintains active continuous integration with regular builds. Development activity shows consistent engagement with the issue tracker for bug reports and crash handling. The tool is distributed through Maven Central, indicating ongoing maintenance of its build and release infrastructure.