Upload any PDF and have it read aloud using your browser's built-in TTS engine. Pick voice, speed, and pitch. Export audio as WebM.
Drop your PDF here
or click to browse
Choose PDF FileNo bookmarks yet. Press "Bookmark" while reading.
Captures system audio while playing. Exports as .webm — open with VLC to convert to MP3.
* Browser will ask permission to share audio.
Everything you need to know about PDF Audio Reader
This tool uses the Web Speech API built into your browser — the same engine that powers screen readers and accessibility tools. No external TTS service is contacted. All speech synthesis happens locally on your device using the voices installed in your OS.
The browser can only capture audio as .webm using the MediaRecorder API. To get an MP3, download the .webm file and open it in VLC Media Player → Media → Convert/Save → choose MP3 as the output format. Alternatively, use FFmpeg: ffmpeg -i pdf-audio.webm output.mp3.
Voices are loaded asynchronously by the browser. If the voice list appears empty or incomplete, refresh the page or wait a few seconds after the page loads. The list auto-refreshes when voices change. Make sure you have TTS voices installed via your OS settings (System Preferences → Accessibility → Speech on macOS, or Settings → Time & Language → Speech on Windows).
Scanned PDFs contain images rather than text, so pdf.js cannot extract readable characters from them — those pages will appear blank in the text panel. For scanned documents, you need an OCR (Optical Character Recognition) step first. Tools like Adobe Acrobat, Tesseract OCR, or PDF.ai can process scanned PDFs and produce searchable/selectable text PDFs that work perfectly here.
Navigate to any page and click the Bookmark button. Bookmarks are saved to your browser's localStorage keyed by a hash of your PDF filename. They persist between sessions. Click any bookmark in the list to jump back to that page instantly. Bookmarks store the page number and timestamp so you can remember when and where you left off.
The WebM export uses the browser's MediaRecorder API combined with getDisplayMedia({ audio: true, video: false }) to capture your system audio while the PDF is being read aloud. When you click "Stop & Download WebM", the recorder collects all audio chunks recorded so far and assembles them into a single .webm audio file that is downloaded to your device. The entire process is local — nothing is sent anywhere.