Capture Into Markdown Without Building a New Notes Silo
Vox.md is a local-first quick-capture app. It writes standard Markdown and attachments into an Obsidian vault or another writable folder you select through Files. No Vox.md account, plugin, or hosted note database is required.
Choose a Capture Preset, connect its destination, type or add content in Quick Capture, then tap Send. The preset decides how the content is processed, formatted, and placed in your notes.
Platform availability
| Platform or feature | Requirement | What is available |
|---|---|---|
| iPhone and iPad | iOS/iPadOS 17.6+ | Quick Capture, keyboard, Share Sheet, widgets, Shortcuts, Live Activities, history, and settings |
| Mac | macOS 14+ | Capture workspace, recording/import, presets, models, history, menu bar, and global keybinds |
| Apple Watch | watchOS 10+ | Local recording, preset selection, sync queue, recording-only delivery, and complication |
| Control Center controls | iOS 18+ | Quick Capture and preset-aware recording controls |
| Apple Speech Automatic backend | Supported iOS 26 device and language | System-managed, on-device live and batch transcription |
| Apple Intelligence processing | Compatible iOS/macOS 26 device | On-device cleanup, structured output, and custom instructions with fallbacks |
Make your first capture
- Open Vox.md.The app opens directly to the durable Markdown composer.
- Select a Capture Preset.The built-in Default preset cannot be deleted, but it can be disabled. Keep at least one preset enabled and give it a destination.
- Set up its destination.Tap Set up destination, choose an Obsidian vault or Files folder, then choose a new, rolling, or existing note.
- Add content.Type Markdown or add a link, photo, file, scan, sketch, location, or voice recording.
- Tap Send.Vox.md saves into the selected route and reports Capture Sent. Failed or queued work remains available for recovery.
Permissions and system access
- Microphone: voice recording, local transcription, keyboard listening, and audio capture. Quick Capture may show this request when the workspace first opens, before you start a recording.
- Speech recognition: Apple Speech on supported systems.
- Files folder access: destinations, templates, imports, and recording-only Watch output.
- Camera and selected photos: only when you add media, screenshots, journal photos, or scans.
- Location When In Use: only for the independent Current Location Capture Bar command or when an opted-in Capture Preset needs its one origin-time location. Vox.md never tracks location continuously or in the background.
- Notifications: optional delivery status, including unattended Apple Watch failures.
- Keyboard Allow Full Access: required for the Vox.md keyboard to use its shared on-device app workflow. See Keyboard setup.
One Durable Composer for Text, Media, Files, and Voice
Quick Capture is the main iOS and iPadOS workspace. The preset menu changes the current workflow; the destination menu previews or temporarily overrides where this draft will be delivered. The bottom bar also opens History and Settings and can show or dismiss the software keyboard.
Durable drafts and safe delivery
- Text, attachments, the selected preset, destination overrides, and capture source survive suspension and relaunch.
- Edits are saved after a short debounce, and moving the app to the background triggers an immediate save.
- If you continue editing while a send is in progress, those newer edits are preserved in a fresh draft rather than being discarded.
- A destination must be configured before delivery. The composer shows Destination Not Configured with a Set Up action when needed.
- Retry-safe capture requests are journaled locally so a permission, file-provider, or sync failure can be retried.
- An empty composer uses the selected preset's capture prompt. Vox.md may otherwise show a cached inspirational quote; quote requests never include your draft.
Capture types
Write directly in a selection-aware Markdown editor, paste existing text, and combine text with other payloads.
Add an HTTP or HTTPS URL with Markdown link formatting.
Select photos or screenshots, or take a new photo. Images are staged and embedded in the delivered note.
Select multiple Files items. Images become embeds, audio remains an audio payload, and other files use Obsidian-style links.
Scan pages with VisionKit. Vox.md preserves page images, creates a PDF, and includes best-effort on-device OCR.
Capture up to 10 manual-shutter journal pages or choose journal photos. Accurate Vision OCR uses automatic language detection.
Draw on a white PencilKit canvas with a black pen. Vox.md stores editable drawing data and a PNG preview.
Request one location and insert a validated Google Maps Markdown link in the draft. This independent Capture Bar action does not change either per-preset location control.
Record from the composer or import audio/video, transcribe locally, and add the result to the draft or send it immediately.
Accessibility: OCR shows an “Extracting text on this device” progress banner, and VoiceOver announces OCR progress and completion, “Capture sent”, and “Transcript added to Capture” across capture flows.
Capture Bar
Settings → Capture Bar lets you reorder or hide actions. Every action is visible by default.
| Action | Behavior |
|---|---|
| Add Media | Opens Sketch, Camera, Photo, Screenshot, and Web Link choices. |
| Add Files | Selects multiple files from Files and stages them with the draft. |
| Scan Document | Captures a multipage scan, PDF, page images, and best-effort OCR. |
| Extract Text | Offers Capture Journal Pages and Choose Journal Photos for OCR-focused capture. |
| Undo | Undoes the last editor operation. |
| Format Markdown | Applies Bold, Italic, Hashtag, or Heading 1 through Heading 6. |
| Markdown Link | Inserts [link text](url) and selects the editable portion. |
| Internal Link | Inserts an Obsidian-style [[Target]] wikilink. |
| Set Due Date | Uses Today, Tomorrow, or This Weekend; optional time; and ±15m, ±30m, or ±1h adjustments. Inserts (@yyyy-MM-dd) or a timed form. |
| Checklist | Applies the Markdown task prefix - [ ]. |
| Bullet List | Applies a Markdown bullet prefix. |
| Paste | Pastes clipboard text into the current selection. |
| Sketch | Opens the editable PencilKit sketch capture. |
| Current Location | Requests one location and inserts a Google Maps link. |
| Insert Timestamp | Inserts local time and date as h:mm a yyyy-MM-dd. |
| Insert Date | Inserts yyyy-MM-dd. |
| Change Text Case | Offers Lowercase, Uppercase, Sentence case, Capitalize case, and Slugify case. |
Formatting respects the current selection, normalizes line endings, clamps invalid selection ranges, and avoids splitting composed characters such as emoji.
Inline voice controls
- Tap the voice button to start or stop. Long-press for about 0.45 seconds to reveal detailed controls.
- Add to Draft appends the finished transcript. Send Immediately runs the selected preset and its destination.
- Send Immediately is selected by default in the iOS and Mac capture workspaces. Opening the iOS voice action through
voxboard://capture?action=voiceswitches that recording to Add to Draft. - The Audio option retains the source recording as part of a draft when requested.
- Import audio accepts audio or movie files and uses the same local transcription pipeline.
- Identify Speakers is an opt-in Capture Preset voice-processing step for recordings and imported audio. It prepares a separate speaker model on first use, adds anonymous best-effort labels locally, and preserves the plain transcript with a visible History reason when it cannot run.
- Automatic can show finalized and tentative Apple Speech text while recording. Explicit Whisper and Parakeet models transcribe after recording stops.
- A failed transcription does not destroy the source recording; it remains recoverable.
- Persistent keyboard listening is kept across launches only when explicitly enabled. A one-shot app recording returns the audio session to idle.
Capture input limits
A request can include up to 100,000 characters of shared text, 10 shared items, and 250 MB of aggregate staged assets. Photo and screenshot pickers accept up to 10 items; journal capture accepts up to 10 pages. Vox.md rejects overflow rather than silently dropping items.
Save the Entire Workflow, Not Just a Folder
A Capture Preset stores what a capture means, whether text is processed, how metadata and audio are handled, and exactly where Markdown is written. Presets apply to typed text, links, media, scans, files, sketches, voice, Shortcuts, widgets, the Share Sheet, Watch, and Mac.
Create and manage presets
- Open Settings → Capture Presets to create, rename, enable, disable, select an icon for, or delete a custom preset.
- The searchable icon picker groups symbols under Writing, Voice, Tasks, Personal, and Work.
- Disabled presets are hidden from normal selectors. The built-in Default preset cannot be deleted.
- The built-in Default preset uses the waveform symbol, the prompt Capture an idea, task, link, file, scan, or recording.,
type: capturemetadata, Clean Prose processing, typed-text processing off, and audio saving off. - A new custom preset begins as Custom Preset, uses the slider icon and What do you want to capture? prompt, and starts with Custom Instruction selected but typed/mixed-text processing off.
Processing modes
| Mode | Result | Fallback behavior |
|---|---|---|
| Keep Original | Preserves captured text without AI rewriting. | The original text is delivered. |
| Clean Prose | Cleans casing and punctuation while preserving meaning and Markdown. | Original text when on-device enrichment is unavailable. |
| Todo Checklist | Produces Markdown - [ ] task items. | A deterministic checklist formatter. |
| Meeting Notes | Produces a ## Notes section and, when present, ## Action Items. | Deterministic meeting-note structure. |
| Custom Instruction | Follows your instruction with on-device Apple Intelligence when available. | Original text when the instruction cannot run locally. |
Voice transcripts use the selected preset mode. Apply to Capture Text is a separate opt-in, off by default, that allows processing of typed Markdown, OCR, and other text-bearing mixed captures. Leaving it off prevents unexpected rewriting of authored Markdown. The exact processed request is saved before delivery, so retries do not rerun processing against changed settings.
Metadata
- Enter static metadata as one
key: valuepair per line, such astags: [journal, idea]. - Note Frontmatter writes metadata at document scope.
- Inline Entry Fields writes
key:: valuefields beside each entry in a rolling note. - When available, on-device enrichment can add a title, tags, category, and cleaned text alongside static preset metadata.
Opt-in location
Current Location is off by default and belongs to each Capture Preset. When enabled, Vox.md requests one location at the capture’s origin: at Send for iOS/iPadOS, Share Sheet, deep-link/composer, Mac, and system actions that open the composer; during invocation for direct-enqueue text, link, and file intents; or when an immediate voice, keyboard-driven preset recording, widget/control recording, or Apple Watch recording routed through normal Capture delivery stops. Watch Recording Only is a raw audio Files export with no Markdown location surface and does not request location. Vox.md never continuously monitors location and never runs background location tracking.
| Setting | Behavior |
|---|---|
| Use Current Location | Requests one origin-time location for this preset and powers {location}. It does not automatically write metadata. |
| Exact (default) | Keeps the privacy-adjusted origin fix and can include a point-of-interest label when selected metadata needs one. |
| City | Rounds latitude and longitude to two decimal places and omits point-of-interest labels. All derived fields and links use those rounded coordinates. |
| Write Location Metadata | Separately opts into structured or advanced metadata in addition to any {location} entry-template link. |
| Structured Fields | Select and rename coordinates, latitude, longitude, place, city, region, country, Apple Maps, Google Maps, OpenStreetMap, geo: URI, accuracy, timestamp, source, and Capture ID. |
| Advanced YAML Template | Uses validated, bounded YAML for Note Frontmatter. It cannot replace unrelated frontmatter and is not available for inline entry fields. |
When Write Location Metadata is enabled, document scope appends each result to the configured frontmatter collection keyed by Capture ID. One note can retain multiple locations, while an idempotent retry cannot append the same location twice. Entry scope instead renders selected structured fields as key:: value beside that captured entry.
Place, city, region, and country use Apple’s system reverse geocoder only when enabled metadata fields need them. Token-only location skips reverse geocoding. The service is free and requires no API key, but may use a network connection; if lookup fails, Capture continues with coordinate-only metadata. Entry prefixes, suffixes, and vault Markdown templates can use {location} to insert a clickable Google Maps link from the preset’s available privacy-adjusted snapshot without enabling metadata output; the token is empty when Current Location is off or unavailable. Creating a provider link does not contact Apple, Google, or OpenStreetMap. Opening one discloses the same exact or rounded coordinates stored in the link to that provider.
New and previously disabled presets keep both controls off. Presets that already wrote location metadata keep both controls on after upgrading, preserving their existing output.
See Current Location, {location}, and Metadata for setup patterns, examples, capture-source timing, migration behavior, privacy, and troubleshooting.
Interactive surfaces can retry, cancel, send once without location, or choose Always Send Without Location for that preset. Reset that saved choice in the preset’s Location settings. An unattended Ask capture persists its unavailable origin-time outcome until you decide; retry and recovery never reacquire a later location.
Markdown destinations
Each preset owns one destination rooted in an Obsidian vault or writable Files folder.
Create a separate Markdown file for every capture with tokens such as {timestamp}, {date}, {time}, {year}, {YR}, {month}, {day}, {id8}, and {id}.
Append to daily, weekly, monthly, quarterly, or yearly notes. Paths also support {period} and {week}. The new-destination default is Journal/{period}.md with a daily period.
Choose a Markdown file already inside the selected vault or folder. Vox.md verifies that the target remains safely inside that root.
Placement, headings, and templates
- Bottom appends; Top prepends; Heading inserts beneath a chosen heading from level 1 through 6.
- If a heading is missing, choose Show Error or Create Heading.
- Use a live Markdown template file from the vault, a reusable Entry Template, or custom prefix and suffix text.
- Entry formatting supports
{date},{time},{hour},{minute},{second},{timestamp},{year},{YR},{month},{day},{week},{source},{id8},{id}, and{location}. - The default attachments subfolder is
attachments. - Retry Protection, off by default, writes a visible
vox-captureHTML comment so duplicate retries can be detected. - Vox.md rejects absolute paths, backslashes, traversal, unsafe names, and symlink escapes.
One-capture overrides
The Destination control can use Preset Default, place this capture at the Top or Bottom, apply a one-off Entry Template, or choose another note in the same vault. Use Preset destination defaults removes the override. These choices affect only the current draft and never mutate the preset.
Audio retention and compatibility export
- Audio save modes are Off, Alongside Note, or Attachments Folder.
- Markdown can embed retained audio at the Top or Bottom with Obsidian syntax such as
![[recording.m4a]]. - For legacy direct-voice configurations without a unified Markdown destination, Save Notes to Files supports TXT, MD, JSON, and YAML; New File or Append; filename tokens including model and language; Markdown templates; Obsidian Bases options; selectable YAML properties; and optional
.mdextension for YAML. - Compatibility export settings apply only to direct voice runs when the preset does not have a unified Capture destination.
Choose a System Backend or an Optional Local Model
All transcription runs on the Apple device. Automatic is the iOS default. Optional Whisper and Parakeet model files are downloaded only when you ask for them and can be selected, canceled during download, or deleted later.
Available transcription options
| Option | Approximate size | Best fit |
|---|---|---|
| Automatic | System managed | Prefers Apple Speech on a supported iOS 26 device and language; falls back only to a local model you explicitly downloaded. |
| Whisper Tiny | 75 MB | Smallest download and fastest Whisper option. |
| Whisper Base | 142 MB | Balanced small local model; legacy Mac default. |
| Whisper Small | 466 MB | More accuracy with greater storage and processing cost. |
| Whisper Medium | 1.5 GB | Larger multilingual Whisper model. |
| Whisper Large v3 Turbo | 1.6 GB | Largest available Whisper option. |
| Parakeet v2 | ~800 MB | Core ML/FluidAudio model optimized for English. |
| Parakeet v3 | ~800 MB | Core ML/FluidAudio model supporting 25 languages. |
How Automatic works
- On a supported iOS 26 device, Automatic checks Apple's system-managed Speech recognizer for the selected language and prepares its language asset when needed.
- System Language follows the device language. Choose a specific language when the recording uses another language.
- Automatic never downloads a Whisper or Parakeet fallback silently. It can use only a model you previously chose to download.
- Live Apple Speech distinguishes finalized text that is safe to insert from tentative text that can still change.
- Explicit Whisper and Parakeet selections use batch transcription after the segment ends.
Languages
- Whisper: Auto Detect, English, Spanish, French, German, Italian, Portuguese, Dutch, Polish, Russian, Chinese, Japanese, Korean, Arabic, Hindi, Turkish, Vietnamese, Thai, Ukrainian, Swedish, Danish, Norwegian, and Finnish.
- Automatic: System Language plus the explicit languages listed for Whisper when Apple supports that locale.
- Parakeet v2: English.
- Parakeet v3: Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish, Russian, and Ukrainian. Language is detected automatically in the Parakeet workflow.
Parakeet keyboard auto-stop
An optional approximately 1 MB Voice Pause Detection model can stop an explicit Parakeet v2 or v3 keyboard recording after silence. Enable Stop Parakeet after a pause and choose approximately 0.5, 0.75, 1, 1.5, or 2 seconds. The default is enabled with a 0.75-second pause after the companion model is available. Automatic and Whisper remain manual-stop workflows.
Local audio behavior
- Whisper input is normalized to 16 kHz mono, 16-bit audio.
- Persistent iOS listening uses a 10-minute circular buffer and includes a two-second pre-roll when a segment begins.
- Whisper uses
whisper.cpp; Parakeet uses FluidAudio and Core ML. Whisper uses Metal acceleration on Mac. - Model downloads require a network connection, but transcription runs locally after the selected backend is ready.
Dictate Into the Text Field You Are Already Editing
The Vox.md keyboard works in apps such as Messages, Notes, Mail, Safari, Slack, and any other app that accepts a standard iOS keyboard. A voice toolbar sits above the KeyboardKit layout and communicates with the main Vox.md app through the private shared App Group.
Set up the keyboard
- Prepare transcription in Vox.md.Keep Automatic selected on a supported device, or download and select Whisper or Parakeet in Settings → Models.
- Add the keyboard.Open iOS Settings → General → Keyboard → Keyboards → Add New Keyboard and choose Vox.md.
- Enable Allow Full Access.The current keyboard workflow requires it to use shared App Group state and coordinate recording with the main app.
- Switch keyboards.Open a text field, use the globe key to select Vox.md, then tap the microphone.
iOS labels the permission broadly. Vox.md uses it for its on-device app/keyboard workflow, shared state, and optional haptics. Vox.md does not upload keystrokes, dictated text, transcripts, or microphone audio to Vox.md servers. See the Privacy Policy.
Voice toolbar and insertion
- The toolbar shows the current backend, status, recording duration, live waveform, and microphone/stop action.
- Previous and next controls cycle through available downloaded backends.
- If listening is not active, the keyboard opens Vox.md once, starts listening, and can return you to the original text field.
- With Automatic, finalized transcript deltas are inserted while you speak; tentative words remain display-only until Apple finalizes them.
- With Whisper or Parakeet, the completed transcript is inserted after you stop or auto-stop the segment.
- If insertion is interrupted or suspended, the pending text is persisted and retried the next time the keyboard appears.
- The toolbar reports states such as Open Vox.md, Transcribing…, and Enable Full Access.
Keyboard customization
- Haptic Feedback is enabled by default and can be changed in Vox.md Settings.
- Long-press alternate-character callouts are available for English, German, Spanish, French, Italian, Portuguese, Dutch, Swedish, Danish, and Norwegian.
- Explicit Parakeet users can add pause-based auto-stop from Settings → Models.
- The 15-minute free transcription allowance applies to keyboard dictation as well as app recordings and imports.
Start a Capture From the Share Sheet, Home Screen, Lock Screen, or Shortcuts
Share Extension
The iOS Share Sheet action is named Capture to Vox.md. It accepts text, HTTP/HTTPS URLs, images, files, and movies, up to the shared item and asset limits. Choose a Capture Preset and destination, add an optional note, then Send. If that preset uses Current Location, Share requests its one origin-time location at this Send action whether or not metadata output is enabled. Content is staged in the private App Group, queued durably, and opened in Vox.md for delivery. If delivery needs the main app, use Open Vox.md.
Home Screen and Lock Screen widgets
Opens a durable Markdown draft. Medium and large widgets expose Note, Photo, Screenshot, Camera, File, Link, Scan, Sketch, and Voice actions.
Starts the configured recording flow and reflects ready, listening, or disabled state on supported Home Screen and Lock Screen families.
Turn off the Lock Screen Record Button in Settings to show an off state instead of immediately starting recording.
Control Center, Live Activities, and Dynamic Island
- On iOS 18+, Control Center offers Quick Capture and a configurable Vox.md Record control with a selected preset.
- The Live Activity Monitor setting controls recording status and Record/Stop actions on the Lock Screen and Dynamic Island.
- Live Activity states include Recording, timer, Processing, Ready, Record, and Stop.
- Live Activities are available from iOS 17; Control Center controls require iOS 18.
Shortcuts and App Intents
Capture Presets appear as selectable entities in Shortcuts and supported controls. With Use Current Location enabled, direct-enqueue text, link, and file intents request location during invocation; actions that open Quick Capture request it at Send; and recording actions request it when recording stops. Metadata output does not change this timing. If an unattended Ask request cannot get location, its unavailable origin-time result is retained for a later decision rather than reacquired. Shipped intents include:
- Record with Vox.md
- Open Quick Capture
- Record a Capture
- Capture a Screenshot
- Capture Text to Markdown
- Capture Link to Markdown
- Capture File to Markdown
Deep links
Vox.md registers the voxboard:// URL scheme. Use URL encoding for query values.
| URL | Behavior |
|---|---|
voxboard://capture | Open the durable Quick Capture composer. |
voxboard://capture?action=photos | Open the photo picker. Other actions: screenshots, camera, files, scan, sketch, link, and voice. |
voxboard://capture?text=... | Open a draft with bounded text. |
voxboard://capture?url=https%3A%2F%2F... | Open a draft with an HTTP/HTTPS link. |
voxboard://capture?preset=... | Select an enabled Capture Preset. It can be combined with a supported action, text, or URL. |
voxboard://capture-request?id=... | Claim a durable request created by a system extension or intent. |
voxboard://listen | Start the keyboard listening launch flow. |
voxboard://record | Legacy recording entry point redirected into listening. |
voxboard://widget-record | Legacy widget recording entry point. |
Unknown or duplicate parameters, malformed UUIDs, unsafe preset identifiers, non-HTTP URLs, and text beyond the shared limit are rejected.
Record Locally on Watch, Then Deliver Through iPhone
Recording workflow
- The Watch app shows Ready, Recording, Syncing, Queued, Transcribing, Saving, Sent, and Needs attention states.
- Use Record, Stop, Cancel, Sync, and Refresh. Cancel explicitly deletes the local recording instead of syncing it.
- Recordings are journaled locally and recovered after interruptions or crashes.
- A recording remains on Watch until iPhone confirms delivery or discard.
- For a preset with Use Current Location enabled and routed through normal Capture delivery, Watch requests one Watch-origin location when recording stops and transfers that privacy-adjusted outcome with the preset snapshot. iPhone never substitutes its own location. Recording Only skips location because it exports raw audio without a Markdown surface.
Capture Presets on Watch
Select an enabled iPhone Capture Preset from the Watch Capture Preset card. Vox.md transfers a safe snapshot with the recording. If iPhone is unavailable, the requested selection remains pending and the last confirmed preset stays active.
Watch Recordings queue on iPhone
The iPhone queue shows recording time, duration, preset, processing state, and delivery actions. Failed items can be retried, assigned a different preset, discarded, or captured without a transcript. Discard removes retained audio and queued delivery.
Recording Only output
- Set a preset's Output to Recording Only to copy M4A audio to a Files folder without transcription, AI processing, or transcription quota use.
- The default filename template is
recording-{timestamp}-{id8}. - Choose the recording folder once on iPhone before using the preset.
- Background delivery can be delayed by iOS. Force-quitting Vox.md prevents delivery until the app is opened again.
Complication and widget
The Record voice note complication supports circular, rectangular, inline, and corner families. It opens or toggles local Watch recording and shows timer or state-dependent labels.
Use the Same Capture System From macOS
The Mac app has Capture, History, and Settings destinations and shares the local model, preset, route, export, and retry architecture used by iOS.
Capture workspace
- Type and edit Markdown, paste, or drag and drop files, images, and audio.
- Use camera input from built-in, external, or Continuity Camera devices.
- Import a scan or PDF, create a sketch with a mouse, trackpad, or connected tablet, and add links, wikilinks, due dates, and text transformations.
- Record with Add to Draft or Send Immediately; optionally retain Audio in draft mode.
- Import audio or video for local transcription.
- Press Command-Return to Send Capture. A preset with Use Current Location enabled requests one Mac-origin location at Send or recording stop, whether or not metadata output is enabled.
- A destination setup banner and route inspector expose the selected preset's resolved note and placement.
Meeting capture with separate stems
Switch the input-mode picker from Microphone to Meeting to record what an application plays on your Mac and your own microphone as two cleanly separated audio stems. Vox.md uses ScreenCaptureKit in single-application mode, so you pick exactly one app and Vox.md itself is never captured.
- While recording, the status bar shows live system and microphone level meters, per-source status, and any capture warnings.
- Both stems are written in durable chunks with a recovery manifest, so an interruption — a stopped stream, an unplugged microphone, or a forced quit — finalizes safely and the meeting can still be transcribed. Interrupted sessions are recovered automatically the next time the recording queue resumes.
- After you stop, each stem is transcribed separately on device and the results are interleaved on a shared timeline: your microphone shows as You, and the application stem is labeled as a remote speaker. Optional speaker identification can further separate multiple remote voices.
- A playback mix of both stems is kept as the recording's audio, and the finished transcript follows your Capture Preset, Add to Draft or Send Immediately, and clipboard settings like any other recording.
Global keybinds
Settings → Global Keybinds can assign shortcuts to Transcribe to Clipboard, Selected Capture Preset, or any enabled preset. Shortcuts are off by default, require a non-modifier key plus Control, Option, or Command, may also include Shift, and reject conflicts. Press the active shortcut again to stop recording.
Transcribe to Clipboard creates no note, History item, or retained audio. It is intended for quick dictation into any Mac app.
Menu bar and app visibility
- Visibility choices are Dock + Menu Bar (default), Menu Bar Only, Dock Only, and Hidden.
- The menu bar reports recording, transcribing, and exporting state.
- Menu actions include Start Recording, Stop + Transcribe, Import Audio…, Copy Last Transcript, Reveal Last Export, Capture Preset selection, Show Capture, Show History, Reveal Data Folder, and Quit Vox.md.
- Press Control-B in the Mac app to show keyboard hints over clickable controls.
Mac history and models
Search, reload, clear, copy, or delete local history; open cleaned and raw transcript details; and reveal a delivered note in Finder. The Models screen downloads, selects, and deletes Whisper or Parakeet models and changes transcription language. Whisper uses Metal acceleration on supported Macs.
Recover Work, Control Local Data, and Unlock Unlimited Use
Unified History on iOS
- History combines local voice transcripts and Capture delivery records in one searchable list.
- Search raw text, cleaned text, titles, tags, and categories; pull to refresh.
- Copy cleaned or raw transcript text, edit transcript metadata and text, or export a Markdown copy through the share sheet.
- Delete one transcript or clear all local history. Clearing history does not delete Markdown notes or attachments already written to your destination.
- Retry queued captures and inspect coarse source, preset, destination, note path, attachment count, time, outcome, and failure category.
- Transcript editing includes Title, Tags, Category, Cleaned text, and Raw transcript.
Private Activity Stats
Open Settings → Activity → Stats for a lifetime overview of your usage: total recordings and captures, recorded duration, and attachment count, plus a last-seven-days chart and a breakdown of where captures came from (app, keyboard, Share Sheet, widgets, Shortcuts, Apple Watch, Mac, deep links, file import, and voice).
- Stats count delivered captures only; pull to refresh after new activity.
- The ledger stays on your device and stores no captured content, filenames, or destinations.
Settings map
| Section | Controls |
|---|---|
| Vox.md Unlimited | Free usage status, lifetime unlock, and purchase restore. |
| Customization | Models; Capture Presets; Capture Bar action visibility and order. |
| Keyboard | Haptic Feedback. |
| Lock Screen | Live Activity Monitor and Lock Screen Record Button. |
| About | Default transcription, Whisper, Parakeet, on-device processing, privacy, app version, and Apple Intelligence availability. |
| Feedback | Join the Isolated Tech Discord or compose a diagnostic feedback email. |
| Debug | View the local debug log. |
Release notes can appear after an update and describe current features such as Watch sync, Mac global keybinds, preset icons, Lock Screen controls, preset routing, audio rules, and post-processing.
Free use and lifetime unlock
- Free use includes 15 minutes of transcription and 10 successful Capture deliveries.
- A voice transcript already charged against transcription time does not also consume the separate Capture allowance when routed to Markdown.
- Failed writes and idempotent retries do not consume a successful Capture delivery.
- Unlimited is a one-time lifetime purchase with no subscription, renewal, or ads. The localized App Store price is authoritative; the app uses $9.99 as its fallback display price.
- Restore Purchase recovers an eligible purchase. Users from qualifying older paid builds are grandfathered into unlimited use.
- A content-free App Group ledger and Keychain high-water mark prevent successful Capture allowance resets or double charging across reinstall and retry.
What stays local
Drafts, text, links, templates, routes, attachments, audio, OCR, and transcripts are not sent to Vox.md servers.
Apple Speech, Whisper, Parakeet, Vision OCR, and supported Apple Intelligence processing run on the device.
Completed files go only to the folder you chose. A third-party file provider may sync them under its own terms.
- After successful delivery, recoverable Capture requests become content-free receipts and completed Watch queue items retain only coarse terminal delivery fields. Neither retains coordinates, labels, provider URLs, location templates, or preset payloads.
- Completed Capture history stores delivery metadata, not note text, URLs, coordinates, location labels or templates, bookmarks, absolute paths, or attachment filenames.
- Pending and failed items retain only what is needed for local recovery, which may include a preset snapshot and its already privacy-adjusted location or unavailable outcome.
- Production onboarding analytics are disabled by default. The app contains no third-party analytics SDK, ad network, or cross-app tracker.
- The composer fetches cached inspirational quotes from ZenQuotes without sending draft content or identifiers.
For complete data handling, retention, and third-party service details, read the Privacy Policy.
Common Setup and Delivery Problems
A capture cannot send
Open the Destination control and configure the selected Capture Preset. If the folder was moved or access expired, select the vault/folder again. Queued work remains available in History.
The keyboard says Enable Full Access
Open iOS Settings → General → Keyboard → Keyboards → Vox.md and enable Allow Full Access. Return to the app once so Vox.md can resume the shared listening workflow.
Automatic is unavailable
Apple Speech Automatic requires a supported iOS 26 device and language. Choose and download a Whisper or Parakeet model, then select it explicitly or return to Automatic so it can serve as the user-approved fallback.
Transcription failed
Confirm the selected model is fully downloaded and the language is appropriate. Vox.md preserves recoverable source audio when possible so you can choose another model and retry.
A heading route fails
Edit the preset's destination and confirm the heading text and level. Choose Create Heading if delivery should create a missing heading instead of stopping.
A Watch recording is queued
Open Vox.md on iPhone, then open Watch Recordings. Refresh or retry, choose a valid preset when requested, and keep the app installed and available for background handoff. Force-quit blocks background delivery until reopen.
{location} renders empty
Turn on Use Current Location for the delivering preset; for detected entry prefixes, suffixes, and reusable Entry Templates, the composer’s one-tap fix does this without enabling metadata. Live vault template files require manual preset setup. If permission is unavailable or the capture continues without location, the token intentionally renders empty. See the complete location guide.
Preset location is unavailable
Use Retry only while you are still resolving the original interactive Send. You can instead cancel, send once without location, or always send without location for that preset. Reset a saved choice in the preset’s Location settings. A queued unattended request keeps its original unavailable result and will not fetch a newer location.
Open Settings → View Debug Log, then use Send Feedback so app version, platform, OS, and device details can be included. You can also join the Isolated Tech Discord.