npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

react-old-icons

v1.0.2

Published

Old Windows icons as React components

Readme

🪟 React Old Icons

A comprehensive React component library featuring over 2,300 classic icons from vintage operating systems and software. Includes iconic designs from Windows 95, 98, XP, Vista, 7, classic games, and retro applications. Perfect for retro-themed applications, nostalgic UIs, and preserving digital history.

🌐 Interactive Icon Browser

🔍 Browse All Icons →

Explore all 2,300+ icons with our interactive browser featuring search, filtering, and one-click code copying.

📦 Installation

npm install react-old-icons

🚀 Usage

Import and use icons as React components with full TypeScript support:

import { 
  Windows7Calculator, 
  Games1nsane, 
  SoftwarePhotoshop,
  Windows95Notepad 
} from 'react-old-icons';

function App() {
  return (
    <div>
      {/* Basic usage */}
      <WindowsDesktopControlPanel size={32} />
      
      {/* With custom styling */}
      <DrvSpaceIcon 
        size={48} 
        className="my-icon" 
        style={{ margin: '10px' }} 
      />
      
      {/* Responsive sizing */}
      <WindowsRecycleBin size="2rem" />
      
      {/* With accessibility */}
      <Windows95Notepad 
        size={24} 
        alt="Classic Notepad icon" 
      />
    </div>
  );
}

🔧 Props

All icon components accept the following props:

| Prop | Type | Default | Description | |------|------|---------|-------------| | size | number \| string | 24 | Icon size in pixels or CSS units | | className | string | undefined | CSS class name for styling | | style | React.CSSProperties | undefined | Inline styles object | | alt | string | undefined | Alt text for accessibility |

📚 Available Icons

This library includes 2,300+ classic icons organized by categories:

  • 🎮 Games - Classic game icons (1nsane, AfterDark, Age of Empires, Counter-Strike, etc.)
  • 💻 Software - Application icons (Photoshop, WinRAR, Media Player, Firefox, etc.)
  • 🖥️ System - System and utility icons from various operating systems
  • 🪟 Windows Versions - OS-specific icons from Windows 95, 98, XP, Vista, 7

Icon Browser

Visit our Interactive Icon Browser to:

  • 🔍 Search through all available icons
  • 📋 Copy component code with one click
  • 📁 Filter by category
  • 📏 Preview different sizes
  • ⌨️ Use keyboard shortcuts for quick navigation

🤝 Contributing

We welcome contributions! Here's how you can help:

Ways to Contribute:

  • 🐛 Report bugs - Found an issue? Let us know!
  • 💡 Suggest features - Have ideas for improvements?
  • 📝 Improve documentation - Help make our docs better
  • 🎨 Add missing icons - Know of classic icons we missed?
  • 🧹 Code improvements - Optimize performance or add features
  • 🏷️ Recategorize icons - Help improve icon categorization for better organization

Getting Started:

  1. Fork this repository
  2. Create a feature branch: git checkout -b feature/your-feature-name
  3. Make your changes and test them
  4. Submit a pull request with a clear description

Icon Contributions:

If you have classic icons from vintage software or operating systems to contribute:

  1. Ensure they're historically accurate and from the retro computing era
  2. Provide source information when possible
  3. Follow our naming conventions
  4. Include appropriate metadata

Icon Recategorization:

Feel free to contribute to better icon organization:

  1. Review the page/icons.jsonl file for categorization improvements
  2. Suggest more accurate categories for misclassified icons
  3. Propose new category structures that better reflect software history
  4. Help normalize icon names for improved searchability

⚖️ Legal & Usage

📋 License

This project is licensed under the MIT License for the code and tooling.

🚫 Commercial Use Restrictions

This library is intended for non-commercial, educational, and historical preservation purposes only.

🏢 Icon Ownership

  • The icons in this collection are property of their respective companies
  • Microsoft Corporation owns Windows-related icons
  • Game developers and publishers own their respective game icons
  • Software companies own their application icons
  • Icons are used here for historical preservation and educational purposes

📚 Fair Use

This collection falls under fair use for:

  • Historical preservation of digital artifacts
  • Educational purposes about computing history
  • Non-commercial personal projects
  • Academic research and documentation

Please respect intellectual property rights and use responsibly.

🛠️ Technical Implementation

This project was built using a comprehensive data pipeline and modern web technologies:

🔄 Data Collection & Processing

  • 🐍 Web Scraping: Used Python with BeautifulSoup to systematically collect classic icons from sources
  • 🤖 AI Processing: Leveraged Ollama with Llama 3.1 8B locally for:
    • Converting original icon names into valid React component names
    • Intelligent categorization of icons by software type and era
    • Normalizing metadata for consistent search functionality

🖼️ Image Processing Pipeline

  • 📏 Resizing: Python scripts using Pillow to standardize icon dimensions
  • 🗂️ Renaming: Automated file renaming to match component naming conventions
  • ⚡ WebP Conversion: Optimized all images to WebP format for superior web performance
  • 🎯 Cropping: Removed excess whitespace while preserving icon integrity

💻 Technologies Used

| Technology | Purpose | Badge | |------------|---------|-------| | Python | Web scraping, AI processing, image processing | Core automation | | Ollama | Local LLM inference | AI naming & categorization | | TypeScript | Component library development | Type safety | | JavaScript | Interactive browser | Icon preview | | HTML5 | Browser interface | Structure | | CSS3 | Retro styling | Presentation | | Electron | Desktop application | Native app development | | BeautifulSoup | HTML parsing | Web scraping | | Pillow | Image processing | Optimization |

🌟 Credits & Sources

Acknowledgments

  • 🙏 Original creators - The designers and companies who created these iconic interfaces
  • 📦 Old Windows Icons Tumblr - For preserving and cataloging these digital artifacts
  • 🏛️ Digital preservation community - For keeping computing history alive
  • 🎨 Icon designers - Who created the visual language of early computing

Historical Significance

These icons represent an important era in computing history:

  • 🖥️ Early GUI development across different platforms (1990s-2000s)
  • 🎮 Golden age of PC gaming and iconic game designs
  • 💿 Software packaging and branding evolution
  • 🎨 Digital design language development across various applications

🏛️ Digital Preservation

This project serves as:

  • 📚 Historical archive of classic computer iconography
  • 🎓 Educational resource for design and computing history
  • 🔍 Research tool for UI/UX evolution studies
  • 💾 Cultural preservation of digital heritage from various platforms

By preserving these icons, we maintain a visual record of how computer interfaces evolved across different operating systems and applications, influencing modern design.

🛠️ Building from Source

# Clone the repository
git clone https://github.com/gsnoopy/react-old-icons.git
cd react-old-icons

# Install dependencies
npm install

# Generate icon components
npm run generate

# Build the library
npm run build

# Run tests
npm test

📊 Project Stats

  • 📦 2,300+ icons across multiple categories
  • 🏷️ TypeScript support with full type definitions
  • Tree-shakeable - Only bundle icons you use
  • 📱 Responsive - Works with any CSS unit
  • Accessible - Screen reader friendly
  • 🎨 Retro-authentic - Pixel-perfect historical accuracy

📞 Support & Contact


🏝️ In Memory

The favicon of this project features Johnny Castaway, the iconic screensaver character from the 1990s.

Rest in peace, Shawn Bird - the creative mind behind Johnny Castaway and many other digital experiences that defined an era of computing nostalgia.