Initializing... drag & drop files here
Supports: M4A
M4A is Apple's MPEG-4 audio container, almost always wrapping AAC-LC (the iTunes Store default since 2003) or Apple Lossless (ALAC). AU — sometimes called Sun audio or NeXT/Sun soundfile — is the legacy format Sun Microsystems shipped with the SPARCstation 1 in 1989 and is still the path of least resistance whenever the playback target is a JVM, a Solaris box, or an old SPARC/NeXT machine.
javax.sound.sampled.AudioSystem reads AU, WAV, and AIFF out of the box on every JRE. AAC inside an M4A container needs a third-party SPI (JAAD, JLayer-AAC) or FFmpeg shelling out; AU just works in stock Java applets, desktop apps, and server-side audio pipelines.audioread, Octave, Praat (linguistics/phonetics), and NumPy's SciPy wavfile-style loaders accept AU's PCM payload directly. AAC's lossy decoder smears the spectrum, which is unacceptable for spectral analysis or speech research.| Property | M4A (MPEG-4 Audio) | AU (Sun/NeXT) |
|---|---|---|
| Year introduced | 2003 (iTunes Store launch) | 1989 (SPARCstation 1, SunOS) |
| Container | MPEG-4 Part 14 (ISO/IEC 14496-14) | Flat header + raw samples (28-byte minimum) |
| Default codec | AAC-LC (lossy) | 8-bit μ-law (also this converter's default); 16-bit PCM selectable |
| Header | Complex MOOV/MOOF atom tree | 24-byte big-endian header + optional annotation |
| Typical bitrate | 128–256 kbps stereo | 64 kbps (μ-law 8 kHz) to 1.4 Mbps (PCM 44.1 kHz/16-bit) |
| Lossless option | ALAC | Always lossless when using PCM encodings |
| Metadata | iTunes-style tags (title, artist, art) | Annotation chunk only — no tag standard |
| Native support | Apple stack, Android, modern browsers | Sun/Solaris, NeXTSTEP, Java, ffmpeg, sox |
| Best use | Music distribution, podcasts | Java apps, telephony, scientific audio, legacy Unix |
| Sample Rate | Bytes/sec (mono, 8-bit μ-law default) | Bytes/sec (mono, 16-bit PCM option) | Use Case |
|---|---|---|---|
| 8000 Hz | 8 kB/s | 16 kB/s | Telephony, IVR, Java applet beeps, Solaris bells |
| 11025 Hz | 11 kB/s | 22 kB/s | Low-bandwidth voice, old multimedia |
| 22050 Hz | 22 kB/s | 44 kB/s | Speech research, AM-radio-grade audio |
| 44100 Hz | 44 kB/s | 88 kB/s | CD-quality music, matches most M4A sources |
| 48000 Hz | 48 kB/s | 96 kB/s | Broadcast, DAW imports, modern Java audio |
A 3-minute M4A at 128 kbps is roughly 2.8 MB. Converted with the default 8-bit μ-law at 44.1 kHz stereo, the same clip is about 16 MB (44,100 samples/sec × 2 channels × 1 byte × 180 s); select 16-bit PCM in the advanced options and that doubles to about 32 MB. Drop to 8000 Hz mono and the μ-law AU shrinks to roughly 1.4 MB while remaining readable by every Java and Solaris tool that expects classic AU.
If you also need other conversions, see M4A to WAV, M4A to MP3, or WAV to AU.
M4A uses AAC, a perceptual codec that throws away inaudible spectral content and typically compresses to 128–256 kbps. AU stores audio either as 8-bit μ-law — the default here, around 64 kbps at the 8 kHz telephony rate or ~706 kbps at 44.1 kHz stereo — or, if you select it, as uncompressed PCM (705 kbps for 44.1 kHz/16-bit mono, 1411 kbps for stereo). Picking PCM at CD rates produces a file roughly 10–12 times the size of the source M4A; that is the cost of a lossless, decoder-free container. To minimise size, switch Audio Channel to Mono and drop Audio Sample Rate to 8000 Hz, which is what classic AU files used.
The converter outputs 8-bit μ-law AU by default (pcm_mulaw) — the classic Sun encoding at 1 byte per sample, readable by every tool that expects classic AU. If you need linear PCM instead, select 16-bit big-endian PCM (pcm_s16be) in the advanced options — that is what Java's AudioInputStream also decodes without extra SPIs — and A-law (pcm_alaw) is available too. For an authentic SunOS-era telephony clip, combine the μ-law default with Audio Sample Rate 8000 Hz and Audio Channel Mono.
Yes. The JRE bundles AU support since Java 1.3, so AudioSystem.getAudioInputStream(file) opens the output directly without third-party libraries. AAC inside an M4A would otherwise require a SPI such as the Java AAC Player (JAAD2) or shelling out to FFmpeg. If you are building Java applets, JavaFX MediaPlayer apps, or server-side audio tooling, AU is the lowest-friction format.
No. AU has only an optional free-form annotation field after its 24-byte header — there is no equivalent to iTunes-style ID3 or MP4 atom tags, and album art is not representable. If you need to keep that metadata, convert to FLAC or WAV with INFO chunks instead, or keep a copy of the M4A alongside the AU.
Yes. Toggle Trim, enter a Start Time (e.g. 00:01:30) and a Duration (e.g. 00:00:45) in HH:MM:SS.sss format. Trimming happens before encoding, so the output AU is just the selected segment — useful for extracting a 5-second alert from a 30-minute podcast without paying the file-size penalty for the full track.
Three reasons keep AU alive: (1) Java's standard library reads AU but not AAC; (2) telephony and IVR systems still speak G.711 μ-law, which is byte-for-byte compatible with classic AU; (3) academic phonetics tools (Praat, MATLAB audio toolbox) prefer uncompressed inputs, and AU is a smaller, simpler container than WAV when you only need one PCM stream and no metadata.
Only if you select 16-bit PCM (pcm_s16be) in the advanced options — then every sample the M4A decoder produces is written verbatim to the AU. The default 8-bit μ-law output instead compands each sample into 8 bits, a small additional loss. And M4A with AAC is itself a lossy format, so the audio you end up with reflects whatever AAC already discarded at encode time. If the M4A is actually ALAC (Apple Lossless), M4A→AU is fully lossless only via the 16-bit PCM option. To tell which codec your M4A uses, run ffprobe -show_streams file.m4a and look at the codec_name field.
Yes — large audio conversions need server-side FFmpeg-class processing, so the M4A is uploaded over HTTPS, converted, and the AU is returned to your browser. The uploaded file is removed from our servers automatically after a few hours; we do not retain audio. If you need fully offline conversion, ffmpeg's -i input.m4a output.au works locally too.
The format spec defines 27 encoding codes covering 8-bit μ-law and A-law, linear PCM at 8/16/24/32-bit, IEEE float at 32 and 64-bit, and several G.7xx ADPCM variants. Sample rate is stored as a 32-bit field, so anything from 1 Hz to 4 GHz is technically legal. In practice, the rates listed in the dropdown (8000, 11025, 12000, 16000, 22050, 24000, 44100, 48000 Hz) cover every real-world use case.