Modern smartphones have long been equipped with location-aware features that combine global positioning system (GPS) hardware with other features like Wi-Fi and cellular triangulation to help get an accurate fix on your location nearly anywhere in the world. These typically work very well, but what about those times you want your iPhone or Android smartphone to think it's somewhere else?
Perhaps you're trying out an app that searches for nearby stores or restaurants in another city, wanting to access services that are only available within a specific country or region, or playing a location-based game. Whatever the reason, sometimes it's useful to be somewhere else as far as your smartphone is concerned. The good news is that with the right tools, it's not difficult to spoof your GPS location.
Before we begin, it's important to keep in mind that this process isn't foolproof, and can have unintended side effects. For example, while you're running an app that fakes your GPS location, it will affect built-in services like Find My iPhone and Find My Androidbecause the location of any nearby AirTags will be misreported, and your phone will possibly even supply an incorrect location to emergency services like 911. That last part depends on how your local 911 call center handles things, but it's a risk that's worth mentioningas, for example, if you stumble and fall while you're out playing Pokemon GOwith a fake location, emergency responders might have a more difficult time finding you.
And since these techniques use built-in developer features, it's possible for third-party apps to see that you're spoofing your location. They still won't be able to get your real location, but they'll know you're "cheating" and may refuse to use or believe your location until you stop faking it.
Lastly, there's no need to go so far as faking your location if you simply want to hide. In that case, you can switch off location services entirely and none of the apps on your phone will have any idea where you are.
Using a VPN versus faking your GPS location
You may have already heard about how a virtual private network (VPN) can be used to spoof your location so you can access geographically restricted services, such as a streaming provider that's not available in your home country.
Using a VPN is different from spoofing your GPS location on your phone. A VPN works at the network level to mask your real IP address, making it look like you're connecting to a service from another country. However, it doesn't change where your smartphone thinks it's located, just where the service on the other end sees you coming from. This works quite well with most online services, since they rarely bother to try and engage your GPS to confirm your location. However, there are a few that do, the most notorious of which is MLB at Bat, which checks both your IP address and your GPS location to determine if you're in a blackout area. That means if you want to watch home games in your area while on your mobile device, you'll need to use a VPN and GPS spoofing in tandem to overcome the blackout restrictions. Just keep in mind that your mileage may vary here, as some of these apps are also clever enough to check if you're faking your GPS location, as we mentioned earlier.
How to fake your GPS location on an iPhone
If you're using an iPhone, faking your GPS location can be a somewhat complicated affair due to Apple's tight security restrictions. While there are several apps on the App Store that claim to do this, we can only charitably call them misleading. The reviews of these apps already make this clear, but we tested a few just to see what they were up to, and can confirm that none of them work. This wasn't surprising as it's not possible for an iPhone app to do this unless it's taking advantage of a security vulnerability in iOS or running on a "jailbroken" iPhone — one that's effectively been hacked to open it up to allow any app to run on it and get deeper access to the operating system.
Unless you're willing to resort to jailbreaking your iPhone — which we strongly recommend against unless you really know what you're getting into — the only way to spoof your GPS location on an iPhone is to connect it to an external device such as a Mac or a PC running a software tool that can feed it fake GPS data.
This technique works because the iPhone is designed to support external GPS receivers. You may already be using this feature with CarPlay in your vehicle; when your iPhone is connected to your car, it switches to using your car's GPS rather than its own, since your vehicle's external antennas will likely provide a much more accurate location.
There are a number of iPhone utility apps that take advantage of this capability, effectively acting as an external GPS to feed any location data you choose into your iPhone. We tested over a half-dozen apps to put together this guide, but only two turned out to work reliably. The premium option, iMyFone AnyTo, worked flawlessly in our testing across multiple iOS versions — even the iOS 18 developer beta. It's also easy to set up and feature-rich, with specific options for AR gaming. However, all that will cost you. Currently, there's a $15 monthly subscription or a $90 "lifetime" purchase, with a very limited free trial that lets you spoof your location only once before you're required to pay up. The other paid apps we tested were useless, at least in their trial versions.
One of the most commonly recommend free options, 3uTools, performed very poorly in our testing. It's more cumbersome to use, the location changes sometimes fail to register, and when they do, they don't persist for more than a minute or two before your iPhone reverts to its actual GPS location.
Fortunately, there's another free option, GeoPort. It's an open-source project that lets you easily feed any GPS location to your iPhone or iPad and even supports importing GPX and other tracking files and connecting to your device over Wi-Fi. Here's how to set it up:
Step 1: Download and install the latest version of GeoPort for your computer from geoport.me. Mac (Intel and Apple silicon), Windows, and Linux are all supported.
Step 2: Connect your iPhone to your computer using a Lightning or USB-C cable. Once you've connected GeoPort and set it up over USB, you'll be able to use Wi-Fi for future connections.
Step 3: Open GeoPort and enter your system password when prompted. A new GeoPort window will open in your default browser.
Step 4: Click the drop-down under Select Device and choose your iPhone.
Step 5: To use GeoPort or any other location-spoofing app, your device must be in Developer Mode. GeoPort will offer to do this for you, but you'll have to remove the passcode from your device. However, this will also remove all of your Apple Pay payment cards from Apple Wallet, so you'll have to re-add these after you turn your passcode back on. If you'd rather not do this, there are a few other ways to enable Developer Mode.
The Developer Mode option is typically hidden until it's activated by an app on your Mac or PC. That's usually Apple's Xcode developer tools, but other apps can activate it also. You can check to see if it's available by opening the iPhone or iPad Settings app and going to Privacy & Security. Scroll to the bottom and if Developer Mode appears there, select it, toggle it on, and then restart your device when prompted.
If you don't see a Developer Mode option (it should appear under "Security," right above Lockdown Mode), then you'll need to activate it, either by following GeoPort's instructions or using another app:
- The official way to activate Developer Mode is by installing Apple's Xcode development tools on your Mac and following Apple's official instructions. This is the legitimate way to do it, but Xcode is a pretty hefty download, and it's only available on a Mac.
- Other apps like iMyFone AnyTo and 3uTools get around the passcode requirement by asking you to trust the iPhone connection and enter your passcode. If you'd rather not disable your iPhone passcode and you're OK with giving these apps full access to your iPhone, you can use them to enable Developer Mode.
Step 6: Once you've enabled Developer Mode, ensure your iPhone (or iPad) is selected in GeoPort and then enter the location you'd like to simulate in the Location field below the map view. You can enter latitude and longitude or an address, city, or place name. Note that GeoPort won't provide a list of matches; it selects the first and closest one, so you may have to be specific by adding city and state info.
Step 7: On the map view, click the plus or minus buttons in the top-left corner to zoom in and out and drag the marker to the specific location you'd like to simulate.
Step 8: Once everything is in place, select the Simulate Location button to send the selected location to your iPhone.
You can check that everything is working by opening your favorite maps app, or any other location-based app on your iPhone. It should reflect the new location. You can also continue updating your location by moving the marker around in GeoPort and clicking Simulate Location; changes should show up almost immediately. Additional options to the left of the map view allow you to save selected locations or simulate movement.
Step 9: To disable location spoofing, select Stop Location. Disconnecting your iPhone if you're using a USB connection will also allow it to revert to using its built-in GPS, although this may take a few minutes.
How to fake your GPS location on Android
If you're an Android user who's taken time to read through the iPhone section above, we have some very good news. Spoofing your GPS location on an Android smartphone is trivial compared to the hoops that iPhone owners have to jump through.
That's because Google makes Developer Mode far easier to get into, and it offers a specific developer option for using a "mock" location app. You don't need a Mac or PC to pull this off, and there are plenty of apps on the Play Store that can spoof your location. Here, we'll go over how to do this with one of the most popular options, an app called "Fake GPS location."
Step 1: First, enable Developer Mode by following the steps in our guide on How to get developer options on your Android phone.
Step 2: Open the Play Store and install Fake GPS location.
Step 3: Open Fake GPS location. You should see a pop-up with instructions on how to set it as a mock location app.
Step 4: Choose Open Settings to be taken directly to the Developer options. This section can also be accessed directly in the Settings app under System > Developer options.
Step 5: Scroll down to the very bottom of the Developer options and choose Select mock location app.
Step 6: Choose Fake GPS.
Step 7: Return to the Fake GPS location app.
Step 8: Drag the map to the location you'd like to simulate and select the green Play button in the bottom-right corner. Alternatively, you can choose Go to from the menu in the top-left corner to enter specific coordinates.
Step 9: To return to your actual GPS-derived location, open the Fake GPS location app and choose the grzy Pause button in the bottom-left corner. You can also go back to Developer options and set the mock location app to "None" to disable Fake GPS location entirely.