Data Transforms
Clean and reshape each field's value before it is exported. 60 transforms and 16 ready-made presets, each with a worked example.
How transforms work
Add transforms to a field in the field editor. They run in order, and each one receives the output of the one before.
- A transform never fails the run: when it cannot apply (for example, no number in the text), it keeps the value as it was.
- Transforms apply to the data you export (CSV, JSON, Excel, Google Sheets). The page itself is not changed.
- A preset is a saved chain of transforms, such as "Clean price". Pick one to add all its steps at once.
- The Settings column shows the options each transform takes. Transforms without settings work on the value as it is.
Lists of values
Split and Join
Text transforms
Change case, add or remove text, and clean up characters.
Trim
Remove leading and trailing whitespace
- Settings
- none
- Input
hello world- Output
hello world
Lowercase
Convert to lowercase
- Settings
- none
- Input
Hello WORLD- Output
hello world
Uppercase
Convert to uppercase
- Settings
- none
- Input
Hello World- Output
HELLO WORLD
Capitalize
Capitalize first letter of each word
- Settings
- none
- Input
the quick brown fox- Output
The Quick Brown Fox
Replace
Find and replace text
- Settings
{"find":"USD","replace":"$"}- Input
Price: USD 10- Output
Price: $ 10
Append
Add text to the end
- Settings
{"text":" USD"}- Input
49.99- Output
49.99 USD
Prepend
Add text to the beginning
- Settings
{"text":"https://example.com"}- Input
/products/42- Output
https://example.com/products/42
Strip Prefix
Remove a text from the start
- Settings
{"text":"phone:tel:"}- Input
phone:tel:01881445503- Output
01881445503
Strip Suffix
Remove a text from the end
- Settings
{"text":" reviews"}- Input
120 reviews- Output
120
Text Between
Keep the text between two markers
- Settings
{"startText":"[","endText":"]"}- Input
Price: [12.50] USD- Output
12.50
Title Case
Lowercase, then capitalize each word
- Settings
- none
- Input
SHAPLA jheel restaurant- Output
Shapla Jheel Restaurant
Slugify
Make a URL-safe slug
- Settings
- none
- Input
Café Déjà Vu & Co.- Output
cafe-deja-vu-co
Remove Accents
Turn é into e, ü into u
- Settings
- none
- Input
Crème brûlée- Output
Creme brulee
Normalize Digits
Convert Bengali, Arabic and other digits to 0-9
- Settings
- none
- Input
০১২৩৪৫- Output
012345
Collapse Newlines
Join lines into one
- Settings
{"delimiter":" "}- Input
Line one Line two Line three- Output
Line one Line two Line three
Pad Start
Pad to a fixed length
- Settings
{"length":3,"padChar":"0"}- Input
7- Output
007
Format transforms
Strip markup, shorten text, and turn text into numbers and dates.
Strip HTML
Remove all HTML tags
- Settings
- none
- Input
<p>Hello <b>world</b></p>- Output
Hello world
Decode HTML Entities
Convert & to &, " to ", etc.
- Settings
- none
- Input
Tom & Jerry "Show"- Output
Tom & Jerry "Show"
Clean Whitespace
Normalize multiple spaces to single space
- Settings
- none
- Input
too many spaces here- Output
too many spaces here
Remove Special Chars
Keep only letters, numbers, and spaces
- Settings
- none
- Input
Hello, World! #1 (new)- Output
Hello World 1 new
Truncate
Limit to first N characters
- Settings
{"length":20,"suffix":"..."}- Input
ScraperQ extracts structured data from pages- Output
ScraperQ extracts st...
Extract Words
Keep only first N words
- Settings
{"count":3}- Input
one two three four five- Output
one two three
To Number
Parse 1,234.5 or 1.234,5 into a plain number
- Settings
- none
- Input
1,234.50- Output
1234.5
Parse Count
Turn 1.2K or 3M into a full number
- Settings
- none
- Input
1.2K- Output
1200
Round
Round to a number of decimals
- Settings
{"decimals":2}- Input
3.14159- Output
3.14
Math
Add, subtract, multiply or divide
- Settings
{"operation":"divide","operand":4}- Input
100- Output
25
Unix Time to Date
Convert a timestamp to a date
- Settings
{"format":"YYYY-MM-DD"}- Input
1767268800- Output
2026-01-01
Format Date
Rewrite a date, e.g. YYYY-MM-DD
- Settings
{"format":"DD/MM/YYYY"}- Input
2026-03-14T12:00:00Z- Output
14/03/2026
Relative Date
Turn "2 weeks ago" into a date
- Settings
{"referenceDate":"2026-03-14","format":"YYYY-MM-DD"}- Input
2 weeks ago- Output
2026-02-28
Normalize Phone
Keep digits and a leading +
- Settings
- none
- Input
+880 1881-445503- Output
+8801881445503
Extract transforms
Pull one value out of a longer text: an email, a price, a date.
Extract Email
Extract email address from text
- Settings
- none
- Input
Contact: [email protected] today- Output
[email protected]
Extract Phone
Extract phone number from text
- Settings
- none
- Input
Call +1 555-123-4567 now- Output
+1 555-123-4567
Extract Numbers
Extract numeric values
- Settings
- none
- Input
Qty 12 of 30- Output
12
Extract Date
Extract date in YYYY-MM-DD format
- Settings
- none
- Input
Posted on 2026-03-14 by admin- Output
2026-03-14
Extract First Line
Get only the first line of text
- Settings
- none
- Input
First line Second line- Output
First line
Split & Pick
Split by a delimiter and keep one part
- Settings
{"delimiter":",","index":1}- Input
red, green, blue- Output
green
Regex All Matches
Keep every match of a pattern
- Settings
{"pattern":"\\d+","group":0,"delimiter":" | "}- Input
a1 b22 c333- Output
1 | 22 | 333
JSON Pick
Read a path from a JSON value
- Settings
{"path":"price.amount"}- Input
{"price":{"amount":12.5,"currency":"USD"}}- Output
12.5
Extract Price
Keep the amount as a plain number
- Settings
- none
- Input
Now $1,299.00 (was $1,499.00)- Output
1299
Extract Currency
Keep the currency symbol or code
- Settings
- none
- Input
€49,90- Output
€
URL transforms
Read parts of a link, make links absolute, encode and decode.
URL Encode
Encode special characters for URLs
- Settings
- none
- Input
shoes & boots- Output
shoes%20%26%20boots
URL Decode
Decode URL-encoded characters
- Settings
- none
- Input
shoes%20%26%20boots- Output
shoes & boots
Make Absolute URL
Convert relative URL to absolute
- Settings
{"baseUrl":"https://example.com"}- Input
/products/42- Output
https://example.com/products/42
Query Parameter
Read one parameter from a URL
- Settings
{"name":"q"}- Input
https://example.com/search?q=shoes&page=2- Output
shoes
URL Host
Keep the host name of a URL
- Settings
{"stripWww":true}- Input
https://www.example.com/a/b?x=1- Output
example.com
URL Path
Keep the path of a URL
- Settings
- none
- Input
https://www.example.com/a/b?x=1- Output
/a/b
Strip Query
Remove the query string from a URL
- Settings
- none
- Input
https://example.com/p/42?utm_source=x&ref=y- Output
https://example.com/p/42
Extract URL
Keep the first link found in the text
- Settings
- none
- Input
See https://example.com/a for details- Output
https://example.com/a
Base64 Decode
Decode base64 (or URL-safe base64) text
- Settings
- none
- Input
SGVsbG8gV29ybGQ=- Output
Hello World
Advanced transforms
Regex, defaults, templates, and transforms for lists of values.
Regex
Extract or replace using regex pattern
- Settings
{"pattern":"\\d+","group":0}- Input
Order #12345 shipped- Output
12345
Split
Split string by delimiter into array
- Settings
{"delimiter":", "}- Input
red, green, blue- Output
red, green, blue
Join
Join array elements with delimiter
- Settings
{"delimiter":" / "}- Input
red, green, blue- Output
red, green, blue
Substring
Extract characters by position
- Settings
{"start":0,"end":7}- Input
ScraperQ- Output
Scraper
Default Value
Use default if value is empty
- Settings
{"defaultValue":"N/A"}- Input
(empty)- Output
N/A
To Boolean
Turn yes/no words into true/false
- Settings
- none
- Input
Yes- Output
true
Template
Build text around the value, e.g. "Tel: {value}"
- Settings
{"format":"Price: {value} USD"}- Input
49.99- Output
Price: 49.99 USD
Unique Items
Remove repeated items from a list
- Settings
- none
- Input
["red","blue","red","green","blue"]- Output
["red","blue","green"]
Pick Item
Keep one item of a list
- Settings
{"index":1}- Input
["first","second","third"]- Output
second
Filter Items
Keep the list items that match a pattern
- Settings
{"pattern":"^a"}- Input
["apple","banana","avocado"]- Output
["apple","avocado"]
Slice Items
Keep a range of list items
- Settings
{"start":1,"end":3}- Input
["1","2","3","4","5"]- Output
["2","3"]
Presets
Ready-made chains for common jobs. Each preset lists the transforms it applies, in order.
E-commerce
Clean Price
Extract price value, remove extra text and symbols except currency
- Steps
- trim → regex
- Input
Now only $24.99 today- Output
$24.99
Parse Rating
Extract numeric rating (e.g., "4.5 out of 5" → "4.5")
- Steps
- trim → regex
- Input
4.5 out of 5 stars- Output
4.5
Extract Stock Status
Extract stock availability status
- Steps
- trim → regex → lowercase
- Input
Availability: in stock- Output
in stock
Parse Dimensions
Extract dimensions (e.g., "10 x 5 x 2 cm" → "10 x 5 x 2 cm")
- Steps
- trim → regex
- Input
Size: 10 x 5 x 2 cm- Output
10 x 5 x 2 cm
Contact
Extract Email
Extract email address from text
- Steps
- regex
- Input
Write to [email protected] for help- Output
[email protected]
Extract Phone
Extract phone number (international format)
- Steps
- regex
- Input
Call +1 555-123-4567 now- Output
+1 555-123-4567
Date and time
Extract Date (ISO)
Extract date in YYYY-MM-DD format
- Steps
- regex
- Input
Posted on 2026-03-14- Output
2026-03-14
Extract Date (US)
Extract date in MM/DD/YYYY format
- Steps
- regex
- Input
Posted on 03/14/2026- Output
03/14/2026
Extract Time
Extract time in HH:MM format
- Steps
- regex
- Input
Opens at 9:30 AM daily- Output
9:30 AM
Text
Clean Whitespace
Remove excess spaces and normalize
- Steps
- trim → clean-whitespace
- Input
too many spaces- Output
too many spaces
Strip HTML
Remove all HTML tags
- Steps
- strip-html → trim
- Input
<div> Hello <b>world</b> </div>- Output
Hello world
Slug Format
Convert to URL-friendly slug
- Steps
- lowercase → trim → regex → regex
- Input
Hello World Again- Output
hello-world-again
Extract Numbers
Extract only numeric values
- Steps
- regex
- Input
Qty 12- Output
12
Remove Special Chars
Keep only letters, numbers, spaces
- Steps
- regex → trim
- Input
Hello, World! #1- Output
Hello World 1
URL
Make Absolute URL
Convert relative URL to absolute (requires base URL)
- Steps
- trim → absolute-url
- Input
/products/42- Output
https://example.com/products/42