How do you make an MP3 ringtone for Android?
Short answer: open the song in the audio cutter, mark the part you want, set Fade out to 1 or 2 seconds, pick MP3 and press Download. Then move the file into the Ringtones folder on the phone and pick it in the ringtone list.
- Format: the cutter writes constant-bitrate MP3 at 44.1 kHz. Every file we exported used one bitrate in every frame, which is inside what Android's own format list supports (MP3, 8 to 320 kbps, constant or variable).
- Size: a 30 s ringtone came out at 481 KB at 128 kbps and 1,202 KB at 320 kbps.
- The end: with no fade, the last 10 ms of our test clip peaked at -6.1 dBFS and then stopped dead, so each repeat of the ringtone starts after a hard stop. A 2 s fade out brought the last 10 ms down to -54.2 dBFS.
What Android needs from a ringtone file
Two things are documented by Android itself:
- A format it can play. Android's supported media formats page lists MP3 in .mp3 files as "Mono/Stereo 8-320Kbps constant (CBR) or variable bit-rate (VBR)". WAV with 8- or 16-bit linear PCM is listed too, but a WAV ringtone is about 4.4 times the size of a 320 kbps MP3, so MP3 is the practical choice.
- The right folder. Android's Environment reference describes
DIRECTORY_RINGTONESas the standard directory for audio files "that should be in the list of ringtones that the user can select (not as regular music)". In the Android Open Source Project source (Environment.java) that folder is namedRingtones. The same file definesNotificationsandAlarmsfor notification and alarm sounds.
Where the Ringtones folder shows up, and what the ringtone menu is called, depends on the phone maker and Android version, so we do not list menu paths here. We also did not test on a physical Android phone. The measurements below are of the files the cutter makes.
How we tested
- Tool: the audio cutter on this site, driven by Playwright 1.63.0 in Chromium 153 on a local copy of the page. We typed the start and end times, set the fade sliders, picked MP3 and a bitrate, and saved each download. One export was repeated in Playwright's Pixel 5 phone profile.
- Music: 30 seconds (1:00 to 1:30) of Mozart's Symphony No. 40, first movement, played by the Musopen Symphony, public domain on Wikimedia Commons, converted to 44.1 kHz, 16-bit stereo and played twice to make a 60 s file.
- Checks: exact file size in bytes; every MP3 frame header read one by one (bitrate, sample rate, stereo or mono); decoding with FFmpeg 4.4.2; the start of the music found by lining the decoded file up with the source; levels in dBFS, where 0 dBFS is the loudest a file can go.
Ringtone file size by length and bitrate
| Length | 128 kbps | 192 kbps | 256 kbps | 320 kbps |
|---|---|---|---|---|
| 15 s | 241 KB | 361 KB | 481 KB | 602 KB |
| 20 s | 321 KB | 481 KB | 641 KB | 801 KB |
| 30 s | 481 KB | 721 KB | 961 KB | 1,202 KB |
| 40 s | 641 KB | 961 KB | 1,281 KB | 1,602 KB |
All 16 files were 44.1 kHz stereo, and every frame in each file used the same bitrate, so none of them needs variable-bitrate support. They carry no ID3 tag. The cutter names the file after the song and the cut times, for example mozart60_0-00-000_to_0-30-000.mp3, so rename it before you copy it if you want a cleaner name in the list.
A fade does not change the size: all six 30 s, 128 kbps files with different fades were exactly 480,653 bytes. The file made in the Pixel 5 phone profile was byte-for-byte the same as the desktop file with the same settings.
What happens at the end when the ringtone repeats
A ringtone plays again from the start until you answer, so its last moment is heard over and over. We cut the Mozart excerpt at 30 s, in the middle of a loud passage, and exported it at 128 kbps with different fade out settings.
| Fade out | Last 50 ms, average level | Last 10 ms, peak |
|---|---|---|
| None | -15.3 dBFS | -6.1 dBFS |
| 0.5 s | -39.6 dBFS | -41.7 dBFS |
| 1 s | -45.7 dBFS | -47.9 dBFS |
| 2 s | -51.7 dBFS | -54.2 dBFS |
| 3 s | -55.2 dBFS | -58.3 dBFS |
With no fade, the end of the cut is louder than the clip's own average and the music stops at that level: the last sample was at -13.2 dBFS. The MP3 encoder also smears that hard stop into the padding after it, which still reached -22.8 dBFS. With a fade of 2 s or more, the last sample of the music was exactly zero.
The start matters less, because the file already begins with silence. Every MP3 we exported started the music 1,105 samples (25.1 ms) into the file, and the 30 s files decoded to 1,324,800 samples, 40.8 ms longer than the 30.000 s selected, because an MP3 is built from whole frames of 1,152 samples. If your cut starts on a loud note, a 0.1 s fade in lowered the first 10 ms of music from -20.1 dBFS to -41.3 dBFS in our test.
Step by step
- Open the song in the audio cutter in your phone's browser or on a computer. The file is read in your browser, not uploaded.
- Drag the handles or type the start and end in seconds. Press Play region to check it.
- Set Fade out to 1 or 2 s. Add a short fade in only if the cut starts on a loud note.
- Pick MP3. 128 kbps gives the smallest file (481 KB for 30 s); pick 192 kbps or more if you want less compression.
- Press Download, rename the file if you like, and move it into the Ringtones folder in the phone's storage. On a computer, copy it over USB into that folder.
- Open your phone's sound settings and pick the file from the ringtone list. For a notification or alarm sound, use the Notifications or Alarms folder instead.
Want the ringtone to start on the exact beat? See Can you trim an MP3 to the exact millisecond? To avoid losing quality when you cut an MP3, see Does cutting an MP3 lose quality?
Questions
How long should an Android ringtone be?
We did not find a length limit in Android's documentation, and we did not test one on a phone. A 30 s MP3 at 128 kbps was 481 KB in our test, so length is not a storage problem; pick a part that sounds right when it repeats.
Which bitrate should I choose?
All four bitrates the cutter offers (128, 192, 256 and 320 kbps) are inside Android's listed MP3 range. Higher bitrates keep more of the original: in our MP3 quality test, one cut of a 128 kbps song scored 17.7 dB saved at 128 kbps and 52.4 dB saved at 320 kbps. The 320 kbps file is 2.5 times the size.
Can I make the ringtone on the phone itself?
Yes. The same export in a Pixel 5 phone profile gave a file identical to the desktop one, byte for byte. That was an emulated phone screen in Chromium, not a physical phone.