Voice Recorder
Record the microphone with MediaRecorder, play the take back, and download WebM or the type your browser supports.
🔒 Processed entirely in your browser — nothing you enter here is ever uploaded.
Result
About this tool
Start asks for the microphone with getUserMedia and, if permission is granted, constructs a MediaRecorder. The MIME type is the first candidate the browser says it supports: audio/webm;codecs=opus, then audio/webm, then audio/mp4. If none of those is supported, the recorder is created with the browser’s default type. recorder.start() begins collecting chunks. The clock on the page is the time since that start, refreshed every 250 milliseconds as minutes and seconds. There is no maximum duration in the script. Recording continues until you press Stop or leave the page.
Stop calls recorder.stop(), which flushes the last chunk and then releases the microphone tracks. The chunks become one Blob. That Blob is loaded into the audio player so you can listen before you keep it, and a download is attached. The file name starts with recording- and a timestamp. Opus or plain WebM uses the extension webm. An mp4 type uses m4a. A mpeg type would use mp3. The caption shows the size in kilobytes. If the microphone is denied or missing, the status line says access was denied or unavailable, and no file is created.
There is no pause button and no input-level meter. Those controls are not on the page. The recording is whatever MediaRecorder encoded, which is not WAV and not FLAC. The audio stays in the tab: the Blob is a local object URL, and nothing in this tool uploads it.
Example. A microphone take is stored as a Blob and downloaded as recording-<timestamp>.webm when the browser accepts audio/webm;codecs=opus.
Limit. The recorder tries audio/webm;codecs=opus, then audio/webm, then audio/mp4, and otherwise lets the browser pick. It does not write WAV or FLAC, and there is no pause button or level meter.
How do I record voice in the browser?
Start asks for the microphone and calls MediaRecorder.start. The clock on the page updates every 250 ms from the moment recording began. Stop ends the recorder, releases the microphone, and shows an audio player plus a download of the collected chunks.
What file type do I get?
The type is the first supported entry among audio/webm;codecs=opus, audio/webm, and audio/mp4. Opus or plain WebM downloads as .webm. An mp4 type downloads as .m4a. A mpeg type would use .mp3. If none of the three candidates is supported, the browser’s default MediaRecorder type is used.
Is there a time limit, a pause button, or a volume meter?
The script does not stop the recording after a fixed number of seconds. It also has no pause control and no input-level meter. If permission is denied, the status line says the microphone is unavailable and nothing is recorded.