Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Create a Local WordPress Site Using XAMPP

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to create a local WordPress site on your computer using XAMPP?

Installing WordPress on your computer helps you try out WordPress, test themes and plugins, and learn WordPress development.

In this article, we will show you how to easily create a local WordPress site using XAMPP.

Creating local WordPress install using XAMPP

Why Create a Local WordPress Site?

Creating local WordPress sites is a common practice among developers and site owners. It allows you to test WordPress without creating an actual website on the internet.

Local websites are only visible to you on your computer. You can try different WordPress themes and plugins, test their features, and learn the WordPress basics.

If you already have a WordPress website, then you can create a local copy of your website on your computer to try out new plugin updates before implementing them on your live website.

Important: A local website will only be visible to you on your computer. If you want to make a live website, then you’ll need a domain name and WordPress hosting.

Follow the step-by-step instructions in our guide on how to start a WordPress blog when you are ready to create a live website.

Having said that, let’s check out how to install WordPress locally on Windows, Mac, or Linux using XAMPP.

What Is XAMPP?

XAMPP is a software package that includes all the things you need to set up a local server environment on your computer.

In order to create a local WordPress site, you need to set up a web server software (Apache), PHP, and MySQL on your computer.

PHP is a programming language, and MySQL is a database management software. Both of them are required to run WordPress.

Installing them separately is quite difficult for beginners. This is where XAMPP comes in.

XAMPP makes it easy for you to build WordPress websites locally. It is available for Windows, Mac, and Linux-based computers.

Let’s get started by installing XAMPP and setting it up to run your local WordPress site.

Installing XAMPP on Your Computer

First, you need to visit the XAMPP website and click on the ‘Download’ button for your operating system.

Download XAMPP to your computer

Depending on your operating system, your installation wizard and the application interface may differ from the screenshots here. For the sake of this article, we will show you the Windows version of the software.

After downloading XAMPP, you will need to click and run the installer.

XAMPP set up wizard

XAMPP will ask where to install the software and which packages you’d like to install. The default settings will work for most users. Keep clicking on the ‘Next’ button to finish the setup wizard.

After finishing the wizard, check the ‘start the control panel now’ option and then click on the ‘Finish’ button.

Finish set up and launch XAMPP control panel

This will launch the XAMPP Control Panel app.

Using the XAMPP app, you can run Apache web server as your local server and MySQL as your database server. Go ahead and click on the ‘Start’ button next to both Apache and MySQL.

Start Apache and MySQL to launch your local server

XAMPP will now start Apache and MySQL.

You may see a Windows firewall notification. It is important that you click on the ‘Allow Access’ button for both applications to run on your computer.

Allow firewall access to Apache and MySQL

Once both applications are started, their names will be highlighted in green.

Now, you are ready to create a local website and install WordPress using XAMPP.

Creating a Local WordPress Site With XAMPP

First, you will need to download WordPress. Visit the WordPress.org website and click on the ‘Download WordPress’ button.

Download WordPress

After downloading WordPress, you need to extract the zip file, and you will see a wordpress folder.

You need to copy this folder.

WordPress folder

Next, head over to your XAMPP installation folder.

On Windows, it will be C:/Program Files/XAMPP/htdocs or C:/Xampp/htdocs.

On Mac, it will be /Applications/XAMPP/htdocs.

Paste the wordpress folder you copied earlier inside the ‘htdocs’ folder.

We recommend renaming the ‘wordpress’ folder to ‘website’ or anything else. This will help you easily identify your local site.

Rename WordPress folder

Next, you need to open your favorite web browser.

You can enter the following URL into your browser’s address bar:

https://localhost/website1/

If you renamed the WordPress folder something else, then make sure you replace ‘website1’ with your own folder name.

This will load the WordPress installation wizard, and you’ll be asked to select a language. After selecting a language, click on the ‘Continue’ button.

Select language

On the next screen, you will see the WordPress welcome screen.

It includes a notice that WordPress needs a database name, database username, password, and host information.

WordPress installation requirements

Let’s create a database for your WordPress site.

You’ll need to open a new browser tab and visit https://localhost/phpmyadmin/.

This will launch the phpMyAdmin app that comes pre-installed with XAMPP. It allows you to easily manage your databases using a simpler interface.

You need to click on ‘Databases’ and provide a name for your new database. After that, click on the ‘Create’ button to continue.

Creating a database for your local WordPress site

Now that you have created a database, you can use it for your WordPress site.

Switch back to the /localhost/website1/ browser tab and click on the ‘Let’s Go’ button.

On the next screen, you will be asked to provide your WordPress database information.

Enter the database name you created earlier. Your username is ‘root’, and you should leave the password field blank. For the database host field, you need to use localhost.

Enter your WordPress database information

Once you are done, click on the ‘Submit’ button to continue.

If you are on Windows or Linux, WordPress will now store these settings in your WordPress configuration file called wp-config.php.

However, if you are on a Mac, then it will show you the contents of the file and will ask you to create it.

You will need to create this file in your website’s root folder.

After creating the file, paste the text you copied earlier inside it. Next, you need to save the file and return back to the WordPress installer to continue.

In the next step, WordPress will ask you to provide information about your website. First, enter the title you want to use for this site.

After that, you need to enter a username, password, and email address for your admin account.

Enter your local site information

Once you have filled in all the information, click on the ‘Install WordPress’ button to continue.

WordPress will now run the installation and prompt you to log in once it’s done.

You can log in to your website by going to the /localhost/website1/wp-admin page and using the username and password that you entered during installation.

WordPress login page

Things to Try After Creating a Local WordPress Site

Now that you have created your local WordPress site using XAMPP, you can work on it like you would on a live WordPress site.

Head over to the Appearance menu in the WordPress admin sidebar to customize your site’s appearance or install a new theme.

Here are some great free themes that you can try.

The next thing you would want to try is installing some WordPress plugins.

Plugins are like apps for your WordPress site and allow you to add cool features like a contact form, social media buttons, an eCommerce store, and much more.

Need help installing plugins? See our step-by-step guide on how to install a WordPress plugin.

Bonus: Moving Local WordPress Site to Live Server

After working on your local WordPress site, you may want to move it to a live server to make your first WordPress blog or website.

To do that, you’ll need a domain name and web hosting account. Normally, a domain name costs $14.99, and website hosting starts at $7.99 per month.

That’s too much if you are just starting out.

Luckily, Bluehost is offering WPBeginner users a free domain name with a generous discount on hosting. Basically, you can get started for $1.99 per month.

For more hosting recommendations, take a look at our complete WordPress hosting guide.

Once you have signed up for hosting, you can follow our step-by-step guide on how to move WordPress from a local server to a live site.

You may also want to look at alternate ways to create local WordPress sites on Windows using Wampserver and on Mac using MAMP.

Expert Guides on Local WordPress Sites

Now that you know how to create a local WordPress site using XAMPP, you may like to see some other guides related to local WordPress installations.

We hope this article helped you learn how to create a local WordPress site using XAMPP. You may also want to see our guide on why you should use WordPress for your website or our expert picks for the best free website hosting.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

178 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Paul says

    After having created the database and entered the database connection details, hitting submit gets me this message “There has been a critical error on this website”. Checked everything twice, what should I do?
    Thank you for your attention.

    • WPBeginner Support says

      For a fresh install, you would want to check the error log for XAMP to help narrow down the specific reason.

      Admin

    • John says

      Error logs didn’t help. But, as it turns out, for some reason, the most recent version of Xampp caused the same “critical error” response to happen for me too. I ended up uninstalling that version and went with the previous version of Xampp and presto! It works.

  3. lee kent says

    Hello. If I were to follow these steps and then decide i wanted to make another site, How would you create a new website locally?

    • WPBeginner Support says

      You would create a new folder and database and install the site in the new folder.

      Admin

  4. priyanka says

    I’m getting this error
    Your server is running PHP version 5.6.3 but WordPress 5.5.3 requires at least 5.6.20.
    p/lease help

    • WPBeginner Support says

      It is saying you want to upgrade the PHP you are using for your site to remove that error.

      Admin

  5. tarun says

    I get the following error, when I run http://localhost/mysite/wp-admin/setup-config.php

    One or more database tables are unavailable. The database may need to be repaired.

    I tried to do global search for “WP-config” file in my xampp folder but just found “wp-config-sample”. though I added the below line in
    “wp-config-sample.php” file
    // define(‘WP_ALLOW_REPAIR’, true);

    not really sure what to do after that.

    • WPBeginner Support says

      You would want to open phpMyAdmin and run the repair on all of your tables and if that does not work you would need to reach out to XAMPP’s support

      Admin

  6. tarun says

    I am not able to figure out why I am getting this strange error, though I tried to reinstall and connect several times, all I did was I tried to drop my existing database and tried to create a new wrodpress login but All I can see is the following error

    One or more database tables are unavailable. The database may need to be repaired.

  7. Mohsin Zubair says

    Hi Sir, I hope you are doing well. I am facing this error while creating data base.

    Error
    MySQL said: Documentation

    Cannot connect: invalid settings.
    phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.

    • WPBeginner Support says

      You would want to check your configuration settings to see if it is set incorrectly.

      Admin

  8. David says

    This is exactly what I have been looking for: a local testing server to develop a website without signing up to a plan/paid service first.

    The explanations are brilliant and easy to follow. It’s genius! Many thanks.

  9. Ray Silva says

    I installed wordpress. Then I put the wordpress folder in xampp’s htdocs folder. When I go to localhost on my browser, I get sent to the xampp dashboard and welcome to xampp page.

    • WPBeginner Support says

      You may want to try localhost/foldername where foldername is the name of the folder where you placed WordPress to see if that is how it is currently set up.

      Admin

  10. Hussain Abbas says

    Hi

    My url to login to WordPress dashboard is coming as “/localhost/sitename/wordpress/wp-admin” whereas as per the above instructions it should be “/localhost/sitename/wp-admin” .

    Would request your help to know how can I remove “wordpess” from the link.

    Thanks

    • WPBeginner Support says

      For that, you installed the site in a folder named WordPress, if you are just starting out you can reinstall the site without the WordPress folder.

      Admin

  11. Darren Howes says

    Hi,
    Great instructions, complete novice, everything is working apart from when I try to add/upload images I get the the message

    Unable to create directory wp-content/uploads/2020/09. Is its parent directory writable by the server?

    I am working on a mac, any ideas on how to solve this?

    Regards
    Darren

    • WPBeginner Support says

      You would need to navigate to your XAMPP folder, right-click, and modify your sharing for that folder so that it can be updated.

      Admin

  12. marni says

    When setting up WordPress I used “admin” as the user name and changed the password supplied by WordPress. As a precaution I copied the supplied password. I cannot log in with either password (no typing errors).

  13. gaurav sachan says

    everything is done but database is not created so please me that why are not creting database in my php

  14. Dimitris says

    Hello after following the procedure after the following step:

    Next, you need to open your favorite web browser and visit localhost/website1. You will see a page like this:

    I get this message on the screen.

    Warning: require_once: failed to open stream: No such file or directory

  15. Muhammad Kamran Khan says

    after all these setting localhost/website1 started working. after shut down and restarted my laptop now when i go to localhost/website1/wp-admin/ error message came : This site cant be reached. localhost refused to connect.

  16. dilshan says

    This is really helpful because sometimes I want test some plugins but i dont want to install them to my website. I can try them in this local host site thanks to you

  17. Osazuwa says

    A very helpful tutorial.

    I have implemented them

    But on loading

    Localhost/website1

    it displays
    Parse error: syntax error, unexpected’.’ expecting ‘&’ or variable (T_VARIABLE) in C:\xampp\htcdocs\website1\wp-includes\functions.php on line 1081

    Thanks

    • WPBeginner Support says

      You would want to ensure the PHP you are using is up to date for the most common reason for that error.

      Admin

  18. Julio Talaverano says

    Hi,
    Yesterday I installed XAMPP and WordPress and I worked a bit on a new page using localhost/wordpress.
    I also installed some Plugins in WordPress.
    But today when put into the browser localhost/wordpress I just get the Page I created yesterday.
    Could you please tell me how I can continue editing my page with WordPress?
    Thanks

    • WPBeginner Support says

      If we’re understanding your question correctly, you would want to ensure XAMPP is running for your site to be visible when visiting the page.

      Admin

  19. Ronny says

    Hello,

    As always your tutorials are great. One question though. How do I make multiple localhosts using Xampp.

    Think of me as a noob the this. I’ve read a few other tutorials on the subject, but it seems they assume one would have some deeper understanding of processes.

    • WPBeginner Support says

      You would create a folder with a different name in the htdocs folder and follow the steps under the ‘Creating a Local WordPress Site with XAMPP’ section and navigate to the new site’s folder when you want to see the other site rather than your first site.

      Admin

  20. Anjuli says

    Hello! My browser cannot open to localhost after putting the WordPress folder to htdocs and renaming it to website1. What should I do? Thank you.

    • WPBeginner Support says

      If you’re returning to the site after a day, please ensure XAMPP is running on your computer for it to load porperly.

      Admin

  21. Zaid says

    I have a question if i am customizing my localhost wordpress site and my pc turned off. I will loss my site..?

    • WPBeginner Support says

      No, as long as you save your changes those saved changes will remain the next time you pull up your local installation

      Admin

  22. Carla says

    Guys, Just wanted to say thank you for this post! I successfully implemented a localhost on my computer thanks to your clear, step-by-step process outlined in the post! So excited to get practising my wp skills on this new installation!

  23. Victor says

    Great job!! Is there a way, or a tutorial to transfer an existing website to this service ? This one deals with a brand new one. I have a website, and I’d love to add it to XAMPP! Thanks ! :)

  24. Blessings Chibisa says

    Guys I installed WordPress on a local machine. Am using xamp server I created a database but they is a problem in connection of WordPress and the database…. What should I do ?
    Help me pliz

  25. Vikas says

    Great artice. It worked perfectly. I am a new learner. Sir could you guide me about How I could run multiple local sites using xampp.

    Any help will be aporeciated.

    • WPBeginner Support says

      You would want to create a new folder for the next site and then you should be able to follow the directions in the article to create a new database and site.

      Admin

  26. AASIMA says

    SIR.
    I successfully followed your instructions to make a website on the localhost. but the next day it doesn’t open and showing some error?

  27. Mate says

    Good guys

    I have my website running on local xampp server on windows 10 system I want to move to my new Mac pro computer how do I do it? thanks.

  28. Keith says

    I followed your directions and it was great, thanks.

    I am trying to upload the AVADA theme that I have install previously on Hostgator and it worked.

    It is 6mb and a zip file.

    When I try to add this theme I get this message: “The uploaded file exceeds the upload_max_filesize directive in php.ini”.

    Where am I going wrong? Thank You,

  29. Mary says

    Good evening, thanks for the great work done here. I have followed these steps and I am unable to log in to my website. All I am getting is this. I am feed up already. Connection for controluser as defined in your configuration failed.

    • WPBeginner Support says

      You would want to reach out to XAMPP’s support as there are multiple possible reasons from mysql not running to needing to reinstall xampp

      Admin

  30. Kashif Ch says

    Assalam o Alikum Sir!
    Currently, I am learning WordPress and want to build different websites like membership website, LMS, e-commerce store for learning best practices.
    Can we create two different websites using localhost or any other free hosting?

  31. Xander says

    I followed the steps and it worked perfectly yesterday.

    This morning, trying to connect to the localhost I received the following error:

    “This site can’t be reached localhost refused to connect.
    Search Google for localhost wordpress jack admin
    ERR_CONNECTION_REFUSED”

  32. Daniyal says

    Hello there,

    I’ve followed all the steps given in the article but stuck when I click “Install WordPress”, it gives me an error > “The site is experiencing technical difficulties”

    after setting Site Title, username, password, email.

    Can you help me, please :)

  33. haley says

    Thank you for this article. I am on the step where I need to open up the local site in a web browser but when I do, I get an error page saying “the local host has refused to connect.” I’m guessing I messed up on one of the former steps but I don’t know which one. I’m working on a Mac.

    Any guidance would be appreciated!

    • WPBeginner Support says

      If you are returning to the site you would want to ensure xampp is running when trying to view your local site

      Admin

  34. Charlie McCormack says

    Hi
    Thanks for this. Installation went 100%
    I am trying to test Divi which has to be loaded from a zip file
    I get this when I try to install it from aperance/upload theme
    The uploaded file exceeds the upload_max_filesize directive in php.ini.
    Any solutions would be great
    Charlie

  35. YINGLI says

    Hi, thanks for writing this article! :)

    I have a question though:
    I am at the step where I have to fill in a site title, username, password and email address for my admin account for WordPress. May I know whether the information that I use here should be the same as the information that I would use for my actual online WordPress account? I have an existing unlaunched WordPress site through Bluehost.

    Thanks so much! :)

    • WPBeginner Support says

      It is not required but if you’re creating a local site to test then it may be a good idea to set that as the same.

      Admin

  36. Karen says

    thanks for the great video. question. am i understanding the process correctly? 1) set up a test site (mysite1) But should i also set up a database/wp install for each client website that I build (and maintain)? I’m guessing yes. :)

  37. God's Son says

    Hi,i am very glad and grateful to you for this article. It was very simple and comprehensive,the photo illustrations helped me a lot. You are a great teacher,i hope i will be able to learn and share my knowlege with others like you soon,thanks.

  38. Aftab Hussain says

    Thanks for such a nice guideline. I have successfully install wordpress on my local computer by the help of this post.

  39. Jon V says

    I’m trying to follow these instructions, I’ve downloaded both required files, but I do not get an htdocs folder within my applications with XAMPP. Am I doing something wrong?

Leave a Reply to Soham Pratap Cancel reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

WPBeginner Assistant
How can I help you?

By chatting, you consent to this chat being stored according to our privacy policy and your email will be added to receive weekly WordPress tutorials from WPBeginner.