steamfetch
neofetch for Steam - Display your Steam stats in terminal with style.
Screenshot

Installation
Install Script (Recommended)
|
Homebrew (macOS / Linux)
From crates.io
Download Binary
Download the latest release from GitHub Releases.
Build from Source
Setup
1. Get Your Steam API Key
- Visit https://steamcommunity.com/dev/apikey
- Log in with your Steam account
- Create a new API key
2. Find Your Steam ID
Visit https://steamid.io/ and enter your Steam profile URL.
3. Configure
On first run, steamfetch creates a config file at ~/.config/steamfetch/config.toml.
Edit the config file:
[]
= "your_api_key_here"
= "your_steam_id_here"
[]
= 5
= true
= true
= true
Or use environment variables (takes precedence over config file):
Note: If Steam is running, STEAM_ID is auto-detected via Native SDK.
Usage
# Display your Steam stats
# Show profile avatar image instead of ASCII logo
# Specify image protocol (auto, kitty, iterm, sixel)
# Demo mode (no API key required)
# Demo mode with image
# Show config file path
# Use custom config file
# Verbose output for debugging
# Show version
# Show help
Features
- Steam account stats (level, member since, games owned)
- Playtime statistics with fun titles
- Achievement progress and perfect games count
- Top played games list
- Recently played games (last 2 weeks)
- Rarest achievement display
- Beautiful SteamOS ASCII art with gradient colors
- Image display: Show your Steam avatar with
--imageflag - Demo mode for testing without API setup
Image Display
Use --image to show your Steam profile avatar instead of the ASCII logo.
Supported protocols:
- Sixel - Windows Terminal, WezTerm, foot, mlterm, xterm
- Kitty - Kitty terminal
- iTerm2 - iTerm2
- Block characters - Fallback for unsupported terminals
Protocol is auto-detected by default. Use --image-protocol to override.
Images are cached locally at ~/.cache/steamfetch/images/.
How It Works
With Steam Client Running
Uses Steamworks SDK for accurate game detection:
- Automatically detects logged-in Steam user
- Checks ownership for all known Steam games (~73,000 titles)
- Most accurate game count and achievement statistics
Without Steam Client
Falls back to Steam Web API:
- Requires
STEAM_API_KEYandSTEAM_IDenvironment variables - Returns games visible in your library
- Some owned games may not appear in API response
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
ISC License - see LICENSE for details.