Recording
The overlay
Fills with syrup as you talk, and shows over full-screen apps.
Mac: macOS 14+ · Apple Silicon Windows: Windows 10+ · 64-bit For Apple Silicon Macs (macOS 14+) and 64-bit Windows 10+. Send yourself the link. Also for WindowsAlso for MacAll downloads
Waffler turns what you said into clean text and pastes it where you were typing. Free and open source for Mac and Windows, on your own Groq key.
No microphone used. Recreated in HTML from Waffler 3.15.1. Names are example data. Hold the key (pointer, Space or Enter) and let go to paste, or click it once to play a take. Esc cancels.
What you said
Hi, Sam. removed: Um, so, yeah, for the review, can we do Thursday at two? I'll bring theremoved: , uh, updated numbers. Cheers, James.
Waffler wrote
Hi Sam,
For the review, can we do Thursday at two? I'll bring the updated numbers.
Cheers,
James
What you said
Right, for the launch we need three things. First, fix the pricing page. Second, record the demo. Third, removed: uh, email the beta list.
Waffler wrote
Right, for the launch we need three things.
What you said
Send it to removed: John, sorry, James, by Wednesday at three.
Waffler wrote
Send it to James by Wednesday at three.
What you said
Hey team, quick one, the build's gone out, soremoved: , er, shout if anything looks off. Cheers, James.
Waffler wrote
Hey team,
Quick one, the build's gone out, so shout if anything looks off.
Cheers,
James
What you said
Can youremoved: , um, check the post-grass (corrected to Postgres) migration on macOS before the release?
Waffler wrote
Can you check the Postgres migration on macOS before the release?
With Postgres in your Vocabulary.
What you said
So I think we shouldremoved: , um, wait on the redesign. Maybe ship the fixes first. I don't know. What do you reckon?
Waffler wrote
So I think we should wait on the redesign. Maybe ship the fixes first. I don't know. What do you reckon?
Synthetic voices made for this page. Each result is Waffler’s real output for that clip. The apps and names around it are example data.
Journal, example data: 71 words and 4 entries today, 51.4k words in all. Today at 14:32: “Can you send me the updated deck before the call? I want to check the numbers on slide four before we share it with the client.” Today at 11:05: “Reminder to book the dentist, renew the car insurance and order more coffee filters.”
Vocabulary, example data: five words, Isobel, Caitlyn, Sinéad, Hailey, Clubcard, and a box to add a word or phrase.
Settings, example data: Usage estimates $0.01 today, $0.11 this week, $0.46 this month and $2.05 all time across 1284 transcriptions, $1.9722 on Groq and $0.0822 on OpenAI. Spelling is British English, auto-paste is on, and version 3.15.1 checks GitHub Releases for updates.
Example data. Redrawn in HTML, based on Waffler 3.15.1.
If an app blocks pasting, the text is still on your clipboard.
How it works
Three steps, and you never leave the app you were typing in.
Hold Fn on a Mac or Win + Ctrl on Windows. The golden waffle appears on your screen, over whatever you’re in.
Example data
A correction mid-sentence is fine, and so are ums and stutters. The cells fill with syrup as your voice gets louder, so you can see it’s listening.
Synthetic example voice
Example data
Waffler transcribes it, tidies it up and pastes it at your cursor. It’s on your clipboard too.
Example data
Your hotkey. Fn on a Mac, Win + Ctrl on Windows. Hold to talk. Let go to paste.
Space. Tap Space while holding the hotkey to lock recording on, then let go and keep talking. Press the hotkey again to stop and paste.
Esc. Esc cancels while you’re recording: nothing is transcribed, pasted or sent, so nothing is spent. The waffle’s X does the same.
Fillers and stutters go. Correct yourself mid-sentence and only the correction stays. Count items out (first, second, third) and you get a numbered list. Your greeting, sign-off and tone stay yours. Its rules forbid adding words, and any em-dash it writes is removed.
Recording
Fills with syrup as you talk, and shows over full-screen apps.
Tidy up
What you said
removed: Um, so removed: I I think removed: the the new onboarding isremoved: , like, really close. Can you have a look beforeremoved: , uh, Friday?
Waffler wrote
I think the new onboarding is really close. Can you have a look before Friday?
A spoken list
What you said
Right, for the launch we need three things. First, fix the pricing page. Second, record the demo. Third, removed: uh, email the beta list.
Waffler wrote
Right, for the launch we need three things.
A change of mind
What you said
Send it to removed: John, sorry, James, by Wednesday at three.
Waffler wrote
Send it to James by Wednesday at three.
Greetings and sign-offs
What you said
Hi Priya, thanks for meeting today, it was really useful. Regards, James.
Waffler wrote
Hi Priya,
Thanks for meeting today, it was really useful.
Regards,
James
Four clean-up rules. Each result is Waffler’s real output for that transcript.
Say “John, sorry, James” and only James makes it in.
Say first, second, third and you get 1, 2, 3.
Hi Sam and Cheers, James stay where you put them.
Its rules forbid adding words you didn’t say. Any em-dash it writes is removed.
prompts/normal.txt
The clean-up rules are public. Read every one.
Every dictation is kept on your machine and searchable. Teach it the spellings you use. See what your dictations would cost at published paid rates.
Every dictation, kept and searchable. Copy it again, or see the raw transcript.
Example data
Example data
Estimates what your dictations would cost at published paid rates, per provider. It’s in Settings.
HeardPasted
Speech-to-text writes the usual spelling. Add the ones you use, like a name spelled its owner’s way or a word written as one, and Waffler puts it right before it pastes. Matching is loose, so words spelled close to an entry can change too.
The waffle sits on top of full-screen apps. On a Mac it follows your cursor to whichever display you’re working on.
One Groq key runs everything. Add an OpenAI key and Waffler falls back to it if Groq doesn’t answer.
Check for Update downloads, installs and relaunches. Updates come from GitHub Releases.
Spelling can follow yours, or be set to British or American. English only, for now.
Privacy
Your voice goes from your computer to the provider you chose, on your own key. There’s no Waffler account to sign into and no Waffler server for anything to pass through.
Your Mac or PC
No Waffler server
Your chosen provider
Groq or OpenAI
Your keygsk_••••••
Transcribes and tidies. Bills you directly, if at all.
Optional Cerebras key: gets the transcript text for clean-up, never audio.
The only other network call is the update check to api.github.com.
Open while Waffler runs, holding only the last half-second so your first word isn’t clipped. Nothing is kept or sent until you hold the hotkey, and then only to your provider.
A hook watches for your hotkey, and for Space and Esc while you’re recording. Keystrokes are never recorded or sent.
Finished text is placed there to paste. During first-run setup only, returning to the window checks once for a just-copied API key.
Keys, settings, history, your last 10 recordings and any unsent ones live in ~/.waffler-hosted. Delete it whenever you like.
You bring an API key and the provider bills you directly, if at all.
Groq free plan
$0
On Groq’s free plan it costs nothing. The free plan has a daily cap of roughly 30 cleaned dictations, and a per-minute limit. Past either, Waffler still pastes your raw transcript but skips clean-up until the limit resets, unless you add a backup OpenAI key, which runs on credit you prepay to OpenAI.
On a paid Groq plan
About a sixth of a cent per dictation.
| Dictations a month | Roughly, per month |
|---|---|
| 300 | $0.50 |
| 1,000 | $1.60 |
| 3,000 | $4.80 |
| 10,000 | $16 |
Real months of the maker’s own use: 1,274 dictations in April came to $1.14, 634 dictations in May came to $1.06 and 648 dictations in September came to $1.03.
Paid-plan figures at Groq’s September 2026 rates, measured across 753 real dictations averaging 27 seconds. The Usage panel in Settings estimates what your dictations would cost at those rates. It doesn’t read your bill.
Open the DMG on a Mac, or run the installer on Windows.
The API key guide shows where. Copy it, switch back to Waffler, and setup fills it in. API key guide
Setup walks you through permissions, then you talk.
Built in the open
I built Waffler to stop paying about £10 a month for dictation. Most of it was written by dictating into Waffler itself. If something breaks or you want a feature, open an issue on GitHub.
James Farrelly, maker
Release notes for this version are on GitHub.
Window fonts now ship inside the app, so opening it no longer contacts Google. The Mac app declares macOS 14 as its minimum, and vocabulary corrections now catch hyphenated mishearings.
Changed the setup key check that Windows Defender flagged: it now runs when you switch back to the window, not on a timer. Windows builds are still unsigned, so SmartScreen may still warn.
A dictated “Thank you, James.” sign-off is kept, not dropped.
Long recordings keep their ending.
Setup asks for one Groq key instead of a choice of three.
Every release is built by GitHub Actions from a version tag. GitHub records a SHA-256 digest for every file in a release.
All releasesRead, fork or change every line.
GitHub records one for every file in a release. Check your download against it.
Signed with an Apple Developer ID and notarised by Apple.
Signing through the SignPath Foundation is pending, so SmartScreen may warn you. Choose More info, then Run anyway. Why, and what to check
Questions
Still stuck?
The API key guide covers setup. Anything else, ask on GitHub issues.
A Mac on macOS 14 Sonoma or later with Apple Silicon (M1 or later), or a PC on Windows 10 or later, 64-bit (x64). You also need a microphone, an internet connection and an API key from Groq (free, starts with gsk_) or OpenAI. The API key guide walks through it. There is no Linux build. There is no phone app.
Not a Waffler account. There isn’t one. You do need an account with Groq or OpenAI to make an API key, and both are free to sign up for. Groq’s free plan is enough to start.
Sign up at console.groq.com, create a key and paste it into Waffler when setup asks for it. An OpenAI key is optional: add one if you want a backup for when Groq is down or rate-limited, or to keep clean-up going past the free plan’s limits. OpenAI’s API is prepaid, so a backup key means buying credit up front. The API key guide goes through both, step by step.
Start with Groq. It has a free plan, it does both jobs (speech to text and clean-up), and Waffler tries it first. An OpenAI key works as a backup: Waffler moves on to it when Groq is rate-limited, down or past the free plan’s limits (about 30 cleaned dictations a day, and a per-minute limit). A backup is not free to keep: OpenAI’s API is prepaid, so you buy credit up front (at least $5), and unused credit expires after a year. You can change the order in Settings.
Yes. On a Mac the default is Fn, and you can change it to Command + Shift or Option + Shift, in Settings. On Windows the default is Win + Ctrl, and you can change it to Ctrl + Shift when setup asks for your hotkey.
It asks first. Shortly after it starts, Waffler checks GitHub for a newer release and shows a banner if there is one. Click Download there, or use Check for Update in Settings → About, and it downloads the new version, installs it and relaunches. On macOS the update swaps the signed app bundle. On Windows the installer performs a silent upgrade.
Waffler itself is free and open source under the MIT licence. You never pay Waffler anything. The only cost is what your API provider charges. On Groq’s free plan that is nothing, up to about 30 cleaned dictations a day. On a paid Groq plan each dictation costs about a sixth of a cent, so 1,000 dictations a month is roughly $1.60. The Usage panel in Settings estimates what your dictations would cost at published paid rates.
After about 30 cleaned dictations in a day on Groq’s free plan, Waffler still pastes your raw transcript but skips the clean-up until the limit resets. The free plan also limits use per minute, so two dictations within a minute can hit that limit for a moment, with the same result. An OpenAI key as a backup carries on cleaning up, on prepaid credit you buy from OpenAI.
Nothing is kept or sent until you hold the hotkey. So your first word isn’t clipped, Waffler keeps the microphone open while it runs and holds only the last half-second in memory, constantly overwritten. When you hold the hotkey, that half-second becomes the start of your recording, and the recording goes straight to the provider you chose, on your own key.
Waffler has no servers and never receives your audio. The audio goes straight from your device to the provider you chose (Groq, with OpenAI as an optional backup), using your own API key. If you add the optional Cerebras key, Cerebras may receive the transcript text for clean-up, never the audio. Each provider publishes how it handles API data: Groq and OpenAI. More on the privacy page.
On your machine, in ~/.waffler-hosted (%USERPROFILE%\.waffler-hosted on Windows): your API keys, settings, vocabulary, history and logs, and your last 10 recordings. A recording that fails to send is saved to ~/.waffler-hosted/unsent/ and kept until you delete it. Uninstalling leaves the folder in place, so delete it yourself if you want it gone.
Any app with a text box that accepts a paste. Waffler pastes where your cursor is. If the paste doesn’t land, the text is still on your clipboard, and in the Journal.
No other languages yet. Waffler works in English, with British or American spelling.
No. It needs an internet connection to reach your provider. If a recording can’t be sent, for example because a VPN blocks the connection, Waffler saves it to ~/.waffler-hosted/unsent/ so your words aren’t lost.
On Mac, yes. Signed with an Apple Developer ID and notarised by Apple. On Windows, not yet. Signing through the SignPath Foundation is pending, so SmartScreen may warn you. Choose More info, then Run anyway. Every release is built by GitHub Actions from the public source, and GitHub records a SHA-256 digest for every file in it that you can check against your download. Read the code signing policy.
Free for Mac and Windows. Bring your own Groq key.
Mac: macOS 14+ · Apple Silicon Windows: Windows 10+ · 64-bit For Apple Silicon Macs (macOS 14+) and 64-bit Windows 10+. Send yourself the link. Also for WindowsAlso for MacAll downloads
Downloading. If Windows says it protected your PC, choose More info, then Run anyway. Why?
Our application to the SignPath Foundation to sign the installer is pending.
Windows warning? More info, then Run anyway.