Add quotes around list items

Paste a list and wrap every line in double, single, or backtick quotes - the first step in building a CSV row, a SQL `IN (...)` clause, or a JSON string array. Chain with Join and a comma separator to produce the final one-liner.

Input
Ready
Output
Live

Import-prep quoting for CSV, SQL, and JSON

Three quote characters are offered: `"` (double - CSV, JSON), `'` (single - SQL string literals, Python), and `` ` `` (backtick - Markdown inline code, JavaScript template literals). The chosen character wraps each line; no escaping is applied.

This tool pairs with Join: quote every line, then join with `, ` to get `"apple", "banana", "cherry"`. That output is valid SQL `IN (...)` fodder, a JSON array body, or a CSV row fragment.

If your items contain quote characters that need escaping (e.g. `O'Brien` with single-quote output), pre-process with Replace - doubling `'` to `''` for SQL, or backslash-escaping for JSON. This tool does not serialize, only wraps.

How to use add quotes around list items

  1. 1Paste your list into the input panel
  2. 2Pick Quote: Double (CSV/JSON), Single (SQL), or Backtick (Markdown/JS)
  3. 3Every line is wrapped in the chosen character - no escaping
  4. 4For a comma-separated one-liner, chain Join with separator `, `
  5. 5To strip quotes later, use Unquote

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

Built for import-prep

The same wrap-each-line op as Quote list items, framed around data-import targets.

CSV column or row fragments

Double-quote every line, then Join with `,` to form a CSV row. Or leave as-is for a quoted column of values.

SQL `IN (...)` clauses

Single-quote every string value, join with `, `, wrap in `(` / `)` via Wrap. Warning: no escaping - pre-process apostrophes first with Replace.

JSON string arrays

Double-quote, join with `, `, wrap in `[` / `]`. For JSON-safe content (backslash-escaped quotes, control chars), serialize via convert-list-to-json instead.

Markdown inline code spans

Backtick-wrap for `` `term` `` one-per-line glossaries.

No escaping, no deduplication

The op is `line → quote + line + quote` applied to every line. Existing quotes are not escaped; duplicates are not merged; blanks become a pair of quotes.

Worked example

Double-quote every line - ready to Join with `, ` for SQL/JSON use.

Input
apple
banana
cherry
Output
"apple"
"banana"
"cherry"

Settings reference

How each Quote choice shapes the output using the sample above.

Setting What it does Effect on the sample
Quote: Double (default) Wraps each line in `"…"` - CSV / JSON target `"apple"` / `"banana"` / `"cherry"`
Quote: Single Wraps each line in `'…'` - SQL target `'apple'` / `'banana'` / `'cherry'`
Quote: Backtick Wraps each line in `` `…` `` - Markdown / JS target `` `apple` `` / `` `banana` `` / `` `cherry` ``
Blank-line behaviour (automatic) Blank lines become a pair of quotes `""` (or `''`, or `` `` ``)

FAQ

Does the tool escape apostrophes in `O'Brien` for SQL output?
No. Wrapping is literal - `O'Brien` with single-quote mode produces `'O'Brien'`, which most SQL parsers will reject. Pre-process with Replace to double each `'` to `''` first.
How do I build a SQL `IN (...)` clause?
Quote with Single, Join with `, `, then Wrap with `(` / `)`. For string values only - escape apostrophes first.
How do I build a JSON array?
For trusted input: Quote with Double, Join with `, `, Wrap with `[` / `]`. For arbitrary input (may contain `"` or control chars), use convert-list-to-json - it serializes properly.
How is this different from Quote list items?
Quote list items uses the identical op - same three quote choices, same per-line wrapping. This page frames the same tool around CSV/SQL/JSON import prep and chained pipelines.
What about blank lines?
They become a pair of quotes (e.g. `""`). Run Remove empty lines first if that would pollute your output.