- 移除 index.html 中 Google gtag.js script 标签末尾多余的 `</script>`,避免 DOM 结构异常 - 保留原有 `defer`、`src`、`crossorigin` 配置,确保延迟加载逻辑不被破坏 - 删除冲突的属性 `integrity` 相关内容,配合当前实际加载方式恢复正常请求行为
📱 What is this?
eSIM Tools is a free online toolkit that helps existing Giffgaff or Simyo subscribers:
- 🔄 Convert physical SIM cards to eSIM (no card replacement needed)
- 📲 Quickly transfer eSIM when changing devices
- 📷 Generate eSIM QR codes for instant activation
💡 Complete in 1-2 minutes, no customer service contact needed, fully automated
✨ Who is this for?
🇬🇧 Giffgaff Users
✅ Have an existing Giffgaff number (UK carrier) ✅ Want to switch from physical SIM to eSIM ✅ Need to reactivate eSIM on a new device ❌ New users registering a number (must obtain number through official or third-party channels first)
🇳🇱 Simyo Users
✅ Have an existing Simyo number (Netherlands carrier, starting with 06) ✅ Need to change device or convert to eSIM ❌ New users registering a number (must register through official app first)
🚀 Quick Start
Online Usage (Recommended)
👉 Visit: https://esim.cosr.eu.org
- ✅ No installation needed, ready to use
- ✅ Full feature support, regular updates
- ✅ Offline support, local data processing
Usage Flow
🇬🇧 Giffgaff (Recommended: SMS Verification Activation)
- Login - Choose secure login method
- Email/SMS Verification - Enter the verification code received
- SMS Verification Activation - Enter 6-digit SMS code
- Get QR Code - Automatically generated, scan to activate
📖 Tutorial: Giffgaff User Guide (with video demo)
🇳🇱 Simyo
- Account Login - Enter phone number (starting with 06) and password
- Select Service - Device change or retrieve existing eSIM
- Verification Code - Enter SMS verification code
- Scan to Install - Use the generated QR code on your new device
🖼️ Interface Preview
❓ FAQ
Giffgaff
Q: Which activation method is recommended?
A: "SMS Verification Activation" is recommended. Fully automated — just enter the SMS code and all steps complete automatically.
Q: How long does it take?
A: Usually 1-2 minutes. Send code → Enter code → Auto activation → Get QR code.
Q: Is manual activation still available?
A: No. Manual activation was officially disabled by Giffgaff on October 8, 2025. Please use SMS verification activation.
Q: What if I accidentally close the page?
A: After logging in again, the system resumes from recoverable points. It's recommended to keep the page open until activation completes.
Q: When can I activate?
A: Giffgaff service window is 04:30 - 21:30 UK time. Operations outside this window may fail. The UI shows local time vs UK time for reference.
Q: Which devices are supported?
A:
- Apple: iPhone XS/XR and newer, iPhone SE 2 and newer
- Android: Samsung Galaxy S20+, Google Pixel 3+, some OnePlus/Huawei models
- Check your device manual for detailed compatibility
Simyo
Q: Which phone number formats are supported?
A: Only Dutch mobile numbers (10 digits starting with 06).
Q: What if I cannot receive the verification code?
A: You can choose the customer service verification option, or check your SMS blocking settings.
Security & Privacy
Q: Is my data safe?
A:
- ✅ All data is processed locally in your browser, not uploaded to servers
- ✅ No passwords or sensitive information stored
- ✅ Open source and transparent, code is auditable
- ✅ Recommended to use in a secure network environment
🎁 New User Offers
If you don't have a number yet, register through these links to get bonus credit:
- 🇳🇱 Simyo users: New SIM activation gets extra €5 credit
- 🇬🇧 Giffgaff users: New SIM activation gets extra £5 credit
⚠️ Note: This tool does not support new number registration. It only supports eSIM conversion and device changes for existing subscribers.
🛠️ Local Deployment (Developers)
Click to view deployment instructions
Quick Start
# 1. Clone repository
git clone https://github.com/Silentely/eSIM-Tools.git
cd eSIM-Tools
# 2. Install dependencies
npm install
# 3. Configure environment variables
cp env.example .env
# Edit .env to fill in required configuration
# 4. Start development server
npm start
# 5. Visit http://localhost:3000
Requirements
- Node.js >= 18.0.0
- npm >= 8.0.0
- Modern browser: Chrome 88+, Firefox 85+, Safari 14+, Edge 88+
Netlify Deployment
- Fork this repository to your GitHub account
- Connect the GitHub repository in Netlify
- Build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Configure environment variables (refer to
env.example) - Deploy complete
📚 Documentation
-
User Guides
-
Technical Reference (Developers)
🔧 Technical Features
- 🚀 Minimalist Design - Native JavaScript, no framework dependencies, small bundle size
- ⚡ Fast Response - Global CDN acceleration, first contentful paint < 1.2s
- 🔒 Privacy & Security - All data processed locally, nothing uploaded to servers
- 📦 Offline Ready - Works offline, network fluctuations don't affect operations
- 🎯 Modern Standards - PWA, Web Vitals optimized, mobile-friendly
💻 Developer Documentation: See Technical Architecture for implementation details
🤝 Contributing
Contributions and suggestions are welcome!
How to Contribute
- 🍴 Fork the repository
- 🌿 Create a feature branch (
git checkout -b feature/AmazingFeature) - 💾 Commit following the convention (
git commit -m '✨ feat(core): add QR code caching') - 📤 Push your branch (
git push origin feature/AmazingFeature) - 🔃 Open a Pull Request
Commit Convention
# Format: <emoji> <type>(scope): <description>
✨ feat(auth): add automatic session renewal
🐛 fix(simyo): fix verification code retry logic
📝 docs(readme): update installation instructions
Available Commands:
npm run hooks:install- Install Git hooksnpm test- Run testsnpm run quality-check- Code quality checksnpm run security-check- Security scan
📞 Support & Feedback
If you encounter issues or have suggestions:
- 📋 Submit an Issue
- 📖 View Project Documentation
- 💬 Join community discussions
📈 Star History
📄 License
- Code: MIT License
- Documentation: CC BY-NC-SA 4.0
- Free to copy and redistribute, but must provide original author attribution and license notice
- Not for commercial use (any profit-generating activity is considered commercial use)
⚖️ Disclaimer
This tool is for learning and personal use only. Please comply with relevant terms of service. The developer is not responsible for any issues caused by using this tool. Please use in accordance with local laws and regulations.




