swup/swup

Versatile and extensible page transition library for server-rendered websites 🎉

View on GitHub ↗Jump to charts ↓Open shareable report →

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 13th, 2026
Created on October 9th, 2017
Open Issues & Pull Requests: 4 (+0)
GitHub issues: Enabled
Number of forks: 200
Total Stargazers: 5,224 (+0)
Total Subscribers: 36 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.4 hours
Mean response time: 3.5 hours
90th percentile: 7.6 hours
Tracked items: 23

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 11% of issues opened in the past year have been closed. Three people close 95% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 515 days
Stale 30+ days: 3
Stale 90+ days: 2

Recent activity

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

Top labels

  • enhancement (4)
  • bug (3)
  • dependencies (1)
  • github_actions (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Swup is a page transition library that adds smooth animations between pages on server-rendered websites without requiring a single-page app architecture.

The library solves the problem of making traditional server-rendered sites feel responsive and modern by managing the complete page load lifecycle. It automatically detects CSS transitions and animations to time them perfectly, then smoothly animates between the current and next page while handling URL updates, browser history, scroll position management, and page caching. The approach requires minimal markup and works out of the box, letting developers add snappy page transitions to existing server-rendered sites without architectural complexity.

Swup suits teams maintaining traditional server-rendered websites who want to improve perceived performance and user experience without migrating to a single-page app framework. The tool is intentionally small by design, with extended features available through a plugin system that includes official plugins for progress bars, smooth scrolling, meta tag updates, page preloading, accessibility improvements, JavaScript-based animations, form submission handling, and debug mode. The project also provides three ready-made themes—fade, slide, and overlay—to accelerate initial setup.

The project maintains active engagement with its community through discussions and maintains comprehensive documentation covering getting started, hooks for customization, and the plugin ecosystem. Development activity shows consistent attention to the codebase with regular updates and refinements to the core library and its plugin ecosystem.