How to Transcribe Any Audio File to Markdown (Step-by-Step)
You have an audio file (meeting recording, voice memo, podcast, lecture capture), and you want a clean, timestamped Markdown transcript back. No install, no command line: you only need a free account. Here's the walkthrough plus the tips that matter once you've done it a few times.
The short version
Open /convert/audio-to-markdown and sign in with your free account. Drag your audio file onto the upload zone (or click to browse); several files at once work too. Click Convert. Wait. Download the .md file. Done.
The output is a Markdown transcript with three properties that matter once you paste it somewhere else:
- Real punctuation. Sentences end where they should and start with a capital, so the text reads as prose instead of an undifferentiated stream of words.
- Speech segments. The transcript is split at natural breaks in speech, with a blank line between segments, so a 60-minute recording is not one wall of text.
- Timestamps. Each segment starts with its time in the recording, in square brackets. They are on by default and you can switch them off. Useful for cross-referencing back to the original audio when verifying a quote or extracting a clip.
That is the whole file: no title, no section headings, no summary, no speaker names. Plain text gives you words; a timestamped transcript gives you words you can place in the recording. If you need subtitles instead, the transcript also downloads as .srt or .vtt (see step 5).
Step-by-step walkthrough
Step 1: Locate your audio file
Common sources and where the files live:
- Zoom local recording:
~/Documents/Zoom/[meeting-folder]/audio_only.m4a(or the platform equivalent). - iPhone Voice Memos: Voice Memos app → tap the recording → Share → Save to Files. Output is M4A.
- Android voice recorder apps: typically save to a Recordings folder on internal storage. Format usually M4A or 3GP.
- Dedicated recorder (Zoom H1, etc.): copy WAV or MP3 from the SD card.
- Video file: MP4, MOV, WebM or MKV files work directly; the tool transcribes their audio track, so there is nothing to extract first.
- Podcast download: most podcast apps let you export the MP3 from the episode page.
Step 2: Open the converter
Go to /convert/audio-to-markdown. The page is a single upload zone. Sign in first: the account is free and takes seconds to create.
Step 3: Upload
Drag the file onto the zone or click to browse. To transcribe several recordings, select them together. Upload time depends on file size and your connection: a 60-minute MP3 is typically 30-60MB and uploads in 30-90 seconds on a normal home connection.
Step 4: Convert
Click the Convert button. Processing time depends on file length. The page shows progress.
Step 5: Review and download
The Markdown preview appears. Skim it briefly to check for any obvious issues (we'll cover what to watch for below). Click Download to save the .md file. The default filename matches the input audio name. For a single file with timestamped segments, you can also download .srt and .vtt subtitles; when you convert several files, each result offers its .md and an .srt.
Tips on file format
The web tool accepts the major audio formats and common video files, whose audio track it transcribes:
- MP3: universal. Good baseline.
- M4A / AAC: iPhone, Zoom, modern recorders. Better quality per byte than MP3.
- WAV: uncompressed. Highest fidelity, largest files. Use when source quality matters most.
- OGG / FLAC: less common but supported.
- MP4 / MOV / WebM / MKV: video files; upload them as they are, only the audio track is transcribed.
If you have audio in an obscure format, convert it to MP3 first using a free tool like FFmpeg:
ffmpeg -i input.weird mp3-version.mp3For format-specific guides, see mp3-to-markdown, m4a-to-markdown, and wav-to-markdown.
File size handling
The web tool handles typical recordings without issue. For unusually large files:
- Compress the audio. A 4-hour WAV file is huge; the same audio re-encoded as MP3 at 128kbps is much smaller and loses no useful transcription quality.
ffmpeg -i input.wav -b:a 128k output.mp3. - Split very long recordings. If you have an 8-hour all-day conference recording, splitting into 1-hour chunks (manually or with FFmpeg) and processing separately is more reliable than one giant file. Concatenate the resulting Markdown files at the end.
- Optionally, upload a video's audio track only. Video files are accepted as they are, but if your source is a 4GB video, extracting the audio makes a much smaller upload:
ffmpeg -i video.mp4 -vn -acodec copy audio.m4a.
The web tool accepts several files at once, but each file is a conversion that uses credits, and there is no API or CLI for unattended runs. For hundreds of recordings or a scheduled job, use local Whisper instead: full Python recipe in batch transcribe multiple audio files.
What to expect for different audio quality
Accuracy follows the recording. In broad terms, from easiest to hardest (to put numbers on your own files, see how to measure transcription accuracy by audio quality):
- Studio-quality recording, native English speaker: the easiest case; expect minimal cleanup.
- Phone call recording or Zoom audio with good mics: expect a handful of fixes per page.
- Conference room with a single ceiling mic, multiple speakers: more cleanup, especially where people talk over each other; budget time for it.
- Outdoor or noisy environment, single speaker: background noise causes word-level errors; substantive content usually still recoverable.
- Heavy accents or non-native English speakers: specific accents the model has less training data for see worse accuracy. The transcript is still useful but expect more cleanup.
- Highly specialized vocabulary (medical, legal, technical jargon): common words are accurate; specific terms (drug names, legal citations) often need correction.
The honest implication: AI transcription is great for most use cases and not a substitute for certified human transcription where every word legally matters. For typical business and creative use, the AI quality is more than enough.
What the transcript body looks like
The output is the transcript itself, split into speech segments, each starting with its timestamp. Here is an excerpt from late in an hour-long meeting:
[01:04:12] So the budget question comes down to timing.
[01:04:16] If we sign before the end of the quarter, the whole team can start in October.
[01:04:23] And if we wait?
[01:04:25] Then the headcount question moves to next year, and that's the biggest open item we have.With timestamps switched off, you get the same segments without the brackets. There is no heading above the text and none inside it.
One thing it does not do: identify speakers. The output carries no speaker labels and no names. If you need attribution, run a diarisation pipeline (WhisperX, pyannote.audio) or use a service built for it such as Otter, then merge the labels in yourself.
Adding section headings yourself
The tool does not insert headings. For a long recording you want to navigate by topic, add them in a second pass: paste the transcript into Claude or ChatGPT with a prompt such as "Insert a ## heading wherever the topic changes. Keep every line and timestamp unchanged." For a meeting that covered three topics, the result might look like:
## Q3 Headcount Plan
[segments]
## Pricing Review
[segments]
## Timeline for Migration
[segments]Those headings are the model's guesses based on content. Check them: an LLM sometimes bundles related topics or splits a single discussion across two sections. A short editorial pass produces a clean outline.
Common downstream uses
The Markdown output plugs into the workflows you already have:
Feed to AI for analysis
Drop the .md into Claude or ChatGPT and ask for summaries, action items, key quotes, or a follow-up email draft. The summary and the action items come from that prompt, not from the converter; the timestamps let the model point to the moment each point was made. See ChatGPT can't listen to your audio for the full pattern.
Save to Obsidian
Drop into your vault. Obsidian indexes the Markdown immediately, full-text search works, and any H2 headings you add become outline view entries. For voice memos specifically, see voice memo to Obsidian workflow.
Save to Notion
Paste into a Notion page. Any headings you add convert to native Notion blocks. For team meeting libraries, build a Notion database of recordings; see audio to Notion workflow.
Repurpose into content
Podcasters: convert episode → blog post, threads, quotes. See turn a podcast episode into a blog post and podcast repurposing.
Cross-feature: meeting slides as PDF
If your meeting included a slide deck, the audio captures the discussion but not the structured slide content. Run the slides through pdf-to-markdown and concatenate both Markdown files for a complete record.
What about privacy?
The audio you upload is processed and returned as Markdown. Review the privacy policy on the converter page for current data handling. For sensitive content (legal, medical, deeply personal), the conservative path is to run Whisper locally: audio never leaves your machine. We cover the local setup in batch transcribe multiple audio files, which works just as well for a single file.
Use case-specific guides
For deeper walkthroughs tailored to specific scenarios:
- Structured meeting notes
- Interview transcription
- Lecture transcription for students
- Voice memo PKM workflow
Pitfalls and how to handle them
Audio is too quiet
If the source audio is barely audible, transcription quality plummets. Boost the volume with FFmpeg before uploading: ffmpeg -i quiet.mp3 -filter:a "volume=2.0" louder.mp3. Don't over-amplify: clipping makes accuracy worse, not better.
Multiple speakers talking over each other
Cross-talk lowers word accuracy: overlapping voices mask each other and the model drops or garbles words. The substantive content is usually still captured, but expect rougher patches. The output has no speaker attribution to correct, since it is a sequence of timestamped segments rather than labelled turns.
Music or sound effects in the recording
The model handles brief music interludes fine but extended music sections may produce gibberish or be skipped. For podcasts with music intros/outros, the transcript usually starts cleanly with the spoken intro.
Multiple languages mixed
The model auto-detects language but can struggle with code-switching mid-sentence. For genuinely multi-language content, transcribe segments separately if possible, or accept that some parts will be transliterated rather than translated.
Recommendation
For most users, the web tool is the right answer. It requires no install, runs on a free account, takes several files at once, and produces a timestamped Markdown transcript ready for downstream use. When you need hundreds of recordings processed or transcription on a schedule, which a web tool without an API or CLI cannot do, graduate to local Whisper. Either way, you end up with plain Markdown files that play well with everything else in your workflow.