A modern, responsive IP address tracker that allows you to search for any IP address or domain and view its location on an interactive map.
- IP Address Search: Enter any valid IP address to get location details
- Domain Search: Search by domain names to find their IP information
- Auto-detection: Automatically detects and shows your current IP location
- Real-time Validation: Instant validation for IP and domain formats
- Live Location Mapping: View searched locations on an interactive Leaflet map
- Custom Markers: Beautiful markers with location popups
- Responsive Design: Perfect map experience on desktop and mobile devices
- Smooth Animations: Smooth panning and zooming to locations
- IP Address: Display the searched IP address
- Geolocation: City, region, and country information
- Timezone: UTC timezone offset
- ISP Details: Internet Service Provider information
- Loading Skeletons: Elegant loading states with skeleton screens
- Toast Notifications: User-friendly error and success messages
- Responsive Design: Flawless experience on all device sizes
- React Context API: Efficient state management
- Custom Hooks: Reusable IP tracking logic
- Error Handling: Comprehensive error states and user feedback
- Performance Optimized: Efficient re-renders and API calls
- Type Validation: Robust IP and domain format validation
Desktop View | Mobile View |
---|---|
![]() |
![]() |
- Node.js (version 14 or higher)
- npm
-
Clone the repository
git clone https://github.com/yourusername/ip-address-tracker.git cd ip-address-tracker
-
Install dependencies
npm install
-
Get your API key
- Visit IPify
- Sign up for a free account
- Get your API key
-
Start the development server
npm run dev
-
Build for production
npm run build
- Auto-detection: The app automatically loads your current IP location when you first visit
- Search by IP: Enter any valid IP address (e.g.,
8.8.8.8
) - Search by Domain: Enter any domain name (e.g.,
google.com
) - View Results: See detailed information and interactive map
- Interactive Map: Click on markers to see location details
- IP Address:
1.1.1.1
,8.8.8.8
,192.168.1.1
- Domains:
github.com
,facebook.com
,amazon.com
src/
├── components/
│ ├── SearchBar.jsx # Search input and form
│ ├── IPResults.jsx # Results display component
│ └── MapComponent.jsx # Interactive map
├── context/
│ └── IPProvider.jsx # Global state management
├── App.jsx # Main application component
└── main.jsx # Application entry point
- Frontend Framework: React 18
- Build Tool: Vite
- Mapping: Leaflet with OpenStreetMap
- UI Library: React-loading-skeleton
- HTTP Client: Native Fetch API
- Icons: Custom SVG icons
- Styling: Tailwind CSS
- State Management: React Context + Hooks
This project uses the IPify API for IP geolocation data:
// API Endpoint
https://geo.ipify.org/api/v2/country,city?apiKey=YOUR_API_KEY&ipAddress=8.8.8.8
- Desktop: Full-featured layout with side-by-side components
- Tablet: Optimized layout for medium screens
- Mobile: Stacked layout with touch-friendly interactions
-
Map not loading
- Check if the container has proper height
- Verify Leaflet CSS is imported
-
API errors
- Verify your IPify API key is correct
- Check network connectivity
-
Build issues
- Clear node_modules and reinstall dependencies
- Check Node.js version compatibility
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- IPify for the geolocation API
- Leaflet for interactive maps
- OpenStreetMap for map tiles
- Chakra UI for the component library
- Vite for the build tool
If you have any questions or issues, please open an issue on GitHub.
Built with ❤️ using React and modern web technologies
⭐ Don't forget to star this repository if you found it helpful!