A privacy-first, production-grade Instagram follower analysis tool that respects Meta's Terms of Service.
Deploy InstaFollow Comparator in seconds with a single command:
docker run -p 3000:3000 synapsr/instafollowcomparatorThen open your browser to http://localhost:3000 and start analyzing your Instagram relationships! 🎉
🔥 That's it! No installation, no dependencies, no configuration needed.
- 🔒 100% Privacy-First: All processing happens in your browser - no data ever leaves your device
- ⚡ Lightning Fast: Optimized algorithms for instant analysis of large datasets
- 🎨 Modern UI/UX: Beautiful, responsive interface built with modern design principles
- 📱 Mobile Friendly: Works seamlessly across all devices and screen sizes
- 📊 Comprehensive Analytics: Detailed insights into your Instagram relationships
- 📥 Export Functionality: Download your analysis results as JSON
- 🔗 Share Results: Share summary statistics with friends
- 🛡️ Compliant: Uses official Instagram data export - no API scraping
People who follow you and you follow back - your genuine connections!
Accounts you follow but don't get a follow back from - time to clean up your following list?
Your followers that you're not following back - potential new connections to explore!
- Total followers and following counts
- Follow-back percentage
- Relationship breakdowns with timestamps
Frontend & Framework
- Next.js 14 - React framework with App Router
- TypeScript - Type safety and better DX
- Tailwind CSS - Utility-first styling
- Framer Motion - Smooth animations
- Lucide React - Beautiful icons
Data Processing
- JSZip - Client-side ZIP file processing
- Custom TypeScript parsers for Instagram data formats
Development & Production
- ESLint - Code linting
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixes
-
Open Instagram Settings
- Go to Instagram (app or web)
- Navigate to Settings → Privacy and Security
-
Request Data Download
- Click "Data Download"
- Choose JSON format (important!)
- Select "Connections" data
- Request download
-
Wait for Email
- Instagram will send you a download link
- This can take up to 14 days
-
Upload & Analyze
- Download the ZIP file from Instagram's email
- Upload it to InstaFollow Comparator
- Get instant analysis!
- Node.js 18+
- Docker (optional but recommended)
- Git
# Clone the repository
git clone https://github.com/Synapsr/InstaFollowComparator.git
cd InstaFollowComparator
# Build and run with Docker
docker build -t instafollowcomparator .
docker run -p 3000:3000 instafollowcomparator# Clone the repository
git clone https://github.com/Synapsr/InstaFollowComparator.git
cd InstaFollowComparator
# Install dependencies
npm install
# Start development server
npm run dev
# Open http://localhost:3000 in your browser# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run type-check # Run TypeScript checks
# Docker Commands
docker build -t instafollowcomparator . # Build Docker image
docker run -p 3000:3000 instafollowcomparator # Run container
# Build Scripts (Recommended)
./scripts/build.sh --dev # Development mode with hot reload
./scripts/build.sh --prod # Production build and validation
./scripts/build.sh --docker # Docker build with validation# Pull and run the latest version
docker run -p 3000:3000 synapsr/instafollowcomparator
# Run with custom port
docker run -p 8080:3000 synapsr/instafollowcomparator
# Run in detached mode with health checks
docker run -d -p 3000:3000 --name instafollowcomparator synapsr/instafollowcomparator
# Check container health
docker ps # Shows health status# docker-compose.yml
version: '3.8'
services:
instafollowcomparator:
image: synapsr/instafollowcomparator
ports:
- "3000:3000"
environment:
- NODE_ENV=production
restart: unless-stopped# Deploy with docker-compose
curl -o docker-compose.yml https://raw.githubusercontent.com/Synapsr/InstaFollowComparator/main/docker-compose.yml
docker-compose up -d# Build and run locally
npm run build
npm start
# Or with Docker
docker build -t instafollowcomparator .
docker run -p 3000:3000 instafollowcomparatorsrc/
├── app/ # Next.js App Router pages
│ ├── layout.tsx # Root layout with error boundary
│ ├── page.tsx # Home page with upload interface
│ ├── results/ # Results page
│ └── globals.css # Global styles
├── components/ # Reusable React components
│ └── ErrorBoundary.tsx
├── lib/ # Utility functions
│ └── instagram-parser.ts
└── types/ # TypeScript definitions
└── instagram.ts
- ZIP Upload - User selects Instagram data export ZIP file
- File Validation - Verify ZIP structure and required files
- JSON Parsing - Extract and parse followers/following data
- Relationship Analysis - Compare datasets to find relationships
- Results Display - Present findings in beautiful, interactive UI
Instagram Data Parser (src/lib/instagram-parser.ts)
- Handles ZIP file processing
- Parses Instagram's JSON data structure
- Implements comparison algorithms
- Type-safe data transformation
Results Page (src/app/results/page.tsx)
- Interactive tabbed interface
- Real-time filtering and sorting
- Export and sharing functionality
- Mobile-optimized design
Error Boundary (src/components/ErrorBoundary.tsx)
- Graceful error handling
- User-friendly error messages
- Development vs production error display
- Recovery options
- Zero Server Processing: All data processing happens client-side
- No Data Storage: Nothing is saved to databases or servers
- Session-Only: Data only exists in browser session storage
- No Analytics: No tracking or analytics on user data
- ✅ Uses official Instagram data export (no scraping)
- ✅ Respects Meta's Terms of Service
- ✅ No API violations or unauthorized access
- ✅ Privacy-first architecture
We welcome contributions from the community! Here's how you can help improve InstaFollow Comparator:
-
Fork & Clone
git clone https://github.com/yourusername/InstaFollowComparator.git cd InstaFollowComparator -
Set Up Development Environment
npm install npm run dev
-
Create Feature Branch
git checkout -b feature/your-awesome-feature
-
Make Your Changes
- Write clean, typed code
- Follow existing code style
- Add tests where appropriate
- Update documentation if needed
-
Test Thoroughly
npm run lint npm run type-check npm run build # Test with Docker docker build -t instafollowcomparator . docker run -p 3000:3000 instafollowcomparator
-
Submit Pull Request
- Clear description of changes
- Reference related issues
- Include screenshots if UI changes
- TypeScript: All new code must be typed
- ESLint: Follow the established linting rules
- Tailwind CSS: Use utility classes for styling
- Commits: Write clear, descriptive commit messages
- Components: Keep components focused and reusable
- 🌍 Internationalization: Help translate the app
- 📊 Analytics: Add more insights and statistics
- 🎨 UI/UX: Improve the design and user experience
- 🔧 Performance: Optimize parsing and rendering
- 📱 Mobile: Enhance mobile experience
- 🐳 DevOps: Improve Docker setup and CI/CD
- 📚 Documentation: Expand guides and examples
If you find InstaFollow Comparator helpful, please consider:
- ⭐ Starring this repository
- 🐳 Pulling the Docker image:
docker pull synapsr/instafollowcomparator - 📢 Sharing with friends who use Instagram
- 🐛 Contributing by reporting bugs or suggesting features
- 💖 Sponsoring the project development
This project is licensed under the MIT License - see the LICENSE.md file for details.
- 📸 Instagram for providing the official data export feature
- ⚡ Next.js Team for the incredible React framework
- 🎨 Tailwind CSS for the utility-first CSS framework
- 🐳 Docker for containerization technology
- 💜 Open Source Community for inspiration and support
- 👥 All Contributors who help improve this tool
🔒 Is this safe to use? Will my data be stolen?
Absolutely safe! Your data never leaves your browser. Everything is processed locally using client-side JavaScript. We don't have servers to collect your data even if we wanted to.
⚖️ Does this violate Instagram's Terms of Service?
No! This tool only uses Instagram's official data export feature - no scraping, no unauthorized API calls, no violations. It's the same data Instagram gives you directly.
⏱️ How long does Instagram take to prepare my export?
Instagram says up to 14 days, but it's usually much faster (24-48 hours). You'll receive an email with a download link when it's ready.
💼 Can I use this for business/creator accounts?
Yes! The tool works with personal, business, and creator accounts. Any Instagram account that can request a data export will work.
❌ My ZIP file doesn't work. What's wrong?
Make sure you: - Selected JSON format (not HTML) when requesting the export - Included Connections data in your export request - Downloaded the complete ZIP file from Instagram's email - The file isn't corrupted (try re-downloading)
📊 Why are the numbers different from my profile?
Instagram's official export doesn't include: - Deleted/deactivated accounts - Users who have blocked you - Some private accounts - Very recent follows/unfollows
This is a limitation of Instagram's export, not our tool.
🐳 How do I update to the latest Docker version?
# Pull the latest image
docker pull synapsr/instafollowcomparator:latest
# Stop and remove old container
docker stop instafollowcomparator
docker rm instafollowcomparator
# Run with latest image
docker run -d -p 3000:3000 --name instafollowcomparator synapsr/instafollowcomparator🎉 Ready to discover your Instagram relationships?
docker run -p 3000:3000 synapsr/instafollowcomparatorMade with 💜 by Synapsr for the Instagram community
⭐ Star on GitHub • 🐳 Docker Hub • 🐛 Report Issue • 💡 Request Feature