I'm wondering if there is a way to extend the maximum duration of a custom ringtone i make for my iPhone past 30 seconds.

  • 1
    Phones generally don't even ring for more than 30 seconds. Why do you want to do this? Mar 29, 2011 at 2:26

7 Answers 7


This is a way to trick the iPhone (iOS 6.0) into making ringtones longer than the ~40 second maximum:

Note: This may now be a moot point since you can select songs for the default alarm, but the one advantage is it allows the phone to vibrate when it is a ringtone and the vibrate alert is enabled.

Summary: Add a short 15sec .m4r song to iTunes. Replace the source file with the full length .m4r version, then drag it from the Library to your iPhone. iTunes will be expecting the short version but will copy the whole thing without error.

Prerequisites: Create two .mp3 versions of the song. One the full length, the other a short version <30sec.

Detailed instructions:

1) Create two folders. One with the full length version of the song. The other with a 15s version.

2) Add the short version to the iTunes Library via File>Add File to Library

3) Convert the short version to AAC, then search for it in Music. Once you find it, right click to Show in Windows Explorer. Rename the file extension of the short song to .m4r. Keep the Window Open.

4) Move the .m4r version to the short folder in Step 1.

5) Remove the AAC listings in the Music Library.

6) Repeat the AAC conversion for the full version, following Steps 3-5 while working from the full length folder. This is to prevent confusion. Use file size to help separate if needed.

6) From the short folder in Step 1, drag the .m4r into the Library section in iTunes.

7) Rename the short .m4r file extension to .m4r_short

8) Copy the full length .m4r into the short directory.

9) From within the iTunes Library, open Tones and then drag the song to your iPhone. The entire full length song will copy without any errors.

  • Still works in iOS 9.2.1 if anyone is wondering. Jan 11, 2016 at 7:20
  • still works in iOS 10.3
    – EFE
    Jul 30, 2017 at 11:21
  • 2
    This won't work in iTunes 12.7, since tones can no longer be added to your macOS iTunes library, they can only be added directly to your iPhone itself.
    – 2540625
    Apr 19, 2018 at 18:07

Method that semtex41 mentioned still works on iOS 8.

On Mac (OS X) you can do this:

  1. Create two folders, one for short and one for long
  2. Create two .m4r (.m4a, renamed) ringtones, one to each folder
    • Short one must be LESS than 40 seconds
  3. Give both files same name
  4. Open iTunes and drag the short tone to tone library
  5. Close iTunes
  6. Open /Music/iTunes/iTunes Media/Tones
  7. Rename the ringtone from eg. tone.m4r to tone.m4r_short
  8. Copypaste long version to Tones folder mentioned in 6, and make sure it has same name as short one had
  9. Open iTunes, the Ringtones (or Tones) sections shows, that your tone's length is same as the short one's but content is from the long one.
  10. Connect your iDevice, select Tones, select tones to sync, and click sync
  11. Done!
  • it worked in iOS 10.3
    – EFE
    Jul 30, 2017 at 11:21
  • This won't work in iTunes 12.7, since tones can no longer be added to your macOS iTunes library, they can only be added directly to your iPhone itself.
    – 2540625
    Apr 19, 2018 at 18:07

A custom ringtone can be up to 40 seconds - my custom ones are 38 seconds, and are made with iTunes - like this: http://artoftheiphone.com/2009/01/19/how-to-create-an-iphone-ringtone-using-itunes/


iOS 7 update: the below procedure requires that you first install the ToneEnabler tweak, as Apple changed the way ringtones are loaded.

If your device is jailbroken:

  1. Create your ringtone file (neroAacEnc -if ringtone.wav -of ringtone.m4r).
  2. Establish an SSH tunnel to your device (iphone_tunnel --iport 22 --lport 22).
  3. Connect to your device using WinSCP or similar tool.
  4. Browse to /Library/Ringtones/ (there should be a bunch of .m4r files in there).
  5. Drag and drop your ringtone file in with the others.
  6. Re-open "Sounds" in your device's settings.

Your ringtone (of arbitrary length) should now be available to you.

Note: Tested on iOS 5.1.1


I'm wondering if there is a way to extend the maximum duration of ringtones for my iPhone past 30 seconds.

iPhone ringtones cannot be longer than 40 seconds.

  • seriously? that seems really weird to me.
    – Derek Adair
    Dec 5, 2010 at 0:03
  • oh. I meant for a custom ringtone...
    – Derek Adair
    Dec 5, 2010 at 0:03
  • 1
    Do non-custom ringtones play longer than 30 seconds?
    – oKtosiTe
    Dec 5, 2010 at 0:56
  • It is not a carrier settings. Mar 28, 2011 at 21:59

It's not a carrier setting it's a phone setting. Max I've seen is 30 seconds but there may be a way to get around that. I think that the file format .m4r has to be cut down to 30 seconds to work with the iphone. Even when I made custom ones they had to be edited down to 30 seconds.


Yes, you can extend your custom-ringtone duration on any iPhone with any iTunes version. No jailbreak required.

Here's how:

  1. Put your ringtone in your device by using the normal iTunes procedure (sync it, drag and drop in Ringtones, etc.). It must be less than 40 seconds. Say 10 seconds.
  2. Make sure it's been transferred in your device by going to Settings → Sounds.
  3. You can already select it as your ringtone if you wish.
  4. Download iBackupBot and install it on your computer (available for free for both macOS and Windows, google for it, first result).
  5. Open iBackupBot. Make sure it detects your device. If it doesn't, just click on the Refresh button (blue circular arrow).
  6. Click on your device name.
  7. Click on "Raw file system".
  8. On the right panel, click on iTunes_Control → Ringtones.
  9. You will see a random-named file ending with .m4r extension.
  10. That file is the ringtone. If you have multiple ringtones, you will see multiple m4r files.
  11. On your computer, convert any full-length song/ringtone of your choice to m4r format. You can use any online service for that.
  12. Once you got your full-length m4r, just rename it to the one currently in the Ringtones folder of your device (as seen in step 8-9). If you have multiple m4r, just choose one.
  13. In iBackupBot, click the Import button located exactly on the top of the folder structure.
  14. Find and select your full-length m4r file.
  15. Confirm to overwrite.
  16. Done.

Not the answer you're looking for? Browse other questions tagged .