Silentely/eSIM-Tools: moving an existing Giffgaff or Simyo number onto an eSIM
Giffgaff Simyo eSIM SIM eSIM (A modern set of eSIM management tools designed specifically for users who already have Giffgaff and Simyo numbers, offering support for converting physical SIM cards to eSIMs, device replacements, and QR code generation.).
At a glance
- What is it?
- A small JavaScript web app that converts an existing Giffgaff or Simyo physical SIM into an eSIM and generates the QR code, without contacting support. It works only for numbers you already own, and the browser has to stay open while it runs.
- Who is it for?
- Adopt it if you already hold a Giffgaff or Simyo number and want the QR code without calling support, and if you are willing to run it inside the published UK service window of 04:30 to 21:30. Do not adopt it to obtain a new number: the README states it does not support new applications, and Simyo sign-ups are directed to the official app.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 10 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Who this is for: existing Giffgaff and Simyo subscribers, nobody else
The README opens with a scope note that most eSIM write-ups skip: the tool serves users who already have a Giffgaff or Simyo number. It performs two jobs, converting a physical SIM into an eSIM and moving an existing eSIM to a new handset, and it generates the QR code you scan to activate. It explicitly does not handle new subscriptions. Giffgaff newcomers are pointed at third-party modified APKs or modules to obtain a QR code, and Simyo newcomers at the official app.
That boundary matters because it changes what the project is. It is not a storefront, not a number marketplace, and not a comparison site. It is a thin client in front of two carriers' account flows, aimed at the moment when you have swapped phones and need the line working again. The README estimates one to two minutes per activation, with no support ticket involved. Simyo support is narrower still: Dutch numbers only, ten digits starting with 06.
How the activation flow actually works
Both carriers follow the same shape: log in, receive a one-time code, and get a QR code back. Giffgaff offers a choice of login method and then email or SMS verification, followed by a six-digit SMS code; the README recommends this SMS path because it is fully automatic. Simyo asks for the phone number and password, then which service you want (device replacement or retrieving an existing eSIM), then an SMS code.
Two mechanisms in the README are worth knowing before you start. First, the app is resumable: if you close the page, logging in again continues from a recoverable checkpoint, though the README still advises keeping the tab open until activation finishes. Second, Giffgaff activations only run inside a service window of 04:30 to 21:30 UK time, and the page displays your local time next to UK time so you can see whether you are inside it. Attempts outside the window may fail.
One dated constraint: manual activation was switched off by Giffgaff on 2025-10-08, so the SMS code path is now the only one described. Anyone following an older tutorial that walks through manual activation is following a dead route.
Installing eSIM-Tools locally and generating your first QR code
The hosted instance at esim.cosr.eu.org is the recommended route and needs no installation. Self-hosting is documented for developers. The README requires Node.js 18.0.0 or newer and npm 8.0.0 or newer, and the package.json declares version 2.0.0 under the MIT license.
The repository ships an env.example file that you copy to .env. The README says to edit it and fill in the necessary configuration but does not enumerate the keys, so read env.example itself before assuming anything about what must be set. The install sequence is the standard three steps:
git clone https://github.com/Silentely/eSIM-Tools.git
cd eSIM-Tools
npm install
cp env.example .env
npm run devThe dev script runs nodemon against server.js, and the README gives http://localhost:3000 as the address to open. Note that package.json defines a predev hook that runs npm run build first, so the static build executes before the server starts even in development. For a production build the script is npm run build, which calls build:static, and the Netlify instructions in the README set the build command to npm run build with dist as the publish directory. The repository also carries netlify.toml and a netlify/ directory, so the deployment target is visible in the layout rather than only in prose.
The failure modes the README admits to
The most consequential limitation is the service window. Giffgaff activations outside 04:30 to 21:30 UK time may fail, which means the tool is unusable for a chunk of the working day depending on where you live. The page shows a local-to-UK time comparison, but that is a display convenience, not a workaround.
Device compatibility is the second constraint, and it is not something the software can fix. The README lists iPhone XS/XR and newer plus iPhone SE 2 and newer for Apple, and Galaxy S20 or newer, Pixel 3 or newer, and some OnePlus and Huawei models for Android. It defers detailed compatibility to your handset manual. If your phone is not on that list, the QR code is useless to you no matter how cleanly the flow runs.
Simyo has its own failure path: if the SMS code does not arrive, the README suggests choosing the customer-service verification option or checking whether SMS filtering is blocking the message. That is a carrier-side problem dressed as a UI option, and it is the point where the tool stops being able to help. Finally, the README directs users to GitHub issue #88 for troubleshooting before use, which is an acknowledgement that the documented FAQ is not the full set of things that go wrong.
Where eSIM-Tools sits against a physical eSIM adapter
The search terms around this project mix two different products. An eSIM adapter is a physical card you slot into a phone that lacks eSIM support, letting the handset read an eSIM profile as if it were a normal SIM. eSIM-Tools is the opposite kind of thing: pure software, no hardware, and it presupposes a phone that already supports eSIM.
The practical difference is the direction of the workaround. An adapter extends eSIM capability to older hardware; eSIM-Tools moves a specific carrier line onto hardware that already has the capability. If your phone is an older model without eSIM support, this project cannot help you at any step, and an adapter is the relevant category instead. If your phone does support eSIM and you simply want to stop juggling a physical card, the adapter is unnecessary and this tool is the direct route. The README's device list is effectively the dividing line between the two.
Maintenance, build scripts and what the licence covers
The repository is not archived. No last push date was available, so there is no basis for describing the project as actively maintained, and the absence of a retrieved release means there is no versioned changelog to track. The README does claim the hosted instance is updated regularly, which is a statement about the deployment rather than the repository.
Upgrade cost is low in one sense and non-trivial in another. The dependency list includes axios, cheerio, cors, dotenv, @netlify/blobs, and Sentry packages for both browser and Node, so a self-hoster inherits that surface and the version bumps that come with it. The project ships its own quality gates: npm test runs Jest, npm run quality-check and npm run security-check wrap local scripts, and npm run hooks:install points Git at the .githooks directory. A fork that ignores those scripts loses the checks the maintainer built in.
The licence split is worth reading carefully. The code is MIT. The README and wiki content are CC BY-NC-SA 4.0, which the project interprets as requiring attribution and forbidding commercial use. That is the project's own reading of the terms, not a legal opinion, and anyone planning to reuse the documentation rather than the code should read the licence text directly. The README also carries a disclaimer limiting the tool to learning and personal use.
Editorial conclusion
Adopt it if you already hold a Giffgaff or Simyo number and want the QR code without calling support, and if you are willing to run it inside the published UK service window of 04:30 to 21:30. Do not adopt it to obtain a new number: the README states it does not support new applications, and Simyo sign-ups are directed to the official app. Before you start, confirm your handset is on the eSIM list (iPhone XS/XR or newer, Galaxy S20 or newer, Pixel 3 or newer) and read issue #88, then check the clock the page shows against UK time.
Frequently asked questions
What is eSIM hardware, and does eSIM-Tools need any?
eSIM-Tools needs no hardware of its own; it is a web app that produces a QR code. The hardware requirement sits on the phone side, and the README lists iPhone XS/XR and newer, iPhone SE 2 and newer, Galaxy S20 or newer, Pixel 3 or newer, and some OnePlus and Huawei models as supported.
What is the downside of an eSIM for a Giffgaff or Simyo user?
The README does not discuss eSIM downsides in general. The concrete constraints it does state are that Giffgaff activations only work between 04:30 and 21:30 UK time, that the page should stay open until activation completes, and that Simyo support is limited to Dutch numbers starting with 06.
Can I get an eSIM myself with eSIM-Tools?
Only if you already hold a Giffgaff or Simyo number. The README states the tool does not support new users applying for a number; Giffgaff newcomers are directed to third-party modified APKs or modules, and Simyo newcomers to the official app.
Which apps can you use with an eSIM issued through eSIM-Tools?
The README does not describe app-level compatibility. What it covers is the carrier account flow and the resulting QR code, plus the device list for handsets that can install the profile.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/silentely-esim-tools)