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