Search the piece by photo first, then ask for it cheaper. What changes on the second pass, which marketplaces get left out rather than blocked, and the pieces that have no honest dupe.
Search the piece by photo first, then ask for it cheaper in the same conversation. Koral re-runs the search with a lower price ceiling while the colour, cut and material you already asked for stay locked, so what comes back is the same garment for less rather than the same colour for less.
Most hunts for a cheaper version start in the wrong place, with a typed description. You saw a beige oversized blazer, so you type beige oversized blazer dupe and hope the internet agrees with you about what those three words mean. It does not. Beige is five colours. Oversized is four different cuts. And dupe is not a product word at all: it tells a search what you want to pay, not what you want to own.
beige oversized blazer dupe
Three words, and every one of them is a range rather than a value. A photo settles all three before the search runs.
The photo carries what the sentence loses. It carries the exact shade, the shoulder line, the length, the weight of the fabric and the way it hangs, and a cheaper version only reads as the expensive one when those survive. That is why the order matters. Identify the piece from the picture, then apply the price, rather than trying to describe your way down to something cheaper from a standing start.
There is a second reason typing it is the wrong move, and it is specific to how the search is built. If your query names a brand or a designer, that name is carried into the search verbatim, on purpose, because dropping it would break every search where the brand is the entire point. So typing the brand and the word dupe together still searches the brand, and you are handed the original at the original price. Give the search the photo instead and the brand never enters the query at all.
The word dupe tells a search what you want to pay. The photo tells it what you want to own.
Once the first set of results is on screen, the second pass is a message rather than a new search. This is the part with no equivalent in a search box: you are not re-describing the garment, you are changing one thing about a search that already understands it. Say under 40 and 40 becomes the ceiling. Say cheaper with no number and the search still has something to reason from, because it knows what the results in front of you are priced at and which shops they came from.
Each garment it detects is cropped out and searched on its own. When the request is shaped as a single piece rather than a whole look, the search narrows to that one item instead of spreading across an outfit, so the whole of it is spent on the thing you actually want cheaper.
Name a number and it becomes the maximum. Say cheaper without one and the search still has something to reason from, because it knows what the results in front of you are priced at. Cheaper is measured against what you are looking at rather than against a fixed idea of cheap.
Tightening the price or dropping a retailer on results that have already been fetched does not go back out to the product index at all. It filters the set in place, which is why a follow-up lands faster than the search that produced it.
Attributes locked earlier in the conversation, the colour, the brand, the fit, the retailer you excluded, stay in effect on every later turn unless your new message changes them. A vague follow-up like try another one means keep all of it and vary only what is newly implied.
Read those four together and you have the actual mechanic behind the word cheaper. It is a filter on a search that already did the hard part, which is why a cheaper pass rarely comes back with a different garment. Nothing about the garment changed.
Price is the blunt instrument. The sharper one is naming a retailer. If one shop keeps filling the results and you have already decided against it, say not ASOS and it drops out of the next pass. The match is deliberately loose and it runs in both directions: a listing is excluded when its retailer name contains what you typed, or when what you typed contains its retailer name. So ASOS also removes ASOS Design, and asos.com, without you having to guess which form a given listing stored.
It runs the other way too. Name the shops you do want and everything else falls away, which is the fastest route to a cheaper version when you already know the two or three places you buy from. Either direction costs one message and neither throws away what the photo established.
Cheaper works as an instruction because it maps onto a number, and a named retailer works because it maps onto a name. Less fast fashion maps onto neither, so it lands as a note about taste rather than as a filter. If there is a shop you never want to see, the useful thing to type is its name.
Every search for a cheaper version runs into the same question eventually: how cheap is too cheap to be worth showing you. Koral answers it in two different ways, and the difference between them is the most useful thing on this page, because most tools only have one setting.
Some domains are blocked outright. Blocked means the listing is dropped as it arrives, before anything is scored or ordered, so a blocked site cannot show up further down the page either. Most of them are marketplaces built around selling copies of designs they did not create, Temu, AliExpress, DHgate and Wish among them. The rest are not shops at all. Pinterest, Instagram and TikTok are where the inspiration lives, and the fashion magazines and aggregators are pages about clothes rather than pages selling one. Neither group can be checked out from.
The block follows a site rather than a single address, so a country version of a blocked shop is blocked with it, and a listing that names a free-text source rather than a real shop does not slip through on a technicality.
This list is the reason the rest of the page can be written honestly. A tool that promises the cheapest listing anywhere is a tool that has to send you to those sites. We would rather return fewer options and stand behind them.
It is worth being exact about what that list is not. It is not a ban on fast fashion and it is not a price floor. Shein is not on it. Neither is any high street chain, and nothing is blocked for being cheap, which would be a strange rule on a page about finding things cheaper. What is blocked is one specific business model, plus the sites that publish pictures of clothes instead of selling them.
This is the part almost nobody expects, and it is the clearest illustration of the difference. Amazon and Walmart are nowhere near the blocked list. They are held back, which is a separate mechanism, and they sit alongside Depop, Vinted, eBay, Etsy, Poshmark, Grailed and the other resale and marketplace names.
Held back means conditional. Secondary listings are kept out of a result set unless they make up a real share of it. Clear that mark and the whole group stays. The reasoning is that a resale-heavy result set is usually telling you something true about the garment: when a large slice of everything a search found is on Vinted and Depop, that is where the piece lives now, and removing it would leave you with almost nothing. Below that, primary retailers already cover the item well enough on their own.
The decision is applied to the whole result set rather than to each listing, so you either see all of the second-hand stock or none of it. If a piece looks as though it has no resale market at all, it may just have landed on the wrong side of the line.
There is a quiet honesty problem sitting underneath this whole category. A cheaper garment that looks like an expensive one is not that garment, and any tool with an incentive to look clever is tempted to blur the two.
Every candidate listing goes past a visual check before it reaches you, and that check has a verdict for exactly this case. A listing comes back as the same product, or as the wrong item, or as Similar, which means the checker can confidently tell it is a different item but a close and acceptable substitute you would still want to see. Similar is never promoted to an exact match. It is carried through as close, and it stays close all the way to what you are shown.
The same caution runs the other way when the search tries to name the exact product in your photo. It works from two independent signals, a read of the image on its own and the closest visual matches the search returned, and it only names a product when the two agree. A single distant match is explicitly not enough, and the stated reason is this page's own subject: a distant match can be a coincidental look-alike or a dupe. When the signals disagree, it returns nothing rather than a confident guess.
When you get a closest match rather than a name, that is the search declining to guess. Point it at the listing that looks right and ask for more like that one: searching from a product's own photo carries the print, the cut and the detail that no query string can express.
Four ways people go looking for a cheaper version, and what each one is actually good for.
| Route | What comes back | What it costs you | When it works |
|---|---|---|---|
| Typing the item plus the word dupe | Roundups, affiliate listicles and pinboards, rarely a stocked product | Three clicks before you reach anything buyable | The piece is famous enough that somebody already wrote the roundup |
| Scrolling a cheap marketplace app | Thousands of listings, most of them the same few factory photos | A judgement call on every listing, and no way to check the source | You already know the exact search term to type |
| Asking a general AI assistant | A good description of the piece and a plausible brand to try | A second search to find anything in stock in your country | You want to understand the garment, not buy it today |
| Photo search, then ask for it cheaper | Buyable listings for the same cut in a lower price band | One follow-up message | You have a photo and you want the look rather than the label |
Some of these are limits of the search and some are decisions we made on purpose. Both are worth saying plainly.
Blocked domains are dropped as candidates arrive, before anything is scored or ordered, so a blocked site cannot appear low down the page either. The block follows the site rather than one address, and a free-text shop name does not get a listing through.
Resale sites, plus Amazon and Walmart, are removed unless they make up a real share of the candidates that passed. Clear that mark and the whole group stays, because a result set that resale-heavy is telling you where the piece lives now.
A listing whose title carries Chinese, Japanese or Korean characters is dropped as a cross-border relist, and so is a link that lands on a shop front page rather than on the product itself. Neither is something you can check out from.
Results are filtered to one of five regions, the UK, the US, the EU, Australia and Canada, by currency and by domain. A cheaper listing you cannot order from is not cheaper, it is unavailable.
Drop in the photo of the piece you cannot stop thinking about, let Koral identify it against live retailer stock, then say cheaper. The next pass keeps the colour, the cut and the material you already locked in, drops the price ceiling, and leaves out the marketplaces that would only sell you a copy.
Start a searchcheaper,andnotASOS
One follow-up message, four things changed, and nothing you already established has to be typed again.