5 of the Best Local WordPress Development Tools Compared

If you’re a WordPress developer, you probably do most of your work in test environments. That way, you can tinker with your plugins, themes, and sites all you want without breaking anything for real. The only question is, which local WordPress development tools are the best fit for your needs?

Choosing a setup can get complicated, because there are a lot of options available. More importantly, your workflow will vary depending on your pick, so it’s important to know what your options are and what features they offer you.

In this article, we’re going to introduce you to five of our favorite local WordPress development tools, including:

We’ll tell you how they work, and compare their ease of use, features, and prices. Let’s get this show on the road!

 

Why it’s crucial to choose the right local WordPress development tools

Learning to code is hard enough, and searching for help online doesn’t always steer you on the right path … something summarized neatly by Austen Allred on Twitter:

 


But even taking that into consideration, local WordPress development tools are still something that even complete beginners to WordPress development can benefit from.

Implementing changes in a live environment without testing them beforehand is a recipe for disaster. Should one of your updates break your site, you’ll have no option but to restore it from an earlier backup, or try to fix the problem manually.

Either way, that’s time during which your website isn’t working as it should, and users may notice the problem.

 
 
That’s why a lot of seasoned WordPress developers prefer to use either local or staging environments for testing purposes. Both tools can accomplish the same goal, but they’re not quite the same. Local environments, for example, can only be accessed from within a network, and you don’t need an internet connection to set one up or work with it. Staging websites, on the other hand, are set up on live servers, which makes them better for performance tests.

In this article, we’re going to focus on local WordPress development tools. If you don’t yet have a favorite solution, here are some of the features you’ll want to keep an eye out for when picking one:

 
Support for multiple local websites. 

One of the advantages of local tools is that you can set up as many concurrent sites as you want. That way, you can work on multiple projects at once.

Independent environments for each website. 

Some tools enable you to set up compartmentalized environments for each WordPress site. For example, you can have one site running PHP 5 and another using PHP 7, working side by side without any issues.

Straightforward project management. 

Ideally, whichever local development tool you choose should make it as easy as possible to add and delete new WordPress projects. That way, you won’t waste much time setting up new environments or cleaning up after completed tests.

Simple domain mapping.

In most cases, you’ll want to map each local website to a domain name that’s easy to remember. You can always do this manually, but it’s better if your chosen tool helps you with the process.

 
Finally, it’s important to note that if you’re part of a development team, you’ll want to consult with them before making a decision. After all, chances are the entire team will end up using one tool, so you’ll all have access to the same set of features. When every member of your team using is different local development tools, the result can be a logistical nightmare.

Five local WordPress development tools compared (in a nutshell)

We have a lot of ground to cover in this post. So if you’re looking for a quick comparison, take a look at the following table:

 
Best local WordPress development tools compared
DesktopServerXAMPPMAMPVagrantLocal by Flywheel
Does it use virtual machines?NoNoNoYesNo
Can you set up multiple WordPress websites?Up to three (using the free version)Yes (with some tinkering)Yes (with some tinkering)YesYes
Is it easy to use?YesModerately difficultModerately difficultModerately difficultYes
Does it enable you to set up different types of environments?NoNoYes (to a degree)YesYes (to a degree)
Can you start and stop websites at will?NoYesYesYesYes
Does it help you map domain names to local websites?YesNoNoNoYes
Does it include a dashboard you can use?YesYesYesNoYes
PriceFree and premium versions availableFreeFree and premium versions availableFreeFree
 
If you think you can make an informed decision based just on this information, feel free to stop here. However, we encourage you to keep reading, so you get a clearer idea for what each of these tools can offer you.

Five local WordPress development tools compared (in full)

When it comes to local WordPress development tools, there are four main aspects you’ll need to consider:

  • how they work,
  • how easy they are to use,
  • what features they offer,
  • their price range.

If you compare each of the tools using those criteria – which is exactly what we’ll do in the following sections – you’ll have all the information you need to make a smart choice. Let’s dig in!

1. DesktopServer

 
 
DesktopServer is a Windows and macOS tool that enables you to create multiple local WordPress websites using a simple step-by-step wizard. Despite the fact that there is a free version of the tool, you still need to register to download it, which is a small price to pay.

As far as ease of use goes, local WordPress development tools don’t get much simpler than Desktop Server. When you set it up for the first time, it will install all the software it needs to power WordPress locally. Then, you can re-run the program each time you want to create or delete a local WordPress website.

DesktopServer
 
Throughout the creation process, you can choose which version of WordPress to install for your site, as well as assign it a domain name.

Using DesktopServer.

Overall, DesktopServer offers a functional experience with very few frills, but that’s not necessarily a bad thing. If all you’re looking for is a simple tool that works reliably, this can be a solid option.

Key Features:

  • Includes a wizard to help you set up new local WordPress websites.
  • Enables you to map domains to your local sites.
  • Lets you duplicate or delete your sites at any time.
  • Makes it possible to manage up to three local sites, using the software’s free version.
  • Supports Apache, MySQL, and PHP 5.5.
When it comes to features, the free version of DesktopServer is slightly limited. There are plenty of local WordPress development tools that offer more powerful features to help you manage your sites (which we’ll cover shortly), although they can sometimes be overkill. As far as limiting factors go, we’d say the biggest disappointment is the fact that DesktopServer only supports a single type of environment: an Apache server running PHP 5 and MySQL.

To be fair, a lot of WordPress websites use that same environment. However, as a developer, you may want to have more control over yours. If that’s the case, you’ll need to check out a different option.

Price:

So far, we’ve only talked about DesktopServer’s free version. There’s also a premium alternative, which starts at $95 per year. For that money, you get access to several extra features, including support for Multisite, the ability to export and archive your test setups, and an option to create WordPress ‘blueprints’.

That last feature enables you to store specific setups, and then use them to deploy sites faster. For example, if there is a handful of plugins and themes that you like to set up on each of your sites, you can create a blueprint of that configuration and store it for later use.

A DesktopServer premium license also entitles you to updates during the whole year. Plus, you can use a single license for several computers, which makes it a decent option for teams on a budget.

2. XAMPP

 
 
XAMPP is an acronym that stands for Apache, MariaDB, PHP, and Perl. In other words, it packs all the software you need to run WordPress. This particular local development tool comes in two flavors: regular XAMPP and XAMPP-VM.

The former just installs the software we mentioned earlier in a directory on your computer, whereas the latter sets everything up on a Linux Virtual Machine.

xamp
 
The regular version of the software is available for Windows, Linux-based systems, and macOS. XAMPP-VM, on the other hand, is just available for macOS. With that in mind, we’re going to focus on the regular non-VM version of XAMPP for this comparison.
 
 
What XAMPP does is set up a software stack on your computer, but it doesn’t help you install WordPress. The platform offers a few standalone installers for various Content Management Systems (CMS), but we’re more partial to doing things manually.

If you’re the same, then here’s what’s in store for you when it comes to installing WordPress with XAMPP.

The XAMPP dashboard.
 
For starters, you’ll have to set up the stack and check to make sure all the services are working. Then, you’ll need to create a database for your WordPress site, download the CMS’ latest version, unpack it, and configure a couple of files manually. Only then do you get to run the WordPress installer, and you’ll still have to map your new site to a domain you can remember (if you want to).

Key Features:

  • Lets you set up a software stack including Apache, MariaDB, PHP, and Perl.
  • Provides the option to chose from multiple XAMPP versions, depending on which PHP release you want to use.
  • Offers a VM-based local WordPress experience, if you’re a macOS user and download the corresponding version.
  • Enables you to use a simple dashboard tool to manage all your new services.
  • Makes it possible to set up WordPress manually, or use a standalone installer (if you want to).
As a developer, you may appreciate that XAMPP enables you to get your hands a bit dirtier in comparison with tools such as DesktopServer. In this case, you get full control over each of your stack’s components. For example, you can start and stop your Apache server at any time with a couple of clicks, or map the service to different ports. You also get access to detailed logs and more.

XAMPP provides you with a perfect environment to run WordPress, but it’s not a service that’s tailored to the CMS. That means you’ll need to tinker with some options just to set everything up. Furthermore, things get a bit complicated if you want to use XAMPP to run more than a single WordPress website simultaneously. It’s probably nothing you can’t handle – but it’s more work than using a tool designed with WordPress in mind.

Overall, XAMPP offers a fantastic level of customization that enables you to do almost anything you want, It’s not a great tool for beginners, however, and it isn’t the simplest solution to work with.

Price:

XAMPP is a 100% open-source package. There’s no premium version with hidden features, so you’re free to use it in any way you see fit.

3. MAMP

 
 
In many ways, My Apache, MySQL, PHP (MAMP) is very similar to XAMPP. It’s also a software stack that enables you to create WordPress websites (and any other type of site).

The process of using this tool also works just the same as with our previous pick. You set up the stack, create a database, and then go through the motions of setting up WordPress manually. With that in mind, let’s focus on what the biggest differences between both stacks are.

mamp
 
First off, MAMP is available only for Windows and macOS. There are multiple versions to choose from for each operating system, depending on which version of PHP you want to set up. Plus, you also get access to a lot of additional software, including Python, Perl, phpMyAdmin, and more.
 
 
In practice, this translates to more options when it comes to creating local websites and applications. As far as WordPress goes, however, chances are you won’t need to use any of that software. However, they’re some nice extras to have, just in case you work on other types of projects that need them.

The biggest downside to using MAMP versus XAMPP is that the former doesn’t offer standalone installers for popular applications such as WordPress. To be fair, that’s only a limitation if you don’t like to set up websites manually. If that’s the case, you’re probably better off using a more streamlined tool anyway.

The MAMP dashboard.
 

Key Features:

  • Enables you to set up an environment based on Apache, MySQL, and PHP.
  • Lets you use different versions of the software, depending on which PHP release you want to set up.
  • Supports a lot of additional languages, including Python and Perl.
  • Provides the option to set up local WordPress websites manually.
When it comes to features, MAMP offers a bit less control over each of your environment’s components than XAMPP does. It also comes with its own dashboard, but it provides fewer options. This difference – on top of all the others – makes it an excellent choice if you’re looking for an easier tool to manage. You still get access to nearly all the same features, but MAMP is simpler to get used to.

Price:

Throughout this section, we’ve only focused on MAMP’s free version. However, there’s also a premium option available. It starts at $59 for both macOS and Windows, although the former gets more regular updates and better support.

MAMP Pro provides you with a lot more options, such as the ability to set up Nginx servers, a mobile testing tool, and a built-in editor. If you and the rest of your team are macOS users, all these features make MAMP a strong choice out of the many local WordPress development tools available.

4. Vagrant

 
 
So far, we’ve covered several local WordPress development tools that are pretty similar. Now, it’s time for something a bit different.

Vagrant is a tool that enables you to run multiple virtual machines on your computer, and use them as environments for your projects.

If you’ve never used a program like Vagrant, you might think that sounds like too much trouble.

vagrant
 
After all, you may have heard that you need a very powerful computer to run multiple virtual machines. That is somewhat true, but it also depends on what you want to use those machines for. If we’re talking about local web development, then the system requirements aren’t as steep.

Furthermore, Vagrant makes the entire environment setup process a breeze. After installing the software, you can go ahead and download one of the many pre-configured ‘boxes’ its community has already created. If you want to install the perfect WordPress environment with a few clicks, you’ll have plenty of popular boxes to chose from. Chances are, you’ll find one offering exactly what you need.

A look at Vagrant from the command line.

You can also provision your own virtual machine, and use the command line to set things up exactly as you want them. Then, you can share your environment with every other member of your team. That way, you don’t all have to fiddle with configuring software and stacks the same way – Vagrant does it all for you.

Finally, we arrive at the most important difference between Vagrant and tools such as XAMPP or MAMP. With the latter, you always run the risk of installing a piece of software that disrupts your environment’s setup. After all, you’re using your own computer as a server. With a tool like Vagrant, each environment exists separately within your computer. That means you can have a server running Nginx and another with Apache on two separate Vagrant machines, and not run into any issues.

So far, Vagrant probably sounds like a strong option. That makes sense – it’s one of our favorite tools, too. You don’t have to take our judgment at face value, though. Here’s a quote from Primož Cigler, a full stack developer and CEO of ProteusThemes, about his love for Vagrant:

 
Primoz Cigler

Primož Cigler
CEO of ProteusThemes
When it comes to my favorite local WordPress development environments, I have two, actually. Both of them are virtualizations managed by Vagrant. This alone is important, because it allows me and the whole ProteusThemes team to have a consistent development environment on different machines and OSs.

The first one we use as the main development environment for the themes we develop. It’s a modified fork of the roots/trellis project. It’s running an Ubuntu 16.04 nginx + mariadb + php-fpm stack.

The second one I use more and more frequently is the Wocker. It’s docker-based WordPress development environment with tools like WP-CLI built in, and it allows for rapid prototyping, creating fresh WP installations without any side-effects within 5 seconds, and switching between these instances easily. Overall, it’s a great tool for testing out new features, themes, plugins… without polluting your ‘standard’ dev environment. It’s like having unlimited local, fresh, disposable WP instances available at any time.

 
One of the limitations with tools such as Vagrant, however, is the fact that large file systems can take a while to sync between your host computer and its virtual machines. But, that’s a problem you’re not likely to run into, except when working on massive projects.

Key Features:

  • Enables you to set up virtual machines for your local development needs.
  • Lets you configure each VM to your specifications, and share them with other people.
  • Provides the option to download pre-configured boxes and run them as you want.
  • Helps you keep your test environments separated, and turn them on and off at will.
  • Makes it simple to manage all your VMs using the command line.
So far we’ve mentioned using the command line twice, and there’s a reason for that. Vagrant is an entirely command-line based tool that’s available for Linux-based systems, Windows, and macOS. There are no fancy interfaces or dashboards this time around, however – it’s just the command line and you.

If you have experience in web development, chances are you’re comfortable using the command line for most of your day-to-day tasks. On the other hand, learning the necessary commands to use Vagrant isn’t all that complicated. If you’re not familiar with the command line yet, you shouldn’t let that stop you.

Price:

Vagrant is a free, open-source project. This fact, combined with all its other features, makes it a fantastic option for both solo developers and teams. Even if you have the budget to purchase premium local WordPress development tools, chances are that Vagrant can do the job better.

5. Local by Flywheel

 
 
None of the local WordPress development tools we’ve covered so far are what you might consider overly user-friendly. DesktopServer is the one that comes the closest, but it’s let down by an archaic interface. The others are powerful, but they’re not particularly easy to use if you don’t have a background in development.

That’s why we’ve decided to round things off with Local by Flywheel.

Local by Flywheel
 
We’ve already written about Local by Flywheel in the past. Back then, however, it was only available for macOS. Now, both Windows and macOS users have access to this solution, and it’s still one of sleekest local WordPress development tools around.
 
 
The biggest draw comes from Local’s easy-to-use interface. Setting up a new website is as simple as clicking on a button, and then choosing a few basic configurations.
Using Local by Flywheel.
 
During the process, you can choose from Nginx and Apache servers, as well as two versions of PHP (5 and 7). Furthermore, you get to map your new local website to a domain right away. Once your site is set up, you’ll be able to access it from a simple list that includes all your other projects. Clicking on any of them will enable you to review their settings, access their database, navigate to local directories, and more.

There’s even an option to create live links for your local websites, which means you can share your progress with teammates or clients. Overall, Local by Flywheel offers by far the easiest experience when it comes to local WordPress development. It may not be as powerful as Vagrant, but it makes up for it thanks to its accessibility.

Key Features:

  • Enables you to set up local WordPress websites with a few clicks.
  • Lets you monitor the status of all your existing sites from a list.
  • Provides the option to access your sites’ dashboards, databases, and local directories with a click.
  • Makes it possible to create live links, to share access to your local projects.
  • Offers the option to set up blueprints, to easily deploy WordPress websites using the settings you prefer.
When it comes to features, everything that Local by Flywheel offers is tailored towards WordPress sites. Suffice it to say, Local is a joy to use if you’re a WordPress enthusiast. It may not offer as many customization options as Vagrant, for example, but they’re two entirely different tools. Whereas we’d recommend Vagrant more for professional teams, Local is perfect for smaller outfits and projects with less strict requirements.

Price:

Local by Flywheel is an entirely free tool that’s made possible by the WordPress managed hosting company Flywheel. There’s also a premium version in the works, but details about it are scarce at the moment. Overall, it’s one of our favorite local WordPress development tools.

Conclusion

 
 
Not all local WordPress development tools are made equal. The one you choose will have a large impact on the way you work. If you’re part of a team, it will affect everyone you’re working with as well. That’s why it pays to do some research into what options are out there, and the benefits each solution can offer you.
 
Let’s recap our five favorite local WordPress development tools, and what makes them each unique:
 
DesktopServer

This is a straightforward, beginner-friendly tool for local WordPress development.

XAMPP

This software stack is great if you want full control over your environment.

MAMP

This tool is very similar to XAMPP, but has a few less features and is somewhat easier to use.

Vagrant

This is an excellent VM-based local development tool, that’s a must for serious developers.

Local by Flywheel

This user-friendly program is perfect for small to medium projects.

 
Do you have any questions about how to pick the perfect tool for your local WordPress development needs? Let’s talk about them in the comments section below!

Don’t forget to join our crash course on speeding up your WordPress site. With some simple fixes, you can reduce your loading time by even 50-80%:

Layout and presentation by Karol K.

 

John Hughes

When he's not taking long walks on the beach, John Hughes enjoys writing about WordPress for WordCandy.co.
  • Excellent post!
    My question is: What is the better setup for deploy a local WP install to a live server? And vice-versa?
    Like a staging but in local environment ?

    • Hi Guilherme! DesktopServer is a useful tool for this application (the premium version allows you to directly deploy your site to the server). Also, Local by Flywheel will let you push your site live directly, if you have a Flywheel hosting account.

      • Hi Tom, I know Local by Flywheel it’s awesome but I dont have a Flywheel account. I have read about Desktop Server, is it the only one to do this?

        • Desktop Server isn’t the only tool available, but it’s a solid option and definitely worth checking out. 🙂

  • djohnsmd

    Is there a particular reason that you didn’t include AMPPS? 1-click installs; cPanel with phpMyAdmin & other tools; runs on Linux, MacOS and Windows; can start/stop reconfigure easily; multi-domain deployment; switch between php versions easily, run PERL, Python, MongoDB etc. I’ve run 2 different installations at once on my desktop, albeit with installs on 2 different drives.

    • Hi, thanks for commenting! We couldn’t cover every relevant tool in a single post, but we appreciate you sharing your experience and recommendation. 🙂

  • realbasics

    Desktop Server is awesome for developing WordPress for shared hosting (i.e. most WordPress sites.) It might have been a special case but I earned back the $99 (and saved my contract with an important client) in the first two hours I used it. The ability to quickly “copy and paste” sites for testing has been incredibly useful since. Same with its eerie ability to import pretty much any type of archive as long as SQL dump has been zipped in with it. And finally it’s got plugins for things like InnoDB conversion, safe-mode imports for dedicated WP services like WPEngine, and a simple but very useful admin-bar color changer that makes it harder to forget whether you’re doing destructive testing on the desktop or live version of your client’s site. The only downside is they’re WAAAY late on their much-promised next release. It was cute for the first year or two, now it’s getting worrisome.

    I keep wanting to like Local by Flywheel. It’s a very good tool for developing a site from start to finish. My main business involves a lot of website repair though — quickly downloading an archive, opening it locally, identifying the problem, and either applying fixes to the live site or uploading a new version. For us, at least, Flywheel Local hasn’t been very good at importing archives. Fairly or unfairly that’s kept us from giving it a closer look. One very nice thing about Flywheel is you can switch environments on the fly — Apache vs Nginx, different flavors of PHP, locally “signed” SSL.

    Unless you’ve got a very specific use case for XAMPP, MAMP, etc., or unless you’re doing advanced development and need Vagrant’s undeniable power, flexibility, sandboxing, and command-line-driven operation, I’d stick with DesktopServer or Local by Flywheel. Both are very good for casual development, with Local getting the edge for end-to-end development and DesktopServer getting the nod for higher volume maintenance.

  • realbasics

    Should have added thanks for the awesome comparisons, John! Very good review!

    • You’re welcome! Thanks for sharing your thoughts and experiences; it’s really useful to read first-hand accounts like this. 🙂

  • Farallon5

    I think this post saved my life. I was so stuck trying to get all the XAMPP configuration settings right to enable other machines on the same network to view the local website. I tried Local by Flywheel first, but it was buggy and complicated to install and required too many resources to run, but Desktop Server (Premium) did the trick. Best $99 I ever spent. Got the new site up and running in 2 days with all the other machines having access after struggling with that old school stuff for weeks. Easy, trouble-free install and setup. I didn’t know there were any alternatives to XAMPP and MAMPP. Thanks so much for a very helpful post!

    • You’re welcome! We’re glad to have helped. 🙂

  • Bhavesh Radadiya

    If you are selecting Xampp, always go for Wamp. Its a lot better version of Xampp.

    • Hi Bhavesh, thanks for commenting with your thoughts!

  • Previously I used XAMPP and WAMP, but I decided in the end by DesktopServer and Flywheel (I just have a few months using it), very good article before there was another program to install locally your wordpress site but now I do not remember. Greetings and thanks.

  • Alkesh

    I am using “Local by Flywheel” to give demo to my clients. We can say local server with your lappy and live link available for everyone who had that link.

    Such a good localhost server with the multiple PHP + mySQL combination!!!