PCM to WAV Converter
Raw PCM has no header, so a player cannot tell how to read it. Describe the format and get a standard WAV file.
Any headerless PCM file: .raw, .pcm, .sw, .bin or a dump from a device. Files stay on your device.
How it works
- Choose the raw PCM file.
- Set the sample rate, bit depth, channel count and byte order it was recorded with.
- Check the waveform and the short preview: wrong settings sound like noise.
- Click Convert to WAV.
- Download the WAV file.
Why raw PCM needs settings
A raw PCM file is nothing but samples. Unlike WAV it has no header to say how many channels there are, how fast to play them or how each sample is stored, so a player cannot open it. You supply those facts, the page reads the samples the way you describe, and writes them into a standard WAV file that every player opens.
The facts usually come from whatever made the file: a recorder, a microphone array, a game or a codec test tool. Common raw formats are 16-bit signed little-endian at 44.1 or 48 kHz, 8-bit unsigned at 8 kHz for telephony, and 32-bit float from audio software.
Check the settings with the preview
The first seconds are decoded as you change each setting, drawn on a waveform and playable. Correct settings look like sound: smooth waves that rise and fall. Wrong settings produce harsh static, and the page says so when the preview looks like noise. The usual culprits are the wrong byte order (try big-endian), the wrong bit depth, signed instead of unsigned, or too few or too many channels. A wrong sample rate does not make noise, it just plays too fast or too slow.
Header offset skips bytes at the start of the file. Use it when the file has a small header the player does not understand: a WAV header is 44 bytes, for example. Bytes at the end that do not fill a whole frame are ignored and reported.
What the WAV contains
By default the WAV keeps the raw data’s own format: 8-bit unsigned stays 8-bit, 16-bit stays 16-bit, 24-bit stays 24-bit and 32-bit float stays float, so the samples are carried across unchanged. 32-bit integers pass through 32-bit float processing and keep about 24 bits of precision, and 64-bit float is stored as 32-bit float; both are far below anything audible. You can choose another WAV sample format instead.
The conversion reads the file in pieces, so large captures do not need to fit in memory, and files above 4 GB become RF64 automatically. The same page also exports any audio file the other way, as headerless interleaved PCM in the sample format you choose, and tells you the sample rate and channel count to use when reading it again.
Questions
How do I know the sample rate and bit depth of my raw file?
Check the documentation or settings of the program or device that created it. If you do not know, try the common ones (44.1 kHz or 48 kHz, 16-bit signed little-endian) and use the preview: the right settings sound like audio and the wrong ones sound like noise or play at the wrong speed.
The preview is just noise. What should I change?
Try big-endian instead of little-endian first, then another bit depth, then signed or unsigned, then the channel count and channel layout. If the sound plays but too fast or too slow, the sample rate is wrong. If there is a short burst of noise at the start, try a header offset.
What is the difference between signed and unsigned?
Signed samples swing around zero (negative and positive). Unsigned samples swing around the middle of their range, which is how 8-bit audio is usually stored, so 8-bit defaults to unsigned and everything else to signed.
What does interleaved mean?
In interleaved files each frame holds one sample for every channel in turn (left, right, left, right). Some files store the whole left channel and then the whole right channel instead. Pick the layout that matches, which only matters for more than one channel.
Is my file uploaded?
No. The file is read and converted in your browser, and the result is created on your device.