You may have already tried some of the many apps which claim to create ringtones for your iPhone. However, you've probably also found their claims to be somewhat untrue because none have access to the necessary folders on the iPhone and therefore can't add those tones to your tones list.
However, in this article, I'll show you how to use iTunes to make your ringtone, then sync your iPhone to import the tones and set them as your ringtone. Yes, Apple hasn't made the process easy and whether that's because it wants to sell you a ringtone from the iTunes Store or for other reasons, it's far more difficult than it should be. But, if you're determined to turn that catchy riff into your ringtone, here's how to do it.
We're using iTunes 11 here, but it's a very similar process in older versions.
1: On your PC, launch iTunes by double-clicking its shortcut or by finding it in the Start menu.
2: From your library, right-click on the song you want to use as a ringtone and then select Get info.
3: Select the Options tab and then tick the Start Time and Stop Time boxes. Enter times at which you want the ringtone to start and stop. You will have to listen to the track first and note down the time you want it to start. The stop time must be within 30 seconds, as this is the maximum length for a ringtone.
4: Click OK. Right-click on the track again, and then select Create AAC version. iTunes will convert the song. It will appear as a duplicate track - you can identify it by the track length in seconds. If you don't see an option to Create AAC version, it's likely because your rip settings are for creating MP3 files. To change this, click the menu at the very top-left corner of iTunes and choose Preferences... Then click Import Settings... next to 'When you insert a CD' and choose Import Using: AAC Encoder.
5: Right-click on the original track, and then using the Options tab from the Get info menu, return the start and stop times to their original times. Otherwise, when you play that track, it will only play the section between your start and stop times!
6: Right-click on the short ringtone track and click Show in Windows Explorer.
The file will be highlighted. Right-click on it and choose Rename. Now change the extension from .m4a to .m4r. Click Yes when asked if you want to change the extension. If you can't see the extension, it's because Windows is set to hide the extensions. To show the extension for editing, follow the instructions here
7: Double-click the file to add it to your iTunes library (or add it using the 'Add file to library' menu option in iTunes). You DO NOT need to delete the ringtone 'song' from your music library within iTunes for this to work, but you should do so as a housekeeping task. If you leave it there, it won't play, since you changed the filename that the 'song' linked to (in the previous step).
Then, in iTunes, click the drop-down arrow to select the Tones section of your library. You'll see your ringtone there. If you don't have a Tones section, it's likely to be because Tones is deselected in your iTunes preferences. To enable them, click the menu at the very top-left corner of iTunes and choose Preferences... and make sure the Tones box is checked. Click OK and try again.
Then you'll see the list of tones:
8: Connect your iPhoneto your PC and click on 'iPhone' when it appears on the right-hand side of iTunes. Click on the Tones button in the menu running across the top and make sure Sync Tones is checked. If you choose 'selected tones' rather than 'All tones' make sure you tick the tones you want to appear on your iPhone. Click Apply at the bottom to start the sync.
9: When the sync is finished, tap Settings on your iPhone, then Sounds, then Ringtone and select the new tone. It should appear at the top of the list, above the default Ringtones.