⚙️ Settings
Prefix/Suffix Stamper — Add Text to the Start or End of Every Line
The Prefix/Suffix Stamper adds the same prefix and/or suffix to every line of a list in one click. It's built for developers and analysts who need to add text to the beginning of each line — wrapping values in quotes for code, adding a common URL prefix to a list of paths, or building SQL fragments — without editing each line individually. Paste your list, set a prefix and suffix, and get the stamped result instantly.
⚡ Key Takeaways
- Adds the same prefix and/or suffix to every line of a list in one click.
- Ideal for building URL lists, quoted code arrays, or SQL fragments quickly.
- Prefix/suffix text is applied exactly as typed, including any accidental spaces.
- Combine both fields together to wrap every line, like adding quotes on each side.
What, Who, When & Why
| What it's for | Adds the same prefix and/or suffix text to every line of a list. |
|---|---|
| Who it's for | Developers and analysts building URL lists, code arrays, or SQL fragments from a plain list of values. |
| When to use it | When every line in a list needs the same text added to its start or end — like a domain prefix, or quotes and a comma for code. |
| Why it's needed | Manually adding the same text to dozens or hundreds of lines is repetitive and error-prone; a stamping tool does it in one pass. |
| Best way to use it | Double-check your prefix/suffix fields for accidental spaces before running, since whatever you type is applied exactly as-is. |
How to Use the Prefix/Suffix Stamper
- Paste your list into the Input box, one value per line.
- Enter the text you want added to the start of each line (prefix), the end of each line (suffix), or both.
- The Output box updates automatically with every line stamped.
- Click Copy to grab the result.
Example
Given a list of page slugs:
about contact pricing
With a prefix of https://example.com/, the output becomes:
https://example.com/about https://example.com/contact https://example.com/pricing
Adding a suffix of , alongside a quote prefix and suffix can just as easily build a code-ready list like 'about', for each line — ready to paste directly into an array literal in JavaScript, Python, or most other programming languages.
Key Features
- Add a custom prefix to every line.
- Add a custom suffix to every line.
- Use both together for wrapping values (like quotes or brackets) around each line.
- Instant, live preview as you adjust the prefix or suffix.
Practical Use Cases
- Building URL lists: add a common domain prefix to a list of page paths for a sitemap or link audit.
- Preparing code arrays: wrap each line in quotes and add a trailing comma to build array syntax quickly.
- Tagging log entries: add a consistent label or timestamp prefix to each line for identification.
- Building file paths: add a common folder path prefix to a list of filenames before a batch operation.
- Creating labeled test data: stamp a consistent identifier prefix onto a batch of generated test values.
Tips for Best Results
- Watch for accidental leading or trailing spaces in your prefix/suffix fields, since they're applied exactly as typed.
- Combine a quote prefix and a comma suffix together to quickly build array-literal syntax for code.
- Use this after the Duplicate Remover if you're building a unique list of stamped URLs or file paths.
Related Terminology
A prefix is text added to the beginning of each value, while a suffix is text added to the end. This differs from the Delimiter Converter's "wrap whole output" option, which adds text only once at the very start and end of the entire result rather than to every individual line.
Important Considerations
The prefix and suffix are applied literally as typed, including any spaces — double-check for accidental leading or trailing spaces in your prefix/suffix fields if the output looks slightly off. Applying a prefix or suffix doesn't validate the resulting values, so if you're building URLs or file paths, confirm the final format is actually valid for your target use case.
Related Tools
If you need to wrap the entire result (not each line) in brackets or parentheses, use the Delim Converter's whole-output wrap option instead. For quoting values specifically for SQL, the SQL Value Generator is purpose-built for that. To remove duplicates before stamping, try the Duplicate Remover.
Frequently Asked Questions
How do I add the same text to the start of every line?
Paste your list and type your desired text into the prefix field — every line updates instantly to include it at the start.
Can I add a prefix and suffix at the same time?
Yes, both fields work independently and can be used together to wrap each line, such as adding quotes on both sides.
Does this add text to the whole output, or every individual line?
Every individual line gets the prefix and suffix. If you want text added only once to the entire result, use the Delim Converter's whole-output wrap option instead.
Does it check if the resulting URLs or paths are valid?
No, it only performs the text stamping — you should confirm the resulting format is valid for your specific use case afterward.
WITH recent_orders AS (
SELECT
customer_id,
order_id,
order_date,
total_amount
FROM orders
WHERE order_date >= DATEADD(day, -30, GETDATE())
)
SELECT
customer_id,
COUNT(order_id) AS order_count,
SUM(total_amount) AS total_spent
FROM recent_orders
GROUP BY customer_id
ORDER BY total_spent DESC;
WITH RECURSIVE employee_hierarchy AS (
-- Anchor: top-level rows (no manager)
SELECT
employee_id,
manager_id,
employee_name,
1 AS level
FROM employees
WHERE manager_id IS NULL
UNION ALL
-- Recursive: join children to their parent's result
SELECT
e.employee_id,
e.manager_id,
e.employee_name,
eh.level + 1
FROM employees e
INNER JOIN employee_hierarchy eh
ON e.manager_id = eh.employee_id
)
SELECT *
FROM employee_hierarchy
ORDER BY level, employee_name;
-- Note: SQL Server / Oracle: drop the RECURSIVE keyword (just WITH employee_hierarchy AS (...))
SELECT
o.order_id,
c.customer_name,
o.order_date,
p.product_name,
oi.quantity
FROM orders o
INNER JOIN customers c
ON o.customer_id = c.customer_id
LEFT JOIN order_items oi
ON o.order_id = oi.order_id
LEFT JOIN products p
ON oi.product_id = p.product_id
WHERE o.order_date >= '2026-01-01'
ORDER BY o.order_date DESC;
SELECT
DATE_TRUNC('month', order_date) AS order_month, -- PostgreSQL
-- FORMAT(order_date, 'yyyy-MM') AS order_month, -- SQL Server
-- DATE_FORMAT(order_date, '%Y-%m') AS order_month, -- MySQL
COUNT(*) AS order_count,
SUM(total_amount) AS revenue
FROM orders
GROUP BY DATE_TRUNC('month', order_date)
ORDER BY order_month;
SELECT
customer_id,
order_id,
order_date,
total_amount,
ROW_NUMBER() OVER (
PARTITION BY customer_id
ORDER BY order_date DESC
) AS order_rank,
SUM(total_amount) OVER (
PARTITION BY customer_id
ORDER BY order_date
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
) AS running_total
FROM orders;
CREATE PROCEDURE GetCustomerOrders
@CustomerId INT,
@StartDate DATE = NULL,
@EndDate DATE = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT
order_id,
order_date,
total_amount
FROM orders
WHERE customer_id = @CustomerId
AND (@StartDate IS NULL OR order_date >= @StartDate)
AND (@EndDate IS NULL OR order_date <= @EndDate)
ORDER BY order_date DESC;
END;
-- Call it: EXEC GetCustomerOrders @CustomerId = 101, @StartDate = '2026-01-01';
MERGE INTO customers AS target
USING staging_customers AS source
ON target.customer_id = source.customer_id
WHEN MATCHED THEN
UPDATE SET
target.customer_name = source.customer_name,
target.email = source.email,
target.updated_at = GETDATE()
WHEN NOT MATCHED THEN
INSERT (customer_id, customer_name, email, created_at)
VALUES (source.customer_id, source.customer_name, source.email, GETDATE());
#FACC15
rgb(250, 204, 21)
rgb(98%, 80%, 8%)
hsl(46, 96%, 53%)
hsv(46, 92%, 98%)
cmyk(0%, 18%, 92%, 2%)
Tools for analysts, developers & QA engineers
33 free, browser-based utilities — text and list tools, SQL helpers, converters, and small productivity apps. Everything runs locally; nothing you type or paste is ever uploaded.
For Analysts
Clean lists, build SQL fragments, and reshape data without opening a spreadsheet.
For Developers
Format SQL, convert data formats, and handle everyday text and encoding tasks.
For QA Engineers
Generate test data, compare text output, and sanitize queries before sharing them.