XAMPP Review 2026

Free Apache, MariaDB, PHP and Perl bundle for running websites on your own computer

Research-based score 3.6/5 DevMixa score
Visit XAMPP ↗ Free plan available
Pricing
Free
Platforms
Windows, macOS, Linux
Best for
Students, beginners and course learners who want a free, cross-platform local stack with lots of tutorials, plus anyone who needs one tool on Windows, Linux and macOS.
Not ideal for
Production hosting, teams that need versions matching their live server, or WordPress developers who want one-click sites, SSL and several versions side by side.
Developer
Apache Friends
Founded
2002

Our verdict

3.6out of 5

XAMPP is still a fine free starting point for learning server-side code, and it is the only one of the classic stacks that runs on Windows, Linux and macOS. Its bundled versions have not moved since late 2023, so WordPress developers will get a closer match to real hosting from WampServer, Laragon or Local.

  • Ease of use3.4
  • Features3.6
  • Value for money4.6
  • Support2.6

How this score works: the DevMixa score is research-based — we compare official pricing, features, documentation, support options, security and data policies, and public user feedback against other tools in the same category. It is not a hands-on test; tools we test ourselves are marked “Tested”.

What is XAMPP?

XAMPP is a free bundle from the Apache Friends project that puts a web server, a database and a scripting language on your own computer, so you can build and test sites without paying for hosting. If you are weighing xampp vs wamp vs laragon for local WordPress, this review sets out what each one ships today, where XAMPP has fallen behind, and which tool suits which kind of user.

What XAMPP is and who uses it

The name stands for cross-platform, Apache, MariaDB, PHP and Perl. Apache Friends was founded in 2002 by Kai "Oswald" Seidler and Kay Vogelgesang, and the compilation is released under the GNU GPL, with each bundled program keeping its own licence. There is no paid tier. You download one installer, run it, and get a working stack in a few minutes.

Students learning server-side code, college lab instructors, freelancers testing a theme before handing it to a client, and developers maintaining an older project all use it. In Indian engineering colleges and coaching institutes it is still the default "first stack" because tutorials, YouTube walkthroughs and lab manuals assume it.

What you get in the current release

According to the official download page, the newest Windows and Linux build is XAMPP 8.2.12, which ships PHP 8.2.12. Older 8.1.25 and 8.0.30 builds are offered alongside it for projects that need them. The macOS installer lags slightly at 8.2.4. The Windows package includes:

  • Apache 2.4.58 as the web server
  • MariaDB 10.4.32 as the database (it answers to the MySQL name in menus)
  • phpMyAdmin 5.2.1 for managing databases in the browser
  • Strawberry Perl 5.32.1.1 portable edition
  • Tomcat 8.5.96 for Java servlets
  • Mercury Mail 4.63 and FileZilla FTP Server 0.9.41 for testing mail and file transfer
  • XAMPP Control Panel 3.2.4 to start and stop each service

The Windows build is a 64-bit installer of about 149 MB. Linux gets a .run installer and the page says most distributions work, including Ubuntu, Debian, Fedora and Arch. Look at the dates, though. The project blog announced these builds in November 2023, and the official SourceForge mirror lists nothing newer for Windows, Linux or macOS (the Mac 8.2.4 package is from April 2023). Compare that with WordPress, whose requirements page now recommends PHP 8.3 or newer and MariaDB 10.11 or newer. XAMPP's MariaDB 10.4 is well below that line, and so is its PHP. WordPress will still run, since its legacy minimums are far lower, but your local setup will not match a modern host.

Key features in practice

The control panel is the main reason beginners like it. Each module (Apache, MySQL, FileZilla, Mercury, Tomcat) has its own Start button, a Logs button and a Config button that opens the right file in a text editor. Anything you place inside the htdocs folder (C:\xampp\htdocs on Windows) is served at http://localhost/ in your browser. phpMyAdmin sits at localhost/phpmyadmin. That simple mapping is easy to explain to a first-year student, which is why lab manuals keep using it.

What it lacks is just as important. There is no switcher for running several language versions side by side, no automatic virtual hosts, no one-click SSL and no built-in WordPress installer. You do all of that by hand in config files.

Use XAMPP to install WordPress locally

The manual route takes about ten minutes:

  • Start Apache and MySQL from the control panel and wait for both names to turn green.
  • Download the WordPress zip from wordpress.org and extract it into htdocs, for example htdocs\mysite.
  • Open localhost/phpmyadmin, click Databases and create an empty one, say mysite_db.
  • Visit localhost/mysite and follow the setup screens. Use root as the username, leave the password blank, and keep localhost as the database host.

That blank root password is the default, and the official FAQ says so openly. It is fine on a laptop that nobody else can reach. It is not fine anywhere else.

XAMPP Apache not starting? Port 80 fix

The most common error is Apache refusing to start because something else already holds port 80. The official FAQ names two usual suspects on Windows: Microsoft IIS, which runs on port 80 through the World Wide Web Publishing Service, and older Skype builds that grabbed the port as a fallback. Click the Netstat button in the control panel to see which process owns it.

You have two choices. Stop and disable the conflicting service (for IIS, open services.msc and disable World Wide Web Publishing Service). Or move Apache to another port: click Config next to Apache, open httpd.conf, change Listen 80 to Listen 8080 and update the ServerName line to match. If port 443 also clashes, change it in httpd-ssl.conf. Restart the server and your sites now live at localhost:8080. The XAMPP FAQ does not cover this route; the Listen directive itself is documented in the Apache HTTP Server manual.

A related headache is "MySQL shutdown unexpectedly". The official FAQ has no repair steps for it, so treat it as ordinary database troubleshooting. Click Logs next to MySQL and read the MariaDB error log before changing anything, because the cause is spelled out there. If another program already holds port 3306, stop it or give MariaDB a new port in my.ini. If the log points to damaged tables after a crash or forced shutdown, copy the whole mysql\data folder somewhere safe first, then restore from your own SQL exports.

XAMPP vs WAMP vs Laragon for local WordPress: the comparison table

ToolOSPriceVersions listed on official pagesWordPress setup
XAMPP 8.2.12Windows, Linux, macOSFree (GPL)PHP 8.2.12, MariaDB 10.4.32, Apache 2.4.58Manual
WampServer 3.4.0Windows onlyFree (GPL)PHP 8.0 to 8.5, MySQL 8.4.7, MariaDB 11.4.9, Apache 2.4.65Manual, in the www folder
Laragon 8.7.0WindowsFree for non-commercial use; paid licence for commercial workPHP 8.1 to 8.5, MySQL 8.4 to 9.6, Apache 2.4.68 or NginxOne click via Quick app
LocalWindows, macOS, LinuxFreePicks versions per siteOne click

WampServer is the closest like-for-like rival. It is Windows only, but its current 3.4.0 release lets you switch between six language versions and between MySQL and MariaDB from a tray menu, and its builds are far fresher than XAMPP's. It needs the Visual C++ redistributables installed first, which trips up some first-time users.

Laragon is the most comfortable of the three for WordPress. Quick app creates a site in one step, gives it a pretty URL such as mysite.test without editing the hosts file, and can add a self-signed certificate. The catch is licensing. Complaints about licence prompts surfaced in the project's GitHub discussions in early 2025, starting with version 7.0, and the pricing page now spells out the rules: unlicensed use is allowed for non-commercial purposes with a reminder popup at launch, while commercial use needs a licence. Paid options start at a one-time $10 non-commercial licence, with commercial plans at $49 per year or $149 for a perpetual licence on one device, and team licences from $149 a year for five devices. Agencies billing clients should budget for it.

On the question of XAMPP vs WAMP for Windows users, WampServer wins on currency and version switching, while XAMPP wins on cross-platform support and the volume of tutorials written for it.

Best XAMPP alternative for Windows users

If WordPress is all you build, Local (from WP Engine) is the easiest pick. It is free, runs on Windows 10 and 11 (64-bit), macOS 12 or newer and Debian-based Linux (the docs say it is tested on Ubuntu and Pop!_OS), includes one-click SSL, and its Live Links feature gives a client a shareable URL for a site still on your laptop. It needs about 4 GB of RAM and 1.5 GB of disk.

For general PHP and Laravel work on Windows, Laragon is the smoothest, as long as you are happy with the licence terms. For a free, no-strings stack with current versions, WampServer is the safer choice. XAMPP still makes sense when you need the same tool on Windows, Linux and a Mac, or when a course tells you to use it.

XAMPP vs Docker for PHP

Docker runs each service in its own container, defined in a file you can commit to Git. That means you can pin the exact language and database versions your production server uses, run two projects with different versions at once, and give a new teammate the same setup with one command. XAMPP cannot do any of that; it gives you one shared stack per machine.

The trade-off is learning time. Docker asks you to understand images, volumes and networking before you see a page in the browser. For a student writing their first form handler, XAMPP is quicker. For a team shipping client work, containers (or a tool built on them) avoid the "works on my machine" problem that a dated local stack creates.

Security, data and commercial use

The project is blunt about this: XAMPP is meant for development only, not production. The FAQ says the default setup is deliberately as open as possible, the database root user has no password, and the default Mercury and FileZilla accounts are publicly known. Never expose it to the internet or a shared office network without locking it down, and do not use it to host a live site. Because everything runs locally, your code and data stay on your machine; the software does not need an account and has no cloud component. The GPL licence places no limit on commercial projects you build with it.

Limitations to weigh before you commit

  • No new installer since the late-2023 builds, so bundled versions trail what WordPress recommends.
  • One version of each component at a time; switching means a second install.
  • No pretty local domains, SSL or WordPress installer out of the box.
  • The download page still lists Windows Vista, 7 and 8 as requirements, a sign the documentation is not maintained closely.
  • Support is community forums only; there is no ticket desk or status page.

How to get started

Download the 8.2.12 installer from apachefriends.org. On Windows, install to C:\xampp rather than Program Files to avoid permission errors, and allow Apache through the firewall only on private networks. Open the control panel, start Apache and MySQL, and load localhost to see the welcome page. Then drop a test file into htdocs and check it in the browser. If Apache will not start, follow the port fix above before anything else.

Is it good for beginners learning server-side code? Yes. The setup is short, errors are easy to search, and almost every Indian college tutorial assumes it. Just plan to move to WampServer, Laragon, Local or Docker once your projects need current versions or several sites at once.

XAMPP key features

  • Apache 2.4.58 web server
  • MariaDB 10.4.32 database
  • PHP 8.2.12 (8.1 and 8.0 builds also offered)
  • phpMyAdmin 5.2.1
  • XAMPP Control Panel 3.2.4 with logs and config buttons
  • Strawberry Perl portable
  • Tomcat 8.5.96 for Java
  • Mercury Mail and FileZilla FTP Server
  • Installers for Windows, Linux and macOS
  • Free under the GNU GPL

✓ Verified on · source

XAMPP specifications

Operating systemsWindows, macOS, Linux
Latest version8.2.12 (Windows, Linux); 8.2.4 (macOS)
LicenseOpen source

✓ Verified on · source

XAMPP pricing

PlanPriceWhat you get
XAMPP (Windows, Linux, macOS)FreeFull stack with Apache, MariaDB, PHP, Perl, phpMyAdmin and extras; GPL licence, no paid tier.

✓ Verified on · source

XAMPP pros & cons

Pros

  • Completely free with no account or paid tier
  • Runs on Windows, Linux and macOS
  • Very quick to install and simple to understand
  • Huge number of tutorials and course materials
  • Extras like Tomcat, Perl and a mail server in one bundle

Cons

  • No new installer since the late-2023 builds
  • Bundled MariaDB and PHP are older than WordPress recommends
  • No version switching, virtual hosts, SSL or WordPress installer
  • Insecure defaults; development use only
  • Community support only

XAMPP user reviews

No user reviews yet. Used XAMPP? Share your experience to help others.

Write a review of XAMPP

Your rating

XAMPP FAQ

What is XAMPP used for?

XAMPP is used to run a local web server on your own computer for building and testing sites. It bundles Apache, MariaDB, PHP, Perl, phpMyAdmin and a control panel, so you can work on WordPress or custom code without paying for hosting.

Is XAMPP free?

Yes. XAMPP is completely free and the compilation is released under the GNU GPL by Apache Friends. There is no paid plan, and the bundled programs keep their own open source licences.

How do I install WordPress on XAMPP?

Start Apache and MySQL in the control panel, extract the WordPress zip into the htdocs folder, and create an empty database in phpMyAdmin. Then open localhost/your-folder in the browser and run the installer with root as the user, a blank password and localhost as the host.

How do I change the Apache port in XAMPP?

Click Config next to Apache in the control panel and open httpd.conf. Change Listen 80 to another port such as Listen 8080 (the Listen directive is documented in the Apache HTTP Server manual), update the ServerName line, and change port 443 in httpd-ssl.conf if that clashes too. Restart Apache and use localhost:8080.

Is XAMPP safe for production use?

No. The official Apache Friends FAQ says XAMPP is meant only for development, not production. Its defaults are deliberately open, the database root account has no password and some default service logins are publicly known.

XAMPP vs WAMP: which is better?

WampServer is better if you work only on Windows and want current versions, since 3.4.0 ships PHP up to 8.5 and lets you switch versions from the tray. XAMPP is better if you need the same tool on Windows, Linux and macOS, or follow tutorials written for it.

How do I fix 'MySQL shutdown unexpectedly' in XAMPP?

Open the MySQL log from the control panel first, since the MariaDB error log usually names the cause. If port 3306 is taken, stop the other service or set a new port in my.ini. If the log reports damaged tables, back up the mysql\data folder before trying any repair and restore from your own SQL exports where you can.

What are the best XAMPP alternatives?

WampServer is a free, Windows-only stack with fresher versions. Laragon offers one-click WordPress and pretty .test URLs but needs a paid licence for commercial use. Local by WP Engine is free and built only for WordPress, and Docker suits teams that need production-matching setups.

How do I fix 'Apache port 80 already in use' in XAMPP?

Use the Netstat button in the control panel to find the process holding port 80. On Windows this is often IIS (World Wide Web Publishing Service) or an old Skype build, so disable that service or change its port setting. Alternatively, move Apache to port 8080 in httpd.conf.

Is XAMPP good for beginners learning PHP?

Yes. Installation takes a few minutes, files in htdocs appear at localhost straight away, and most tutorials and college lab manuals assume XAMPP. Beginners should still know its bundled versions are older than what modern hosts run.

XAMPP alternatives

See all 8 XAMPP alternatives →