Extract β’ Organize β’ Deploy
A complete automation suite that transforms WhatsApp Web stickers into organized, importable packs with a stunning web gallery.
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
| π Extract Scrape stickers from WhatsApp Web |
β‘ Process Deduplicate & organize automatically |
π¨ Browse Beautiful web gallery with previews |
π² Import One-click WhatsApp integration |
|
Browser-based scraper captures blob URLs from WhatsApp Web in real-time as you scroll through chats. SHA-256 hashing eliminates duplicate stickers automaticallyβno manual cleanup needed. Auto-chunks stickers into packs of 30 with proper manifest generation and tray icons. |
Dark-themed Flask web app with lazy loading, smooth animations, and responsive design. Click any sticker to download it directlyβno complicated export process. Automatically creates optimized 96Γ96 PNG tray icons for each pack. |
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
| β Python 3.8+ | β pip package manager | β Modern browser (Chrome/Edge/Firefox) |
# Clone the repository
git clone https://github.com/indiser/Sticker-Vault-Web.git
cd sticker-vault
# Install dependencies
pip install flask pillow| 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 |
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.jsonfor the web gallery
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
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
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!
| 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 |
| π Dark Theme Slate color palette |
β¨ Animations Staggered fade-ins |
πΌοΈ Lazy Loading Optimized performance |
π± Responsive Mobile-friendly grid |
We welcome contributions! Here's how you can help:
|
π Found a bug? |
π‘ Have an idea? |
π§ Want to code? |
# 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 RequestThis project is licensed under the MIT License
See the LICENSE file for details