Skip to content

A lightweight Chromium extension that transparently strips out hidden watermark markers from ChatGPT outputs before they ever reach your clipboard.

Notifications You must be signed in to change notification settings

ByteMastermind/Markless-GPT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

Markless-GPT

A lightweight Chromium extension that cleans out hidden watermark markers (zero-width and similar) from any text you copy—whether via Ctrl +C/⌘ +C, programmatic “Copy” buttons, or cut events—so you always get plain, human-readable content.

Online tool available:
https://bytemastermind.github.io/Markless-GPT/


🚀 Features

  • Automatic Filtering
    Intercepts every copy- or cut-event on the page and runs it through a simple filterText() pipeline.
  • Watermark Removal
    Strips zero-width spaces, non-breaking spaces, and other invisible markers often injected by AI models.
  • Button-Click Fallback
    Detects “Copy” buttons, lets the page write first, then cleans up what lands on the clipboard.
  • Inline Toast & Logging
    Brief “Text safely copied!” toast for feedback plus console logs of raw vs. cleaned text.
  • No Extra Permissions
    Works without requesting any special "clipboardWrite" or host permissions—hooks into existing copy/cut handlers and the standard Clipboard API.

📦 Installation

  1. Clone the repo
    git clone https://github.com/ByteMastermind/Markless-GPT.git
  2. Load into your browser
    • Navigate to chrome://extensions/ (or edge://extensions/, etc.)
    • Enable Developer mode
    • Click Load unpacked and select the markless-gpt/ folder

That’s it - no restart needed.


⚙️ Usage

  1. Copy or cut anything on any page in your Chromium-based browser:
    • Keyboard → Ctrl +C / Ctrl + X (⌘ +C / ⌘ + X on macOS)
    • Buttons → a traditional copy buttons on the page
  2. Paste anywhere - you’ll get the exact same text minus hidden watermark characters.

🛠️ Customizing the Filter

Open content-script.js and tweak the filterText function:

// Default removes common zero-width / invisible chars:
const filterText = input =>
  input
    .replace(/\u00A0/g, ' ')
    .replace(/\u202F/g, ' ')
    .replace(/[\u200B-\u200D\uFEFF]/g, '');

Feel free to extend it with your own regex rules, profanity filters, token redaction, or remote processing via a background script.


💡 Why Markless-GPT?

LLMs and other pipelines sometimes slip in invisible markers to tag AI-generated text. Markless-GPT makes sure anything you copy is free of these hidden artifacts—no permissions, no popups, just clean text.


📄 License

MIT © ByteMastermind

About

A lightweight Chromium extension that transparently strips out hidden watermark markers from ChatGPT outputs before they ever reach your clipboard.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages