Unformat.online
More tools
Clean Text
Strip smart quotes, zero-width characters, non-breaking spaces, and invisible Unicode from any pasted text.
Markdown Viewer
Live split-view editor and renderer — edit on the left, preview on the right.
Text Diff Checker
Compare two texts, JSON payloads, or config files and see exactly what changed, line by line.
Log File Viewer
Open multi-gigabyte log files instantly — chunked indexing and virtual scrolling handle 10GB+ files without freezing your tab.
FileSQL
Drop a CSV or JSON file and query it with SQL instantly — no upload, no server.
Format SQL
Format SQL for MySQL, PostgreSQL, BigQuery, T-SQL, and more — uppercase keywords, proper indentation.
Schema Visualizer
Paste CREATE TABLE statements and get an ER diagram instantly — tables, columns, keys, and foreign-key relationships.
Format JSON
Prettify or minify JSON. Auto-fixes single quotes, trailing commas, and unquoted keys.
Format YAML
Format and validate YAML. Catches indentation errors in Kubernetes, Docker Compose, and GitHub Actions files.
Format XML
Indent and pretty-print XML. Works with SOAP, RSS, Maven POM, Android manifests, and SVG.
JWT Debugger
Decode JWTs instantly — view all claims, check expiry, and see the algorithm. Token never leaves your browser.
Shredder
Remove EXIF, GPS, and author metadata from images and PDFs. Redact secrets from text and log files.
SSL Certificate Checker
Check any domain's SSL/TLS certificate — expiry, issuer, and Subject Alternative Names.
PDF Tools
Merge, split, rotate, or sign PDFs, fill in forms, and add text — entirely in your browser, nothing uploaded.
CronScope
Paste a cron schedule and see every run on a 12-month calendar. Never misread a cron expression again.
Regex Tester
Test regex patterns against sample text with live-highlighted matches, or pick from a library of ready-made patterns — no regex knowledge required.
Base64
Encode text or files to Base64, or decode Base64 strings and preview images inline.
URL Encode / Decode
Encode URLs or decode percent-encoded strings like %20, %3D, %26 — instantly.
UUID Generator
Bulk-generate cryptographically random v4 UUIDs using crypto.randomUUID(). Copy one or all at once.

Remove Smart Quotes Online

Replace smart quotes (“” ‘’) with straight quotes instantly. Paste text from Word, Google Docs, or any word processor and get code-safe, plain-text output.

Rules:Smart QuotesConverts curly quotes (“” ‘’) to straight quotes. Always active.Non-Breaking SpacesReplaces non-breaking spaces (U+00A0) with regular spaces. Always active.Line EndingsNormalizes CRLF → LF and trims trailing whitespace per line. Always active.Removes invisible zero-width characters (U+200B, U+200C, U+200D) that silently break string comparisons.Strips the Byte Order Mark (U+FEFF) that causes “invalid character” errors in parsers and editors.Removes soft hyphens (U+00AD) from PDFs that show as garbled characters in code editors.Converts mixed tabs/spaces to a consistent indent width. Click to pick a size.Collapses all line breaks into one continuous paragraph. Great for reflowing PDF or email text.Control blank line density. Click to pick Keep 1 or Remove all.Text never leaves your browser
0 characters

Why do smart quotes cause problems?

Word processors like Microsoft Word, Google Docs, and Apple Pages automatically replace straight quotes (" and ') with typographically correct curly quotes. This looks better in printed documents but breaks almost everything in software.

  • Code breaks. Python, JavaScript, and most languages require straight quotes as string delimiters. Pasting code with smart quotes causes SyntaxError or unexpected token errors.
  • JSON becomes invalid. JSON requires double straight quotes for all strings. Curly double quotes are not valid JSON delimiters — parsers reject them immediately.
  • Command-line tools fail. Shell commands with smart-quoted arguments fail with “command not found” or garbled output because the shell cannot parse the Unicode quote characters as argument delimiters.
  • APIs and CSV break. Curly quotes in API request bodies and CSV field values cause parse failures when the receiving system expects ASCII quotes.
  • String comparisons fail. text === "hello" returns false when the string contains curly-quoted “hello” — they are different Unicode characters.

How Unformat converts smart quotes to straight quotes

Unformat replaces all four curly quote characters with their ASCII equivalents in a single pass:

  • “ (left double quotation mark) → "
  • ” (right double quotation mark) → "
  • ‘ (left single quotation mark) → '
  • ’ (right single quotation mark / apostrophe) → '

The stats toast shows exactly how many quotes were converted, so you can confirm the cleanup ran. All processing happens in your browser — your text never reaches a server.

How to clean your text

  1. Copy the text containing smart/curly quotes.
  2. Paste it into the text area above (Ctrl+V or Cmd+V).
  3. Smart quotes are replaced with straight quotes instantly.
  4. Click "Copy Clean Text" or press Ctrl+K to copy the result.
  5. Paste the cleaned text into your code editor, terminal, JSON file, or API tool.

Frequently Asked Questions

Does this affect apostrophes?

Yes. The right single quotation mark (U+2019) is also used as a typographic apostrophe in words like “don’t”. Unformat replaces it with a straight apostrophe, which is correct for code and plain text. For publication-quality print text, you would keep the typographic version.

What about curly backticks?

Standard mode handles double and single curly quotes. Developer mode (enable Sanitize code in options) additionally converts curly backticks to straight backticks — useful when copying code that uses backtick template literals.

Can I fix smart quotes in Python strings specifically?

Yes — this tool handles all smart quote types regardless of language. For Python-specific context, see the dedicated /fix-smart-quotes-python page.