The following are step by step instructions to migrate your 2.5.x site to Joomla 3.x. While there are hundreds of different scenarios, this will give you the basic procedure to follow. Very complex migrations will likely be as a result of third-party extensions. You are encouraged to contact the developers of third-party extensions for their suggested path to migrate their extensions.
The migration from Joomla 2.5 to 3.x is considered a mini-migration. This is because the Joomla core extensions will upgrade with a "one-click" upgrade via the Joomla! Update component in the backend administrator side of Joomla. Many third-party extensions are a one-click upgrade too. Some are not. You need to look at each one and determine what path the extension needs to follow to get from 2.5 to 3.x. If you haven't already, you might be interested in reading the Self Assessment and Planning for 2.5 to 3.x Migration prior to following the steps below.
Joomla Core Extensions:
Modules (core modules - not third-party)
For very large or complex 2.5 to 3.x migrations
The one-click update will be fine and work well for many. For some larger, more complex sites, the one-click update may not be the best route. For large or very complex sites, you may want to follow instructions for a regular migration and bypass the one-click update functionality. To do this, follow the same instructions for planning 1.5 to 3.x and migrating from Joomla 1.5 to 3.x, simply substitute 2.5 for 1.5 while reading.
Step by Step
Set up a Development Location
Take a backup of your live 2.5 site. You can use a suggested tool (see bottom of page) or you can do this manually
Backup Basics for a Joomla! Web Site
What are the best practices for site backups?
Make sure your environment meets the technical requirements for Joomla 3 before proceeding
Create a new database and new user to restore your 2.5 site to.
Create a testing site or build area to work in and restore the back up copy of your 2.5 site in one of the following places:
A local device via WAMP, MAMP, LAMP, XAMPP.
A new hosting account on a temporary domain in the root (if you would like to change hosts in the process of migration)
Restoring a site on a local device. See Installing Joomla locally and Setting up your workstation for Joomla development.
Restoring a site with a tool listed at bottom of page (read the developer documentation)
In your test location, update your Joomla 2.5 instance to the latest maintenance release (currently 2.5.28).