Paste/drag/select images, batch upload to Imgur/Tikolu/MJJ.Today/Appinn/StarDots; auto-copy Markdown/HTML/BBCode/link; site button integration with SPA observer; local history.
A user script that lets you paste, drag, or select images and batch-upload them to Imgur or Tikolu or MJJ.Today or Appinn (selectable provider), optionally converting to WebP, then auto-copy the result in Markdown/HTML/BBCode/plain link. It also integrates configurable site buttons (works with SPA pages) and keeps a local upload history for quick reuse.






Markdown / HTML / BBCode / LinkNone)Markdown: HTML: <img src="url" alt="alt" />BBCode: [img]url[/img]Link: url.comment-screenshot-control).Before inserts before, After inserts after, Inside appends as the last child.Save & Insert to persist the rule locally and inject immediately. A DOM observer keeps it inserted on SPA pages.Remove button (temporary) to clear injected buttons without deleting rules.Clear settings to remove all saved rules.Edit and Delete.c function instead of innerHTML for better compatibility with CSP-restricted sites.Primary(Proxy) -> Secondary(Proxy) -> Primary(Direct).wsrv.nl proxy: appends &output=webp when WebP option is enabled.wsrv.nl -> DuckDuckGo).?webp=true.wsrv.nl proxy: for GIF files (based on original filename) append &n=-1.addValueChangeListener.iu:uploadFiles pipeline as drag-and-drop, so behavior is consistent regardless of where you paste.pointer-events: none and only toggles visibility on valid drag targets, avoiding oscillation when dragging across input fields.DuckDuckGo and wsrv.nl -> DuckDuckGo.DuckDuckGo and wsrv.nl -> DuckDuckGo; wsrv.nl automatically switches to wsrv.nl -> DuckDuckGo).addValueChangeListener support for script managers that do not implement it natively, enabling cross-tab data synchronization.GM_ storage calls to asynchronous APIs to improve script performance and compatibility with modern environments.fetch to GM_xmlhttpRequest to avoid CORS.gmRequest helper to unify upload provider requests.{ format?, host?, proxy?, btns?: [...] }.:host; the drop overlay (#uiu-drop) and site-injected buttons (.uiu-insert-btn) remain in the page DOM.aria-pressed) for History and Settings toggles.innerHTML clears (use textContent = ''), and parse custom button HTML via Range.createContextualFragment to prevent TT violations on strict sites.None / wsrv.nl; Imgur not supported; when wsrv.nl is selected, outputs and history copy/open use https://wsrv.nl/?url=${encodeURIComponent(url)}contentEditable elementsMIT License - see the LICENSE file for details.