Free generator, copy and paste
Strikethrough price generator sale tags you can paste
Type the old price, a space, then the new price: $40 $25. You get the old price crossed out and the new one left clear, with the percentage saved worked out for you. One line per product.
- old price struck
- was → now, with the saving
- with the saving
- with an arrow
- new price in bold
- was / now
- old price slashed
- Markdown · Discord · Reddit
- WhatsApp · Slack
- HTML for shops and email
Updated · strikethroughtext.online
How to make a crossed-out price
- Type the original price, a space, and the sale price into the box:
$40 $25. - Pick a style. The first one strikes the old price and leaves the new one as normal text.
- Click a result to copy it, then paste it into your post, caption, chat or listing.
Add more lines for more products, one per line, and every line becomes its own sale tag. If a line has only one price, the whole price is crossed out, which is handy for “sold out” or “no longer available”.
Which style to pick
| Style | Looks like | Best for |
|---|---|---|
| Old price struck | $̶4̶0̶ $25 | Captions and bios, where space is short |
| Was → now, with the saving | Was $̶4̶0̶ → Now $25 (Save 38%) | Shop listings and stories, where the whole deal should read in one line |
| With the saving | $̶4̶0̶ $25 (save 38%) | Sales posts. The percentage does the selling |
| With an arrow | $̶4̶0̶ → $25 | Price-drop announcements and stories |
| New price in bold | $̶4̶0̶ 𝟮𝟱 | Making the new price stand out in plain-text apps |
| Was / now | Was $̶4̶0̶, now $25 | Accessibility, and posts that will be read aloud |
| Native markup | ~~$40~~ $25 |
Discord, Reddit, WhatsApp and Slack, which draw a cleaner line themselves |
| HTML | <s>$40</s> $25 |
Emails, blog posts and product descriptions you edit as HTML |
The bold style uses Unicode bold digits. They look great on Instagram and X, but search inside those apps won’t match them, so keep the real price in plain digits somewhere in the post if people search for it.
Where crossed-out prices work
Copy-paste prices are built from Unicode characters, so they go anywhere you can type:
- Instagram, TikTok, X, Facebook and Threads posts, captions, comments and bios.
- WhatsApp Business catalog descriptions and status updates. In chats, WhatsApp’s own
~$40~also works. - Etsy, eBay, Depop and Vinted listing descriptions. Check each marketplace’s title rules before using special characters in a title; many strip or reject them.
- Telegram and Discord channel posts for deal and drop announcements.
Where the platform has a real sale-price field, use it instead. Shopify’s compare-at price, WooCommerce’s regular and sale price and Amazon’s list price display the old price struck through automatically and keep it in sync with your actual price.
Calculate the discount
The saving is the price difference as a share of the old price:
Percentage off = (old price − new price) ÷ old price × 100
| Old | New | Saving | Percent off |
|---|---|---|---|
| $40 | $25 | $15 | 38% |
| $100 | $79 | $21 | 21% |
| €59.99 | €39.99 | €20 | 33% |
| £120 | £90 | £30 | 25% |
| ₹999 | ₹499 | ₹500 | 50% |
Round to a whole number in posts. “Save 37.5%” reads like a spreadsheet; “save 38%” reads like a sale. If the new price is higher than the old one, the generator leaves the saving off rather than showing a negative discount.
Show a real old price
A struck-out price is a claim that the product used to cost more, and consumer law treats it that way:
- United States: the FTC’s Guides Against Deceptive Pricing (16 CFR Part 233) say a former price should be one the item was openly offered at, in good faith, for a reasonably substantial period.
- European Union: since the Omnibus Directive (EU 2019/2161), any announced price reduction must show the lowest price applied in the 30 days before it.
- United Kingdom: the CMA’s pricing guidance takes the same line: the reference price must be genuine and recent.
In short, strike through a price you actually charged, recently, and the tag is both honest and effective.
For your own website
On a page you control, use real HTML rather than Unicode, so search engines and screen readers see an actual price:
<p class="price"><s>$40</s> <strong>$25</strong></p>
The <s> element is meant for content that is no longer accurate, which fits an old price. Pair it with visually hidden text like “Original price” and “Sale price” if the meaning isn’t clear from context. The HTML and CSS strikethrough guide covers <s>, <del> and text-decoration: line-through in detail.
Questions people ask
How do I cross out a price on Instagram?
Instagram has no strikethrough option, so type the old and new price into the box on this page, for example $40 $25, and copy the first result. The old price comes out crossed out with Unicode characters, which Instagram keeps in captions, bios, comments and stories.
How do I work out the percentage off?
Subtract the new price from the old one, divide by the old price and multiply by 100. From $40 to $25: 15 ÷ 40 × 100 = 37.5, so about 38% off. The “with the saving” result on this page does the sum for you.
Which currencies does it work with?
Any. The generator strikes whatever comes before the last word on each line, so $, €, £, ₹, ¥, kr and written amounts all work. For the saving it reads both 1,299.50 and 1.299,50 style numbers.
Should I use this on my Shopify or WooCommerce store?
Not for the product price. Shopify’s compare-at price and WooCommerce’s regular and sale price fields already show the old price struck through, and they stay correct when the price changes. Use the copy-paste version for social posts, chat catalogs and anywhere else without a sale-price field.
Is it legal to show a crossed-out price?
Yes, if the old price is real. In the US the FTC’s pricing guides say a former price should be one you genuinely charged for a reasonable time. In the EU and UK, a price-reduction announcement must reference the lowest price of the previous 30 days.
Do screen readers read the crossed-out price?
They read the numbers, and some also read the line marks aloud, which can sound like noise. The “was / now” result spells out the change in words, so it is the most accessible choice for important posts.