Make a Phone Ringtone from a Song

Pick a song and drag the selection onto the hook — it's cut, leveled and saved as m4r or mp3 in your browser; nothing is uploaded.

Try:
Ringtone

Make a ringtone from any song, in your browser

Upload a song, drag the two handles on the waveform (or type Start and End in seconds) onto the hook you want, and download it as a ready-to-use ringtone: m4r — the AAC format iPhone requires — or mp3 for Android and everything else. Leave End empty for the classic 30-second cut starting at Start. The tool also does the two things a raw cut misses: Boost loudness levels the slice to −14 LUFS (EBU R128) so it actually rings loud on a phone speaker, and the short fade-in/fade-out ramps (0.5 s by default) stop the cut from starting or ending with a click. Everything runs locally with ffmpeg compiled to WebAssembly — the song is never uploaded to a server.

Worked example

The chorus of your song starts at 45 seconds. Upload the file, set Start to 45, leave End empty (that's 45 + 30 = 75 — a standard 30-second ringtone), keep Boost loudness ticked and both fades at 0.5, and leave Format on m4r — iPhone. The result is a 30-second, loudness-leveled AAC ringtone named like the original with a -ringtone.m4r suffix — e.g. song.mp3 becomes song-ringtone.m4r. For an Android phone, switch Format to mp3 — Android & others and you get song-ringtone.mp3 instead. Preview it with the play button before downloading.

Formats

Limits and edge cases

FAQ

How do I get the m4r file onto my iPhone as a ringtone?

Connect the phone and drop the .m4r file onto it in Finder (macOS) or iTunes (Windows) — it appears under Settings → Sounds & Haptics → Ringtone. Without a computer, save the file to the Files app and import it with Apple's free GarageBand app (Share → Ringtone). iOS has no direct "set as ringtone" for downloaded files, so one of those two steps is always needed.

How do I set the mp3 as a ringtone on Android?

Copy or download the mp3 to the phone, long-press it in your file manager and choose Set as ringtone — or move it into the Ringtones folder and pick it under Settings → Sound → Phone ringtone. Any length works on Android, but 30 seconds is plenty: the phone loops or cuts it anyway.

Why is my ringtone capped at 40 seconds?

That's iPhone's hard limit — iOS refuses to list ringtones longer than 40 seconds. This tool enforces the same cap for mp3 too, because a ringtone only plays for the ~25–30 seconds a call rings; the 30-second default is the sweet spot on every platform.

What does "Boost loudness" actually do — and when should I turn it off?

It runs EBU R128 loudness normalization (loudnorm) on the cut slice, targeting −14 LUFS integrated with a −1.5 dBTP true-peak ceiling — the level streaming services master to. Songs are often mastered quieter, and a quiet ringtone is a missed call. Turn it off if you're cutting something already mastered loud, or want the original level and dynamics kept as-is.

Is my song uploaded anywhere?

No. The page downloads an ffmpeg WebAssembly build once and then processes your file locally in the browser tab — the audio never leaves your device.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool audio-ringtone 'url=https://example.com/input' 'start=0' 'fade_in=0.5' 'fade_out=0.5' 'normalize=true' 'format=m4r'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/audio-ringtone/?url=https://example.com/input&start=0&fade_in=0.5&fade_out=0.5&normalize=true&format=m4r

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.