Paste text and switch it to straight quotes for code and data, or to curly quotes for publishing. The result updates as you type.
This tool runs entirely in your browser. What you enter is never sent anywhere.Your input is never sent anywhere.
DetailsStraight quotes vs. curly quotes in pasted text
Straight quotes (" and ') are the plain keyboard characters. Curly quotes, also called smart quotes (“ ” ‘ ’), face a direction: one shape opens a quotation and another closes it. Word processors often swap one for the other as you type, so pasted text can end up with both.
Pick Straight quotes when the text is going into code, JSON, or a config file. Pick Curly quotes when it is going into an article, a book, or a document. The tool changes double quotes, single quotes, and apostrophes, and you can switch any of those off.
When mixed quote styles cause problems
Code copied from a document or note
Code pasted from Word, Google Docs, or a note app can carry curly quotes that a compiler or interpreter rejects. Straighten them before you paste.
JSON, CSV, and config values
Strings in data files need straight quotes. One curly quote in a value can break the whole file.
A manuscript with mixed styles
Text pulled from several sources can mix straight and curly quotes. Convert everything to one style before you publish.
Text copied from web pages and chats
Pages and chat replies that use typographic quotes bring them along when you copy. Straighten them for a plain-text field, or keep them curly for print.
How to straighten or curl quotes in 3 steps
- Paste your text into the Input text box.
- Choose Straight quotes or Curly quotes. Turn off Double quotes or Single quotes & apostrophes if you want to leave one of them alone.
- The result appears as soon as you paste. Click Copy result.
Note: There is no convert button. The result updates when you change the text or any setting.
How the conversion rules work
- Straight quotes mode: “ ” „ ‟ ″ « » become " and ‘ ’ ‚ ‛ ′ ‹ › become '. Everything else in your text is left alone.
- Curly quotes mode: the tool first turns every recognized quote character into a straight one, then decides the direction of each quote from its position, so existing curly quotes are rebuilt too.
- Opening or closing: a quote is an opening quote at the start of the text, after whitespace, after ( [ { < = or a dash, or right after another opening quote, as long as the next character is not a space. Otherwise it is a closing quote.
- Digits: in Curly quotes mode, a quote directly after a digit stays straight when no quotation is open, which keeps 5'10" and 12" as they are.
- Dashes & ellipses: off by default. In Curly quotes mode it turns every -- into an em dash, including in command-line flags such as --help, so leave it off for technical text.
- Plain text only: formatting such as bold, italics, and links does not carry over.
Quote characters this tool converts
These are the characters Straight quotes mode recognizes and what each one becomes.
| Character | Name | Becomes |
|---|---|---|
| “ | U+201C left double quotation mark | " |
| ” | U+201D right double quotation mark | " |
| „ | U+201E double low-9 quotation mark | " |
| ‟ | U+201F double high-reversed-9 quotation mark | " |
| ″ | U+2033 double prime | " |
| « » | U+00AB and U+00BB guillemets | " |
| ‘ | U+2018 left single quotation mark | ' |
| ’ | U+2019 right single quotation mark, also the apostrophe | ' |
| ‚ | U+201A single low-9 quotation mark | ' |
| ‛ | U+201B single high-reversed-9 quotation mark | ' |
| ′ | U+2032 prime | ' |
| ‹ › | U+2039 and U+203A single guillemets | ' |
Why the characters look alike but are different. A straight quote is one character, U+0022 for double and U+0027 for single. Each curly quote is a separate character with its own code, so a search for one will not find the other.
French and German styles. Guillemets and low-9 quotes are converted to straight quotes in Straight quotes mode. In Curly quotes mode they also come out as English-style curly quotes, not as guillemets.
SyntaxError, JSON, and CMS problems from pasted quotes
Where curly quotes cause trouble after you paste, and which direction to convert.
Python: SyntaxError invalid character U+201C
Python only accepts straight quotes as string delimiters. A curly double quote raises SyntaxError: invalid character '“' (U+201C), and a string with a straight opening quote and a curly closing quote raises unterminated string literal.
Run the code through Straight quotes mode before you paste it into your editor.
JSON and shell commands
A JSON string must be wrapped in straight double quotes (U+0022), so curly quotes make the file invalid. A shell treats curly quotes as ordinary characters, so a command wrapped in them is not quoted at all.
Straighten the text first, then check that apostrophes inside values are what you intended.
Pasting into a CMS or Markdown editor
Some publishing platforms turn straight quotes into curly ones when the page is displayed, so straight quotes in the source are often the safer choice there. If your platform does not, convert the finished text with Curly quotes mode before you publish.
Common quote conversion mistakes
Apostrophes are still curly after straightening
You straighten a block of text, but words like don’t and it’s keep their curly apostrophe. That happens when Single quotes & apostrophes is switched off, because apostrophes are handled with single quotes.
💡 See the solution▼
Curling quotes inside code
You switch to Curly quotes mode with code in the box, and every string delimiter becomes a curly quote that a compiler will reject.
💡 See the solution▼
Feet and inches turn into quotation marks
A measurement such as 5'10" can be read as quote characters and curled in the wrong direction by a simple find and replace.
💡 See the solution▼
A quote with no space before it faces the wrong way
A quote that follows a letter with no space, as in word"quote, is read as a closing quote, so it comes out as ” instead of “.
💡 See the solution▼
Smart quotes FAQ
Q.How do I convert curly quotes to straight quotes?
A. Paste your text into the Input text box and leave Straight quotes selected. The result appears right away. Click Copy result. In this mode, “ ” „ ‟ ″ « » become " and ‘ ’ ‚ ‛ ′ ‹ › become '.
Q.Why do smart quotes cause errors in code?
A. Most programming languages only accept the straight characters as string delimiters. Python, for example, stops with SyntaxError: invalid character '“' (U+201C) when it meets a curly quote. Word processors and some note apps turn straight quotes into curly ones as you type, so code copied from them can fail until you straighten the quotes.
Q.Can it also turn straight quotes into curly quotes?
A. Yes. Select Curly quotes. The tool first straightens every quote character it recognizes, then works out the direction of each one again, so text that mixes straight and curly quotes comes out consistent.
Q.How does it decide which way a curly quote faces?
A. A quote is treated as an opening quote when it sits at the start of the text, after a space or line break, after ( [ { < = or a dash, or right after another opening quote, and the next character is not a space. Every other quote is treated as a closing quote. An apostrophe inside a word, as in don't, becomes ’.
Q.What happens to apostrophes like 'tis or the '90s?
A. In Curly quotes mode, an apostrophe at the start of a word is curled as ’ when it is followed by tis, twas, twere, em, til, till, cause, bout, n, or a two-digit number such as '90 or '90s. Any other single quote that opens a word is curled as ‘.
Q.Will 5'10" or 12" be turned into curly quotes?
A. In Curly quotes mode, a quote that directly follows a digit is left straight when no quotation is open, so 5'10" and 12" stay as they are. In Straight quotes mode, the prime marks ′ and ″ are converted to ' and ", so a prime typed as a real prime character loses its shape.
Q.What does the Dashes & ellipses option do?
A. It is off by default. In Straight quotes mode it replaces an em dash (—) with --, an en dash (–) with -, and … with ... . In Curly quotes mode it replaces -- with an em dash and ... with …. It does not create en dashes.
Q.How do I stop Word from adding curly quotes?
A. In Word, clear the “Straight quotes” with “smart quotes” option on the AutoFormat As You Type tab of the AutoCorrect settings. That setting only affects what you type from then on; text that already has curly quotes needs to be converted.
Q.Does it keep bold, italics, or links from my document?
A. No. The tool works on plain text only, so formatting from Word or Google Docs does not carry over. Paste the converted text back into your document or editor and apply the formatting there.
Q.Is my text sent to a server?
A. No. The conversion runs as JavaScript in your browser and the page has no upload step. Your text stays in the page until you close or reload it.
Your feedback
makes this tool better.
Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.