Keep a ringtone to 30 seconds or less. On iPhone, GarageBand shortens a ringtone to that length when you export it, and most guides use 30 seconds as the safe limit. Android accepts longer files, but the ringtone simply repeats while the phone rings, so a longer file is rarely heard in full.
What matters more than length is the start: the first few seconds are what you hear before you answer. Ringoz makes every ringtone 30 seconds long and masters it to loop cleanly when a call rings longer.
Related questions
How do I make a custom ringtone on iPhone?
Get a sound of 30 seconds or less, add it as a ringtone, then pick it in Settings.
Can I make an iPhone ringtone without GarageBand?
Yes, on recent iOS versions the Files app can set a short audio file as a ringtone.
How do I make a custom ringtone on Android?
Save a short audio file to the phone, then add it in Sound settings.