Features

Quiet by default.
Capable when you need it.

A tour of what Loupe does today. Everything here is in the current Nightly build, and nothing needs an account with us.

The design rule

Simple by default, powerful on demand.

Every screen should feel familiar the first time you see it. No power feature gets a permanent button on the main screens; they live in four places instead.

  1. Long-press menusOn messages, senders, chips and folders.
  2. The ⋯ menuView Source, every header, and search from this message.
  3. The search languageEverything the chips can do, and more, by typing.
  4. Settings › AdvancedServer details, sync and the rarely needed switches.

Reading

Every message, made for a phone.

Most HTML mail is designed for a desktop inbox. Readable mode rebuilds it for the screen in your hand, and the original is one tap away.

  • Readable, Original, Plain

    Three views per message; Loupe can remember your choice per sender. Plain comes in Sans and Mono.

  • Photos as a gallery

    Image-heavy mail turns into a carousel; tap for a full-screen gallery.

  • Dark mode that works

    Colours fixed for dark backgrounds, so dark text never disappears.

  • Footers as fine print

    Legal blocks and unsubscribe boilerplate shrink out of the way.

A Trailhead Outfitters newsletter, “Members: 20% off layers + the autumn layering guide”, open in Readable mode: a green verified-sender shield and a tracker count of 1 beside the sender, a purple Later tag, the Trailhead logo, a sunset hero image captioned “Into the cold.”, the heading “Three layers, every trail.”, body text and a green Shop the guide button. The reading toolbar sits at the bottom.A Trailhead Outfitters newsletter, “Members: 20% off layers + the autumn layering guide”, open in Readable mode: a green verified-sender shield and a tracker count of 1 beside the sender, a purple Later tag, the Trailhead logo, a sunset hero image captioned “Into the cold.”, the heading “Three layers, every trail.”, body text and a green Shop the guide button. The reading toolbar sits at the bottom.

Under the hood

How Readable mode works

Every message goes through the same six steps, in the background, with limits on size, depth and time so a hostile message can't stall the app.

  1. Parse like a browser

    Broken markup is recovered the way browsers recover it.

  2. Drop what you shouldn't see

    Scripts, styles, forms, hidden preheaders and spam padding go, and so do tracking pixels.

  3. Rebuild the layout

    Layout tables become one readable column; real data tables stay tables and scroll on their own.

  4. Keep what matters

    Colours, highlights and emphasis stay; big text becomes a heading, legal footers become fine print.

  5. Fix colours for dark mode

    Text that would lose contrast changes lightness but keeps its hue, so a yellow highlight stays yellow.

  6. Draw it natively

    No web view and no JavaScript: nothing in a message can run, and selection and accessibility simply work.

Under the hood

One query, four engines

Loupe reads your query once, then asks every place your mail lives in its own language.

On your phone

Full-text search over the encrypted local copy, with results as you type.

IMAP servers

The whole and/or/not tree maps onto the server's own search.

Gmail

Translated into Gmail's own search syntax and run once, across all mail.

JMAP servers

One nested filter, answered in a single round-trip.

When a server can't express part of a query, Loupe asks for a slightly wider set and filters it on the phone, so the results always match exactly what you typed.

Organising

Inbox zero without the busywork.

Swipes with Undo, a Filter button for the views you use every day, tags that match Thunderbird, and snooze that keeps working on your other clients.

  • Swipes with Undo

    Archive, flag, read or move with a swipe; nothing is final until you say so.

  • Filter button

    Unread, flagged, with attachments, unreplied or addressed to you.

  • Tags

    Compatible with Thunderbird, so they look the same on your desktop.

  • Snooze

    Stored on the server as a folder and a keyword, not in a vendor cloud.

Loupe's All Inboxes list in light mode. Rows from Jordan Lee (Re: Dinner Saturday?, Photos from Sunday’s hike), Tracker, Dana Okafor (RE: Atlas Q4 roadmap review), Felix Brandt and Ben Walsh, each with sender, time, subject and a two-line preview; blue unread dots, VIP stars, orange flags, thread counts and blue, orange and teal account stripes down the left edge. A bottom bar reads Updated Just Now, 17 Unread.Loupe's All Inboxes list in light mode. Rows from Jordan Lee (Re: Dinner Saturday?, Photos from Sunday’s hike), Tracker, Dana Okafor (RE: Atlas Q4 roadmap review), Felix Brandt and Ben Walsh, each with sender, time, subject and a two-line preview; blue unread dots, VIP stars, orange flags, thread counts and blue, orange and teal account stripes down the left edge. A bottom bar reads Updated Just Now, 17 Unread.

Subscriptions

Newsletters, sorted by the people who send them.

Loupe groups bulk mail by sender, shows how much of it you actually read, and unsubscribes on your phone, without a third-party service reading your inbox.

  • Newsletters and Discussions

    Bulk senders and the mailing lists you write to, in two tabs.

  • Unsubscribe centre

    One-click, by mail or on the sender's page: whatever the sender supports.

  • Lists as forums

    Mailing-list threads read like a forum, with muting per thread.

  • Patches as diffs

    Patches sent to a list are drawn as coloured diffs, for people who review code by mail.

The Subscriptions screen on its Newsletters tab (a Discussions tab beside it), with a filter field and Never Read 5, Rarely Read 5 and All 10 chips. Rows for MegaMart Deals, Tidepool, Stride Run Club, Nordlicht Books, Northline Rail, Tracker and Lumen Bank show the sender address, a rate such as “≈ 3 / month · read 0%” and an Unsubscribe button.The Subscriptions screen on its Newsletters tab (a Discussions tab beside it), with a filter field and Never Read 5, Rarely Read 5 and All 10 chips. Rows for MegaMart Deals, Tidepool, Stride Run Club, Nordlicht Books, Northline Rail, Tracker and Lumen Bank show the sender address, a rate such as “≈ 3 / month · read 0%” and an Unsubscribe button.

Security and privacy

No servers. No tracking. No exceptions.

Loupe talks to your mail provider and nobody else. There is no Loupe account, no analytics and no crash reporter. Your mail is encrypted on the phone.

  • Encrypted local store

    Messages and the search index sit in an encrypted database.

  • Remote images blocked

    Tracking pixels stay silent until you choose to load images.

  • Tracking links unwrapped

    Redirect wrappers are removed, so you see and visit the real address.

  • OpenPGP and S/MIME

    Keys on your device, Autocrypt for easy OpenPGP, Android KeyChain certificates for S/MIME.

Security details

  • Encrypted connections only: no silent fallback to plain text.
  • A self-signed certificate is trusted only after you've seen and confirmed its fingerprint.
  • Messages are taken apart in the background, with limits, so a malformed one can't freeze the app.
  • Passwords and tokens live in Android's keystore; the mail database is encrypted.
A sheet titled “This looks like phishing” over a message from “Northwind IT” marked Possible phishing. Under WHY it lists “Look-alike domain: northwlnd.example looks like your own domain, northwind.example, but it is a different domain” and “Uses the name of someone you know”, explaining that the sender is new and replies would go to yet another address, with advice to check another way first.A sheet titled “This looks like phishing” over a message from “Northwind IT” marked Possible phishing. Under WHY it lists “Look-alike domain: northwlnd.example looks like your own domain, northwind.example, but it is a different domain” and “Uses the name of someone you know”, explaining that the sender is new and replies would go to yet another address, with advice to check another way first.

Protocols

Built around JMAP, fluent in IMAP.

Loupe's own data model follows JMAP, the modern mail protocol. IMAP accounts are translated into it, and JMAP accounts speak it natively.

  • Efficient syncOnly what changed since last time crosses the network.
  • Search in one round-tripComplex queries answered by the server in a single request.
  • Sending without SMTPMail is submitted through the same connection.
  • Push and SieveChanges pushed from the server, and rules written over JMAP.

Writing

Send with confidence.

Identities and aliases, drafts that save themselves, a few seconds to take a message back, and an Outbox for mail that should go out later.

  • Identities and aliases

    Reply from the address the mail was sent to, including catch-all aliases.

  • Undo send

    A short window to change your mind.

  • Scheduled send

    Pick a time; the Outbox keeps it until then, even offline.

  • Notifications with actions

    Archive, Mark as Read or Reply from the notification.

The compose screen for a message titled “Lisbon in November” to Jordan Lee and Priya Nair, shown as chips. Cc and Bcc are empty, the From line reads Sam Rivera <sam.rivera@gmail.example>, and the body is a short note about flights, a flat in Alfama and a Sintra day trip. The top bar has Cancel, Attach, Send Later and a blue Send button.The compose screen for a message titled “Lisbon in November” to Jordan Lee and Priya Nair, shown as chips. Cc and Bcc are empty, the From line reads Sam Rivera <sam.rivera@gmail.example>, and the body is a short note about flights, a flat in Alfama and a Sintra day trip. The top bar has Cancel, Attach, Send Later and a blue Send button.