trnscrb - Markdown Transcription from the Menu Bar
Everyone who works with agents probably also works with Markdown. Markdown is quick, easy to read, and structured enough to be a perfect transmitter between LLMs and humans. Converting to Markdown has become a utility feature offered in a lot of different forms. However, I still hadn’t found the perfect Markdown converter that suited all of my workflows, so I decided to write a menu bar app for that. It’s pure Swift, super fast, and it converts audio, images, and PDF files to Markdown on your clipboard or as a Markdown file. The problem it solves: outputting Markdown without you leaving whatever you were doing before.
Table of Contents 1
What trnscrb does
trnscrb sits in the macOS menu bar. You drop files onto it - PDFs, images, audio - and it outputs Markdown to the folder you configure.
It runs in two modes:
Local mode uses Apple’s on-device processing. No network calls, no API keys, no data leaving the machine. This is the default for images and audio (that’s why this app is macOS 26+ only).2macOS 26 introduced a unified on-device transcription and OCR framework in Swift. Earlier versions lack the APIs trnscrb relies on for local processing, which is why there’s no backwards compatibility target.
Cloud mode sends files to Mistral’s API using your own key. This handles cases where you want Mistral’s OCR quality. Bring your own API key.
The output is always Markdown. Optionally, you can opt in to S3 bucket storage as well, that way the things you upload are also stored in any S3-compatible bucket storage.
Try it
Install via Homebrew:
brew tap jwa91/tap
brew install --cask trnscrb Or check the dedicated support page on this site with privacy details and FAQ. I needed to add that to get trnscrb in the App Store (Apple is currently reviewing it). The source is on GitHub.
- Jan Willem
Related articles
- 8m
Dotfiles, Revisited
Three months and twelve tagged versions later: what changed in my dotfiles since the original MacBook setup guide, and why. Read → - 5m
Editing a Website from Telegram
What started as a quick Telegram + Tailscale experiment turned into a persistent tmux-based setup for running Claude Code sessions from my phone. Read →