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 historically; modern files use PCM |
| 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 | Typical Encoding | Bytes/sec (mono) | Use Case |
|---|---|---|---|
| 8000 Hz | 8-bit μ-law | 8 kB/s | Telephony, IVR, Java applet beeps, Solaris bells |
| 11025 Hz | 16-bit PCM | 22 kB/s | Low-bandwidth voice, old multimedia |
| 22050 Hz | 16-bit PCM | 44 kB/s | Speech research, AM-radio-grade audio |
| 44100 Hz | 16-bit PCM | 88 kB/s | CD-quality music, matches most M4A sources |
| 48000 Hz | 16-bit PCM | 96 kB/s | Broadcast, DAW imports, modern Java audio |
A 3-minute M4A at 128 kbps is roughly 2.8 MB. Converted to 44.1 kHz 16-bit stereo PCM AU, the same clip is about 31 MB — eleven times larger because PCM stores every sample uncompressed. Drop to 8000 Hz mono μ-law and the 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 (around 64 kbps) or 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 PCM-encoded AU (FFmpeg's default pcm_s16be mapping for the.au extension), which matches the modern interpretation of the format and what Java's AudioInputStream decodes without extra SPIs. If you specifically need 8-bit μ-law for a telephony pipeline or an authentic SunOS-era clip, set Audio Sample Rate to 8000 Hz and Audio Channel to Mono — the resulting file is the same size as a μ-law file (1 byte per sample) and is readable by every tool that expects classic AU.
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.
The PCM step is lossless — every sample the M4A decoder produces is written verbatim to the AU. However, 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), the round-trip M4A→AU is fully lossless. 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 after the job completes; 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.