M4R → MP3

M4R to MP3 converter

An .m4r file is an ordinary MP4/AAC file with a ringtone extension. The AAC audio is decoded and re-encoded to MP3, which costs one lossy generation.

MP3

…or drag files and folders here. Add as many as you like — everything is processed on this device.

.aac .m4a .m4r .m4v .mp4

M4R exists purely so iOS can distinguish ringtones from music. The bytes are the same as an M4A. That single character of difference is enough to make Android’s ringtone picker, most car systems and a lot of desktop software refuse the file.

Sonic Batch reads the MP4 atoms, ignores the misleading extension, and writes an MP3. Because ringtones are short, a folder of forty of them converts almost instantly — the WASM engine loads once and is reused for the whole queue.

Does this change the audio quality?

The source is AAC, so this is a lossy→lossy transcode. Ringtones are short and heard through a phone speaker, so at 192 kbps the second generation is inaudible in practice.

  • Ringtones bought from the iTunes Store may carry FairPlay DRM. Those cannot be decoded by any local tool and are reported as unsupported.
  • A ringtone trimmed to 30 seconds stays 30 seconds. Nothing here lengthens audio.
  • Android’s ringtone picker needs the file in the Ringtones directory; converting the format does not move it there for you.

A worked example

Moving a ringtone collection from an iPhone to an Android phone

  1. Copy the .m4r files off the iPhone (Finder or iTunes device sync) into a folder.
  2. Drop the folder in. DRM-protected purchases are flagged immediately as unsupported.
  3. Keep 192 kbps stereo and convert all.
  4. Download the ZIP, unpack it into the phone’s Ringtones folder, and rescan media.

192 kbps is more than enough for a ringtone

A ringtone plays through a speaker the size of a fingernail for about six seconds at a time. 192 kbps stereo is generous; 128 kbps mono is genuinely indistinguishable in that context and makes the files a third of the size. Save the high bitrates for material you listen to properly.

Supported formats, limits and browser notes

Sonic Batch decodes with the browser when it can (faster, no engine download) and falls back to the self-hosted WebAssembly engine when it cannot. Every combination below works in every listed browser; the column only tells you which decoder does the work.

Input formats accepted by this page
InputWhat it isChromeFirefoxSafariiOS
M4RAn M4A file with a .m4r extension. iOS only lists it as a ringtone if it is ≤ 40 seconds.PartialPartialNativeNative
M4AApple’s default AAC container. Better quality than MP3 at the same bitrate.NativeNativeNativeNative
AACBare AAC frames with no MP4 wrapper — used by broadcast streams and some hardware.NativePartialNativeNative
MP4The standard video container. Its audio track is almost always AAC.NativePartialNativeNative
Output formats this page can write
OutputEncoderBitrates / depthSample ratesTags
MP3libmp3lame32–320 kbps8–48 kHzYes + artwork
Max per file
400.0 MB
Max per queue
4.00 GB
Max duration
4:00:00
Max archive
1.50 GB

These are enforced ceilings, checked before any decoding starts, not measured maximums — a file over the limit is rejected rather than allowed to exhaust the tab’s memory. Real-world capacity is lower on older phones, which is why the scheduler runs one file at a time on iOS and Safari.

Where your audio goes

Nowhere. Your file is read from disk into this browser tab with the File API, decoded and encoded by code running in that same tab, and handed back to you as a download. It is never transmitted.

That is a structural property of the application, not a policy promise: there are no API routes, no server actions and no third-party processing services in this project, so there is nothing capable of receiving a file. The page’s Content-Security-Policy also restricts connections to this origin, and the automated test suite includes a browser test that fails if any network request during import, preview, conversion or download carries media bytes.

The trade-off, stated plainly:results live in your tab’s memory until you download them. Closing or reloading the page discards them. There is nothing on a server to recover, because nothing was ever put there.

Read the full privacy detail

Troubleshooting

The file is rejected as DRM protected.

iTunes Store ringtone purchases are encrypted with FairPlay. Decrypting them is not something a browser tool can or should do. Only ringtones you made yourself will convert.

Chrome will not preview the .m4r.

Some browsers key playback support off the extension rather than the content. Conversion is unaffected because the engine inspects the actual atoms.

The converted file will not show up as a ringtone on Android.

That is a file-location and media-scan issue on the phone, not a format problem. The MP3 itself is valid — check it plays in your music app first.

Frequently asked questions

Is M4R the same as M4A?

Structurally, yes — both are AAC in an MP4 container. Only the extension differs, and iOS uses it to decide whether the file belongs in Music or in Ringtones.

Can I just rename the file to .mp3?

No. Renaming does not change the bytes; the file would still be AAC in an MP4 wrapper and players would reject it. It needs a real transcode.

How do I go the other way and make a ringtone?

Use the M4R ringtone converter, which writes M4R and includes the trim control you need to stay under the 40-second iOS limit.

Are my files uploaded?

No. Everything is decoded and encoded inside your browser tab.