NotebookLM Podcast Trimmer
Trim intro/outro branding from NotebookLM Audio Overview podcasts. 100% browser-local, audio never uploaded.
NotebookLM Podcast Trimmer — Features
Trim intro & outro
Multiple audio formats
100% browser-local
The NotebookLM Audio Trimmer is designed to cut start and end segments from NotebookLM Audio Overview podcasts using the trim values you choose. It processes audio files locally in your browser with FFmpeg WebAssembly, defaults to trimming 5 seconds from the end, and lets you adjust start and end seconds for files with different branding lengths. Your audio is never uploaded to a server.
How to Use
- Upload your NotebookLM Audio Overview exported audio file
- Adjust the start and end trim seconds if needed, then run the browser-local trim
- Download the processed audio; the tool tries to copy the audio stream directly
Why Choose This Tool
- Configurable trimming — Uses your selected start and end seconds for different intro and outro lengths
- Format Support — Supports mainstream audio formats including MP3, M4A, WAV, OGG
- Direct stream trim — Uses FFmpeg codec copy to avoid unnecessary re-encoding
The NotebookLM podcast trimmer at a glance
Nothing is re-encoded. FFmpeg copies the existing compressed packets with -c copy, so the audio that survives the trim is byte-identical to the source. The defaults cut 0 seconds from the start and 5 from the end; both are editable.
| Input formats | MP3, M4A (AAC), WAV, OGG |
|---|---|
| Maximum file size | 500 MB on desktop, 100 MB on mobile browsers |
| Default trim | 0 seconds from the start, 5 seconds from the end. Both fields are editable |
| Processing mode | FFmpeg stream copy (-c copy). No decode, no re-encode, no bitrate change |
| Quality loss | None. Surviving bytes are identical to the source |
| Output format | Same container and codec as the input |
| Files uploaded | None. FFmpeg WebAssembly runs inside your browser tab |
| Account required | None. No sign-up, no email |
| Price | Free. No length cap beyond the file-size limit |
How the NotebookLM podcast trimmer works
FFmpeg compiled to WebAssembly probes the duration, then re-runs with -ss, -t and -c copy to lift the existing packets into a new container. Nothing is decoded, so there is no generation loss and no encoder settings to get wrong.
A stream copy, not a re-encode — and why that matters
The podcast trimmer never decodes your audio. FFmpeg compiled to WebAssembly first runs a probe pass to read the duration, then re-runs with -ss, -t and -c copy, which lifts the existing compressed packets straight into a new container without touching them.
The practical consequence: a 192 kbps MP3 comes out at 192 kbps, not re-compressed to something worse. There is no generation loss, no artefacts around the cut, and no encoder settings to get wrong. It is also why a 30-minute file finishes in seconds rather than minutes — nothing is being encoded, only copied. This is the opposite trade-off from the video remover, which must re-encode because it changes pixels.
Where the cut actually lands
Within a few milliseconds of the second you asked for, not exactly on it. A stream copy can only cut on a compressed frame boundary: an MP3 frame holds 1152 samples, which is 26 ms at 44.1 kHz, and an AAC frame holds 1024 samples, about 23 ms. FFmpeg snaps to the nearest one. WAV is uncompressed PCM, so cuts land essentially where you put them. If you need a sample-exact edit — matching a music bed or a hard sync point — do it in an editor that re-encodes, or trim the WAV before converting to MP3.
Choosing the two numbers
Start seconds removes from the head, end seconds from the tail. The defaults are 0 and 5, which is deliberately conservative because there is no fixed correct value. A Deep Dive opening runs roughly 10 to 20 seconds of greeting before the first substantive sentence, and the sign-off is usually 10 to 15 seconds. Something like 15 and 12 is a more realistic starting point than the defaults — but the hosts are generated fresh every time, so the length varies between runs. Play the file, note the timestamp where the real content begins, and use that. Each run reads your original file, so if you overshoot, re-run the original with different numbers rather than trimming the trimmed copy.
When people reach for a NotebookLM podcast trimmer
Podcast producers, course authors and researchers, mostly — people blocked by the 10 to 20 seconds of AI-host greeting and the 10 to 15 second sign-off that Gemini Notebook gives you no way to edit, skip or regenerate reliably.
A podcast producer publishing an Audio Overview to an RSS host
Gemini Notebook has no RSS feed, no episode manager and no way to edit what the hosts say, so the standard route is download, trim, then upload to Buzzsprout, Transistor or Captivate. Your own intro sting has to land at 0:00, which means the generic podcast greeting has to go first. The stream copy matters here specifically: podcast hosts and directories care about bitrate consistency across an episode feed, and a re-encode would silently change it.
A course author dropping an audio brief into an LMS module
Students open a module and hear twenty seconds of AI hosts introducing themselves before anything about the reading. Cutting the head so the file opens on the first real sentence removes the part learners skip anyway, and cutting the sign-off stops module autoplay from running through a wrap-up nobody needs. It also keeps the audio aligned with a transcript that starts at the first content word, which matters if you publish both for accessibility.
Getting a file under a 30-minute import cap
Import and transcription services impose caps — Jellypod, for example, limits NotebookLM audio imports to 30 minutes. A Deep Dive that lands at 31 minutes is rejected outright over roughly 40 seconds of greeting and sign-off. Trimming both ends gets it under the line without re-encoding, so the file you import is still the audio Google produced rather than a second-generation copy of it.
A researcher keeping one overview per paper
Generating an Audio Overview per paper and filing them in a folder produces a set of files that all open and close with the same boilerplate. Stripping the ends makes them shorter and directly comparable when you skim back through them. Because nothing is re-encoded, the archive stays byte-for-byte the audio Google generated — which is the honest position to be in if a file is ever cited, checked or re-verified.
What the NotebookLM podcast trimmer will not do
It cuts from the head and the tail only, so anything you want gone from the middle of the episode is out of reach. And because a stream copy never alters the bytes, SynthID comes through the surviving audio completely intact.
It cuts from the ends only. It cannot touch the middle.
This NotebookLM podcast trimmer removes seconds from the head and the tail, nothing else. If what you want gone is inside the episode — a mispronounced name, a tangent, a factual error, or an AI-disclosure line the hosts read out mid-conversation — this cannot help you. Gemini Notebook offers no script editing and no partial regeneration either. Your two real options are a waveform editor (Audacity, Reaper, Descript) or regenerating with a customisation prompt along the lines of: open on the first substantive point, no greeting, no sign-off. The prompt is not reliably obeyed — the hosts often still greet each other — but it shortens the boilerplate.
The stream copy preserves SynthID exactly, by definition
SynthID is Google's invisible watermark, carried in the waveform of AI-generated audio. Because this podcast trimmer copies packets rather than re-encoding them, the watermark in the surviving audio comes through completely intact — mathematically so, since the bytes do not change. A tool that re-encoded might degrade it slightly; this one cannot. That is a deliberate trade. You get zero quality loss and zero watermark removal, and you should treat the output as still identifiable as Google-AI-generated audio. The Gemini app will report which segments carry the mark if you want to check.
There is no brand mark in the audio to remove
Unlike video, slide and infographic exports, a downloaded Audio Overview carries no logo and no stamped disclaimer. What you are cutting is the AI hosts' scripted greeting and sign-off — conversational filler, not branding. This is why the NotebookLM podcast trimmer has editable second fields instead of a preset: the greeting is generated fresh each time and its length is different in every file. Anything advertising a fixed number of seconds that always works for NotebookLM audio is guessing.
WAV downloads eat the size limit on phones
Gemini Notebook's Studio download gives you uncompressed WAV, which runs roughly 10 MB per minute at 44.1 kHz 16-bit stereo. Against the 500 MB desktop limit that is fine — around 50 minutes, comfortably past the roughly 30-minute maximum an Audio Overview reaches. The 100 MB mobile limit is the real constraint: about 10 minutes of WAV. On a phone, convert to MP3 first (roughly 1 MB per minute at 128 kbps) or do the trim on a laptop. The podcast trimmer also does nothing else to the audio — no volume normalisation, no noise reduction, no loudness matching.
Troubleshooting the podcast trimmer
Most reports are the hosts still greeting each other in the trimmed file, and the cause is the default: 5 seconds come off the end and 0 off the start until you put a number in the start field yourself.
The hosts still say hello at the start of my trimmed file.
The default trims 5 seconds from the end and 0 from the start, so the opening is untouched until you set the start field. Scrub the original, find the timestamp of the first substantive sentence, and enter that number. Deep Dive greetings typically run 10 to 20 seconds.
The cut is a fraction of a second off from what I asked for.
A stream copy can only cut on a compressed frame boundary — about 26 ms for MP3, 23 ms for AAC. Getting closer than that requires decoding and re-encoding the file, which this NotebookLM podcast trimmer deliberately does not do because it would cost you audio quality. If the exact millisecond matters, trim the WAV before you convert to MP3, or use a waveform editor.
My WAV is rejected as too large.
The cap is 500 MB on desktop and 100 MB on mobile. Uncompressed WAV runs about 10 MB per minute, so a phone tops out near 10 minutes of audio. Convert the WAV to MP3 first, or switch to a desktop browser where 500 MB covers roughly 50 minutes.
Seeking in the trimmed MP3 jumps to the wrong place.
A stream copy does not rebuild the VBR header some players use to map a timestamp to a byte offset, so scrubbing can be imprecise on variable-bitrate files. Playback from start to finish is correct, and podcast hosts re-index on upload. If accurate local scrubbing matters, re-export once through Audacity, which rewrites the header.
I set start and end values and got an empty or zero-length file.
The output length is duration minus start minus end. If those two numbers together reach or exceed the file duration, there is nothing left to write. Check the length of the source and lower the values.
The tab froze or the download never appeared.
FFmpeg WebAssembly holds the input and the output in the tab's memory at the same time, so peak usage is roughly twice the file size against a 4 GB WebAssembly ceiling. Close other tabs and retry, or convert a large WAV to MP3 before trimming so there is far less to hold.
Privacy, copyright and acceptable use
Your audio never leaves the tab — the site is a static build with no upload endpoint to send it to. You own the overview you generated, but the rights in the sources it was built from are unchanged by trimming the ends off the file.
Rights follow the source material, not the audio file
You own the Audio Overview you generated, but the discussion is derived from whatever you put in the notebook. If those sources were someone else's paper, book chapter or paywalled report, trimming the ends does not create republication rights that were not there before. Google places responsibility for source compliance on the user. Only process files you generated yourself or are authorised to edit. Our boundaries are set out on the acceptable use page.
Nothing is uploaded — verify it in DevTools
Press F12, open the Network panel, drop in an audio file and run the trim. You will see the page, the FFmpeg WebAssembly core and the fonts load, and no request carrying your audio. The site is a static build with no upload endpoint, so there is nowhere for a file to go. This also means your file never touches our storage, because we have none. Full detail is on the privacy page.
Cutting the greeting is not an AI-disclosure exemption
Google labels Audio Overviews as AI-generated and warns they may contain inaccuracies. Removing the hosts' opening does not change that status: SynthID stays in the waveform, and platform and academic policies increasingly require AI-generated audio to be labelled where it is published. If you are republishing rather than listening privately, disclose that the audio is AI-generated and check the claims in it against your original sources first. The hosts do get things wrong, and a trimmed file sounds more authoritative than the raw one.