Skip to content

indiser/Sticker-Vault-Web

Repository files navigation

🎯 Sticker Vault

Your Personal WhatsApp Sticker Arsenal

Python Flask JavaScript WhatsApp

Extract • Organize • Deploy

A complete automation suite that transforms WhatsApp Web stickers into organized, importable packs with a stunning web gallery.


🌟 What is Sticker Vault?

Sticker Vault bridges the gap between WhatsApp Web and custom sticker apps with a seamless three-step workflow:

graph LR
    A[🌐 WhatsApp Web] -->|Extract| B[⚙️ Sticker Vault]
    B -->|Process| C[📦 Organized Packs]
    C -->|Import| D[📱 WhatsApp App]
    
    style A fill:#25D366,stroke:#128C7E,color:#fff
    style B fill:#3776AB,stroke:#2C5F8D,color:#fff
    style C fill:#F7DF1E,stroke:#F0DB4F,color:#000
    style D fill:#25D366,stroke:#128C7E,color:#fff
Loading
🔍
Extract
Scrape stickers from WhatsApp Web

Process
Deduplicate & organize automatically
🎨
Browse
Beautiful web gallery with previews
📲
Import
One-click WhatsApp integration

✨ Key Features

🔍 Smart Extraction

Browser-based scraper captures blob URLs from WhatsApp Web in real-time as you scroll through chats.

🛡️ Auto Deduplication

SHA-256 hashing eliminates duplicate stickers automatically—no manual cleanup needed.

📦 WhatsApp Compliant

Auto-chunks stickers into packs of 30 with proper manifest generation and tray icons.

🎨 Beautiful Gallery

Dark-themed Flask web app with lazy loading, smooth animations, and responsive design.

⬇️ Instant Downloads

Click any sticker to download it directly—no complicated export process.

🖼️ Tray Icon Generation

Automatically creates optimized 96×96 PNG tray icons for each pack.


🛠️ Tech Stack

Layer Technologies
Backend Python Flask
Frontend HTML5 TailwindCSS JavaScript
Processing Pillow SHA-256 Hashing
Data JSON WebP Format

📁 Project Structure

wp_stickers/
│
├── 🐍 Python Scripts
│   ├── app.py                    # Flask web server
│   ├── build.py                  # Deduplication & build pipeline
│   ├── generate_manifest.py      # WhatsApp manifest generator
│   └── make_trays.py             # Tray icon generator (96x96)
│
├── 🌐 Browser Scripts
│   ├── sticker_finder.js         # Scraper (run in DevTools)
│   └── sticker_downloader.js     # Batch downloader
│
├── 📄 Data Files
│   ├── contents.json             # WhatsApp sticker manifest
│   └── stickers.json             # Gallery metadata
│
├── 🎨 Web Interface
│   ├── templates/
│   │   └── index.html            # Dark-themed gallery
│   └── static/
│       └── dist/                 # Processed stickers
│
├── 📦 Sticker Packs
│   ├── 1/                        # Pack 1 (30 stickers)
│   ├── 2/                        # Pack 2 (30 stickers)
│   ├── 3/                        # Pack 3 (remaining)
│   └── tray_*.png                # Pack tray icons
│
└── 🗂️ stickers/                  # Raw extracted files

🚀 Quick Start

📋 Prerequisites

✅ Python 3.8+ ✅ pip package manager ✅ Modern browser (Chrome/Edge/Firefox)

⚙️ Installation

# Clone the repository
git clone https://github.com/indiser/Sticker-Vault-Web.git
cd sticker-vault

# Install dependencies
pip install flask pillow

📖 Complete Workflow

Step 1️⃣: Extract Stickers from WhatsApp Web

1. Open WhatsApp Web in your browser
2. Press F12 to open Developer Tools
3. Navigate to the Console tab
4. Paste and run sticker_finder.js
5. Scroll through chats to capture sticker URLs
6. Run sticker_downloader.js to download all stickers
7. Move downloaded files to the stickers/ folder

Step 2️⃣: Build & Deduplicate

python build.py
🔍 What this does
  • ✅ Removes duplicate stickers using SHA-256 hashing
  • ✅ Renames files to sequential format (sticker_001.webp)
  • ✅ Stages output to static/dist/
  • ✅ Generates stickers.json for the web gallery

Step 3️⃣: Generate WhatsApp Manifest

python generate_manifest.py
🔍 What this does
  • ✅ Creates WhatsApp-compliant contents.json
  • ✅ Auto-chunks stickers into packs of 30
  • ✅ Assigns tray icons and emoji metadata

Step 4️⃣: Generate Tray Icons

python make_trays.py
🔍 What this does
  • ✅ Generates 96×96 PNG tray icons
  • ✅ Optimizes file size (under 50KB limit)
  • ✅ Creates one icon per sticker pack

Step 5️⃣: Launch Web Gallery

python app.py
🔍 What this does
  • ✅ Starts Flask server at http://localhost:5000
  • ✅ Displays all stickers with smooth animations
  • ✅ Enables one-click downloads

🎉 Your sticker gallery is now live!


📱 WhatsApp Compliance Checklist

Requirement Status Details
WebP Format All stickers in .webp format
Pack Size Maximum 30 stickers per pack
Tray Icon 96×96 PNG format
Icon Size Under 50KB per icon
Emoji Metadata At least 1 emoji per sticker
Manifest Schema Valid contents.json

🎨 Gallery Features

🌙
Dark Theme
Slate color palette

Animations
Staggered fade-ins
🖼️
Lazy Loading
Optimized performance
📱
Responsive
Mobile-friendly grid

🤝 Contributing

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

🐛 Found a bug?
Open an issue with details

💡 Have an idea?
Submit a feature request

🔧 Want to code?
Fork and create a PR

Contribution Steps

# 1. Fork the repository
# 2. Create your feature branch
git checkout -b feature/amazing-feature

# 3. Commit your changes
git commit -m 'Add amazing feature'

# 4. Push to the branch
git push origin feature/amazing-feature

# 5. Open a Pull Request

📄 License

This project is licensed under the MIT License

See the LICENSE file for details


🙏 Acknowledgments

Built with ❤️ using:

Flask Tailwind CSS Python

Inspired by the WhatsApp Sticker Platform


💫 Made with passion by Indiser

Back to Top ⬆️

⭐ Star this repo if you found it helpful!

GitHub stars GitHub forks

About

Complete pipeline to extract, organize, and deploy WhatsApp sticker packs. Browser-based scraper, SHA-256 deduplication, auto-packaging, tray icon generation, and dark-themed web gallery. Flask + Python + JavaScript.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors