The simple ringtone hack that was discovered almost three years back still seems to work with the latest version of iTunes.
It is based on the fact that iTunes differentiates a song file and a ringtone by the file extension. While we all know that the song file extension was AAC; the file extension for ringtones is "M4R".
All you need to do is take an m4a file, which is DRM free and not more than 30 seconds, rename it to m4r and add it to iTunes.
You can check out this step by step guide to create free custom ringtones for your iPhone using iTunes:
In iTunes, right click on the song you are going to make into a ringer and select “Get Info.”
Go to the options tab and go down to the “Start Time” and “Stop Time” check boxes. Check both boxes and input the time you want your ringtone to start/stop (it should not be more than 30 seconds). Click OK when you’re done.
Right click on your newly “clipped” song and select “Convert Selection to AAC.” The song will be re-encoded using the start and stop times determined (If your menu item does not read “Convert Selection to AAC” and reads “Convert Selection to MP3″ (or some other format) please go to iTunes > Preferences > Advanced > Importing
and change the “Import Using” drop down menu to “AAC Encoder”).
After the song is done encoding navigate to your iTunes Music folder, locate your song, and drag it to your desktop. After the song is on your desktop go back to iTunes and delete the clipped version from you iTunes library (It won’t delete it from your desktop, it will only remove it from iTunes).
Go back the song on your desktop and right click on your song and choose “Get info.” Go to the name and extension section and change the extension from .m4a to .m4r (or you can just change the extension right from your desktop)
After the extension is changed simply double click on the file to add it to your iTunes library. It should show up under the ringtones section. Then sync your phone with iTunes.
You should now be able to change the ringtone to the new one by going to Settings –> Sounds –> Ringtone. The new ringtone should show up under “Custom”. Tap on it to set it as your default ringtone.
Please let us know how it goes and don't forget to tell us your favorite ringtone in the comments section below.