Extract prices from text

Extract prices finds every currency-formatted amount in pasted text and lists each on its own line. Two shapes are recognised: symbol-prefixed amounts ($42.50, €19,99) and code-suffixed amounts (42.50 USD, 9999 JPY). Supported symbols are $ € £ ¥ ₹; supported codes are USD EUR GBP JPY INR. The transform runs in your browser.

Input
Line 1:1 LF cloud_done Saved locally
Result Extract Prices
0 lines 0 chars

How price matching works here

The first half of the pattern looks for a currency symbol from $ € £ ¥ ₹, then an optional space, then a number. The number can include a dot or comma decimal (42.50 or 19,99) so European and English-style decimals both work. The symbol comes through as part of the match: $42.50 stays as $42.50, not 42.50.

The second half is the code-suffixed shape: a number, optional space, then a three-letter code from USD EUR GBP JPY INR. So 42.50 USD and 9999 JPY both match. The boundary \b on the code keeps it from running into adjacent letters.

Thousands separators are not parsed ($1,234.56 matches as $1,234 on engines without comma support, or as $1 followed by a stray 234.56 elsewhere). For larger amounts, run find and replace on the source first to strip thousands separators. For currencies outside the symbol/code list, use extract regex matches with your own pattern.

How to use extract prices from text

  1. 1Paste the invoice, receipt or text into the input panel.
  2. 2The output panel shows every price, one per line.
  3. 3Click Copy to copy the list.
  4. 4Click Download to save it as a plain-text file.
  5. 5For currency symbols outside the supported list, use extract regex matches with your own pattern.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What counts as a price here

Symbol-prefixed amounts

Symbol from $ € £ ¥ ₹, optional space, then digits with an optional dot or comma decimal. $42.50, € 19,99 and £5 all match.

Code-suffixed amounts

Digits with optional decimal, then optional space, then a three-letter code from USD EUR GBP JPY INR. 42.50 USD, 9999JPY and 10 GBP all match.

Decimal in dot or comma form

42.50 and 19,99 are both accepted. The matcher does not enforce a locale; whichever style appears in the source comes through unchanged.

Thousands separators not parsed

$1,234.56 can split or truncate because the matcher does not recognise the comma as a grouping separator. Strip thousands separators with find and replace on the source for clean matches.

Currency symbol or code stays in the match

$42.50 appears as $42.50; 42.50 USD appears as 42.50 USD. To get just the numeric value, run regex replace on the output with pattern [^\d.,-] and empty replacement.

Worked example

Both prefixed and suffixed shapes appear together. The decimal style (dot vs comma) is preserved as written.

Input
Total $42.50 plus $9.99 shipping.
EU price €19,99 or 19.99 EUR.
Japan list 1500 JPY.
Output
$42.50
$9.99
€19,99
19.99 EUR
1500 JPY

Settings reference

Behaviour Effect on output
Symbols supported $ € £ ¥ ₹.
Codes supported USD EUR GBP JPY INR.
Decimal Optional. Dot or comma. 42.50 and 19,99 both work.
Thousands separators Not parsed. $1,234.56 may truncate or split.
Symbol or code position Symbol must prefix the digits; code must suffix them.
Other currencies Not matched. Use extract regex matches for symbols or codes outside the supported list.

FAQ

Why is my price $1,234.56 coming out wrong?
The pattern does not understand thousands separators. The comma in $1,234.56 ends the first match at $1, leaving 234.56 as a separate token (which may or may not be matched depending on context). Run find and replace first to strip the commas (, -> empty), then extract.
How do I extract prices in AUD, CAD or other unsupported codes?
Use extract regex matches with a custom pattern like \b\d+(?:\.\d+)?\s?(?:AUD|CAD|CHF|NZD)\b. Add as many codes as you need to the alternation list.
Are the currency symbols and codes kept in the output?
Yes. Each match comes through with its symbol or code attached. Strip them with regex replace using pattern [^\d.,-] and empty replacement if you want just the numbers.
Are duplicates removed?
No. Every match is kept in source order. Pipe the result through remove duplicate lines for a unique list.
Is anything sent to a server?
No. The match runs entirely in your browser.