sindresorhus/ora

Elegant terminal spinner

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 6th, 2026
Created on March 3rd, 2016
Open Issues & Pull Requests: 0 (+0)
GitHub issues: Enabled
Number of forks: 292
Total Stargazers: 9,749 (+0)
Total Subscribers: 53 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.1 days
Mean response time: 181.6 days
90th percentile: 608.0 days
Tracked items: 27

How this project is maintained

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

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 0
New in 7 days: 0
Closed in 7 days: 0
Avg open age: N/A days
Stale 30+ days: 0
Stale 90+ days: 0

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 (2)
  • :gift: Rewarded on Issuehunt (1)
  • help wanted (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Ora is a terminal spinner library that displays elegant, animated loading indicators in Node.js command-line applications.

The tool solves the problem of providing visual feedback during long-running operations in terminal environments. It works by rendering animated spinner frames to the output stream, allowing developers to display text alongside the animation and update it dynamically. The spinner automatically adapts to the environment, detecting whether output is going to a TTY and disabling animations in non-interactive contexts like CI systems or piped output.

Developers should choose Ora for applications that need polished terminal user experience during asynchronous operations. It suits any Node.js CLI tool, build process, or deployment script where users benefit from seeing progress indication. The README mentions a smaller alternative for projects with strict size constraints. The tool provides fine-grained control through options like custom spinner styles, text positioning with prefix and suffix text, color customization, cursor visibility, and output stream selection. It handles platform differences automatically, falling back to simpler spinners on Windows where Unicode support is limited. The library includes a feature to discard stdin input while the spinner runs, preventing visual glitches from keyboard input, though this requires careful handling of asynchronous code to keep interrupt signals responsive.

Development activity shows consistent maintenance with regular updates addressing edge cases and platform compatibility. The project maintains a curated set of built-in spinner styles rather than accepting arbitrary community contributions for new animations. Documentation is thorough with detailed API options and clear guidance on behavior in different environments. The maintainer actively considers user feedback on features like stdin handling and provides workarounds for platform-specific limitations.