InTab

Delimiter Tool

Paste a list, get it back joined the way you need it — comma separated, quoted, wrapped in a SQL IN clause, or one item per line. Everything updates as you type, in your browser.

Tool input stays in your browser

Did you know · Languages

A regular expression with nested quantifiers can backtrack exponentially — the ReDoS class of denial of service.

Presets

Split input by

Clean up

Build output

Input

you edit

Output

read only
Your delimited list appears here.

From a column of values to whatever the next system wants

The list you have is almost never in the shape the next tool expects. You copy a column of order IDs out of a spreadsheet and need 'a', 'b', 'c' for a query. You pull a list of emails from a ticket and need them comma separated for a mail client. You have a JSON array and need it back as plain lines. This tool is the conversion step in the middle: it splits what you paste into items, cleans them up, and joins them again with the delimiter, quoting, and wrapping you choose.

There is no Convert button. The output pane recomputes on every keystroke and every option change, so you can adjust a setting and see immediately whether the result is what you wanted.

Presets for the formats people actually paste into

  • Comma separated — the plain a, b, c list.
  • Quoted CSV — every item in double quotes, safe for a spreadsheet cell or a CSV column.
  • SQL IN clause — single-quoted items wrapped in parentheses, ready to drop after WHERE id IN.
  • JSON array — double-quoted items inside square brackets.
  • Pipe separated, One per line, and Markdown list for docs, tickets, and shell arguments.

A preset is just a starting point: it sets the delimiter, quote style, and wrapper, and every one of those stays editable underneath. The preset chip highlights while your settings still match it.

Cleaning the list on the way through

Copied data arrives with stray spaces, blank rows, and repeats. Items are trimmed and empty ones dropped by default. Remove duplicates keeps the first occurrence of each value and can match case-insensitively, so Alice@example.com and alice@example.com collapse into one. You can sort alphabetically, by length, or reverse the order, and force everything to upper or lower case.

The steps run in a fixed order: split, trim, drop empties, change case, de-duplicate, sort, then quote and join. Casing before de-duplication is deliberate — it means lowercasing a list also merges the values that only differed by case. Quoting happens last, so the quotes you add never affect matching or sorting.

Splitting input that is not one per line

Input can be split on new lines, commas, tabs, any run of whitespace, a literal string you type, or a regular expression when the separator varies. That last option handles the messy cases — \s*[;,]\s* splits on either a semicolon or a comma and eats the spaces around it. Because the tool can also join with a new line, it works in reverse too: paste a comma separated list and get one item per line back.

The delimiter, prefix, suffix, and wrapper fields accept \n and \t, since a single-line text field cannot hold a real newline or tab. For very long lists, Break line every wraps the output after a set number of items while keeping the delimiter at the end of each line, so the result stays valid where you paste it.

Quotes that survive the values inside them

An apostrophe in a name will break a query the moment it lands inside single quotes. With Escape quotes inside items enabled, single-quoted items get the SQL treatment, where the quote is doubled — O'Brien becomes 'O''Brien' — while double quotes and backticks are escaped with a backslash for JSON and JavaScript. Two conventions, picked to match wherever that quote style is normally headed.

Why it is private

Splitting, cleaning, and joining all run as JavaScript inside this page. Open your browser DevTools, switch to the Network tab, and paste your list: no request carries the list. That matters, because the lists people convert here are customer emails, account identifiers, and internal record IDs.

Delimiter tool FAQ

How to make a comma separated list, a SQL IN clause, or convert lines with a delimiter tool — all in the browser.

What is a delimiter tool?

A delimiter tool splits a list (usually one item per line) and joins it again with a separator you choose — comma, pipe, newline, or a custom string. This delimiter tool also trims, de-duplicates, sorts, quotes items, and wraps the result as a SQL IN clause or JSON array.

How do I turn a column into a comma separated list?

Copy a spreadsheet column, paste it here, and keep the Comma separated preset (or set the delimiter to a comma). Trim and remove empty rows are on by default. That is the usual “list to comma separated” conversion for emails, ids, and SKUs.

How do I make a SQL IN clause from a list?

Paste one value per line, choose the SQL IN clause preset, and copy the output. Items are single-quoted and wrapped in parentheses. Apostrophes inside values are doubled so the clause stays valid SQL. All of that runs in the browser.

Can I convert a comma list back to lines?

Yes. Set split mode to comma (or custom), then set the join delimiter to a newline (type \n). The same engine works in both directions: lines to CSV, or CSV to lines.

Does this comma separator upload my list?

No. Split, trim, de-dupe, and join all run locally. Customer emails and account ids never leave this page.