espanso/espanso

A Privacy-first, Cross-platform Text Expander written in Rust

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 44 minutes ago
Added to GitGenius on September 4th, 2026
Created on August 30th, 2019
Open Issues & Pull Requests: 539 (+0)
GitHub issues: Enabled
Number of forks: 462
Total Stargazers: 14,444 (+0)
Total Subscribers: 68 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 346
New in 7 days: 5
Closed in 7 days: 2
Avg open age: 613 days
Stale 30+ days: 317
Stale 90+ days: 269

Recent activity

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

Top labels

  • bug (377)
  • needs-triage (273)
  • enhancement (185)
  • Linux (57)
  • MacOS (43)
  • question (35)
  • wayland (32)
  • windows (31)

Detailed Description

Espanso is a text expander that replaces typed shortcuts with longer text snippets across your operating system.

The tool solves the problem of repetitive typing by allowing you to define custom abbreviations that expand into full phrases, code blocks, or other content whenever you type them. It works by monitoring your keyboard input globally and performing text substitution in any application. The expansion happens at the system level, so it functions consistently whether you are writing in a terminal, browser, code editor, or word processor. Espanso is written in Rust and emphasizes privacy by performing all processing locally without sending data to external services.

Espanso suits developers, writers, and anyone who types the same phrases repeatedly. It works well for expanding email signatures, code snippets, boilerplate text, or frequently used responses. The tool is cross-platform, running on Linux, macOS, and Windows, so you can maintain the same expansion library across different machines. If you need a lightweight, self-contained solution that does not require cloud synchronization or account creation, this approach fits well. The privacy-first design means your expansion library stays on your device.

The project shows consistent maintenance with regular updates addressing bug fixes and feature improvements. Development activity demonstrates responsiveness to user-reported issues and steady refinement of core functionality. The codebase receives ongoing attention to performance and compatibility across supported platforms. Community contributions are integrated regularly, indicating an active review process for proposed changes.