Feature

Any text is a shopping list now

A WhatsApp message, the ingredients under a recipe, a note you wrote in 2023 — share it or paste it into Listo and it comes out the other side as a real list, with quantities, categories and the names you already use.

The message arrives while I'm already pushing the cart: "milk, the good bread, 2x eggs, something for the cat, and paper towels if they're on offer". A perfectly good shopping list, in the wrong app. For a while my routine was to hold the phone in one hand, WhatsApp on the left half of my brain, Listo on the right, and retype seven items with my thumb. I build the list app. Retyping felt like a confession.

So Listo now does the obvious thing: any text can become a list. Share a message to Listo from another app, or copy anything and paste it into Import from text in the menu. The app splits it into items, reads the quantities, and shows you a checklist to approve before it touches your lists. (It won't strip "if they're on offer" from the paper towels — that's what the review screen is for.)

A shopping list is just text somebody wrote in a hurry. The app should be able to read it.

What it can read

I wanted this to work on the messy stuff, not just tidy notes, so the parser was trained on the kind of text people actually send each other:

Duplicates merge and their quantities add up, which matters more than it sounds: "eggs" at the top of the message and "2x eggs" at the bottom becomes one line with three eggs, not two lines and an argument in aisle four.

The part I'm proud of: it knows how you write

Detecting items is the easy half. The half that took the longest is what happens next. Before the checklist appears, every item is matched against everything you have ever bought in Listo. If you've always written "Greek yogurt" and the message says "greek yoghurt", you get your spelling. If you always buy milk in "cartons", a bare "milk" arrives with cartons as its label. A typo in the message gets forgiven the same way. And a count hiding inside the name — in Romanian I can paste "doua cutii lapte", two boxes of milk — comes out as Lapte, quantity 2.

This is the same history brain that powers voice input, pointed at typed text instead of speech. One deliberate difference: when you typed a quantity yourself, it wins. History only fills the gaps, it never overrules a keystroke.

Nothing leaves your phone. The parsing and the history matching run entirely on your device — there is no server reading your messages, and the whole thing works with airplane mode on. The text you share with Listo is used to build the list and then forgotten.

Approve first, then it's a list

You always land on a review screen before anything is saved. Untick the item that was actually a joke, fix a name, and choose where it goes: a new list (Listo suggests a title when the text had one) or an existing list, where the items slot into their category groups next to what's already there. Then create or add. One tap, and the message you'd have retyped is a list you can share back with whoever sent it.

Honest print

On Android, Listo shows up in the share sheet of any app that can share text, so WhatsApp, Keep, Notes, your browser and your email all work directly. On iPhone, the share sheet entry is still on my list — for now, copy the text and use Import from text from the menu, which is two taps more and otherwise identical. Photos of handwritten lists are not text; that's what receipt scanning is for, and I'd like to point it at whiteboards one day. And the history matching is only as good as your history: on a fresh install it has nothing to match against, so the first few imports are plain, and they get smarter as you shop.

Try it

  1. Find any list-shaped text: a message from home, the ingredients under tonight's recipe, an old note.
  2. On Android, share it to Listo. On iPhone, copy it and open Import from text from the menu, then paste.
  3. Review the detected items, untick what you don't need, and add them to a new or existing list.

If you paste something it can't make sense of, send me the text (with the embarrassing parts removed) at support@rolisto.com. I read every message, and half of Listo's best behavior started as one of them.

— Andrei

Try Listo

Free shopping lists with sharing, sync, and offline support. Works before anyone makes an account.

Reader treat: redeem code LISTO2026 in the app under Settings → Redeem promo code and get 90 days of Listo Premium, free. Valid through December 2026.
Google Play App Store