Unquote list items

Unquote list items by stripping one pair of surrounding quote characters from each line. The regex `/^["'`](.*)["'`]$/` matches any of `"`, `'`, or `` ` `` at both start and end. The opening and closing quote do NOT need to match - `"Alice'` would still have both stripped.

Input
Ready
Output
Live

A greedy outer-pair stripper

One regex per line: `/^["'`](.*)["'`]$/`. Any of the three quote characters at both ends is accepted. Content between is preserved verbatim. Only ONE pair is stripped - a doubly-quoted `""text""` becomes `"text"` after one run; to strip both layers, run twice.

Quirk: the regex does not require the opening and closing to match. So `"hello'` (mismatched) will still be unquoted to `hello`. For data written by a strict serializer this never happens, but human-edited input might have this shape.

Lines without matching outer quotes pass through unchanged. A line like `Alice"` (only trailing quote) is emitted as-is. Use trim with Chars `"'` if you need to strip stray single-sided quotes.

How to use unquote list items

  1. 1Paste your list into the input panel
  2. 2Output strips one outer pair of `"`, `'`, or `` ` `` from each line
  3. 3Opening and closing quotes do not need to match
  4. 4Only one pair per run - double-wrapped items need two runs
  5. 5To strip unmatched stray quotes, use trim with Chars `"'`

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

What this tool actually does

Single-regex outer-pair strip, no options.

Three quote characters

Accepts `"` (double), `'` (single), and `` ` `` (backtick) at either end. Matches any combination.

Not a matching-pair requirement

`"Alice'` strips to `Alice`. For serializer output this is never a concern; for hand-edited data where quote shapes might be inconsistent, this is lenient by design.

Only one pair per pass

`""text""` becomes `"text"` in one run. Run twice for doubly-quoted input.

No escaping

Content between the outer quotes is emitted verbatim. Escaped sequences like `\"` stay as `\"`.

Reversible

Quote and Add quotes both round-trip with this tool as long as your input is consistent.

Worked example

Each line has its outer quote pair stripped, regardless of quote type.

Input
"Alice"
'Bob'
`Charlie`
Output
Alice
Bob
Charlie

Behaviour reference

No options. The regex pattern is fixed.

Input line shape What happens Example
`"text"` / `'text'` / `` `text` `` Outer pair stripped `"Alice"` → `Alice`
`"text'` (mismatched) Still stripped - lenient matching `"Alice'` → `Alice`
`""text""` One pair stripped per run First run → `"text"`; second run → `text`
`Alice"` (unmatched one side) No match - passes through `Alice"` stays `Alice"`
`Alice` (no quotes) Unchanged `Alice` stays `Alice`

FAQ

Do opening and closing quotes have to match?
No. The regex accepts any of `"`, `'`, `` ` `` at either end - they do not need to be the same character. `"Alice'` strips to `Alice`.
What about double-wrapped items like `""text""`?
One pair stripped per run. Run twice to strip both layers. Alternatively, use trim with Chars `"` and Side Both for greedy stripping.
Does it handle CSV-style escaped double quotes (`""`)?
No special handling - the op is character-based, not CSV-aware. For CSV-escape-aware parsing, use Convert CSV rows into a list which handles quoting properly.
What if only one side has a quote?
The line passes through unchanged. The regex requires both ends to match the pattern. For stray one-sided quotes, use trim with Chars set to `"'`.
How do I add quotes back?
Use Quote list items to wrap each line, or Add quotes around items for the CSV/SQL-framed version.