Pedro Henrique Francisco168 downloadsLocal evidence workflow: batch paste, deduplicate, annotate, normalize and copy rich text with images.
Turn screenshots and rich text into clear, shareable notes.
Capture evidence, annotate screenshots, edit HTML notes, and copy formatted responses between Obsidian and rich-text editors. Everything is processed locally in your vault.
Created by pedrof.

Save annotated images as new PNGs, keep editable annotations, and undo or redo changes as you work. All image processing happens locally.
Requires Obsidian Desktop 1.8.0 or later.
main.js, manifest.json, and styles.css from the latest release.<your-vault>/.obsidian/plugins/visual-kit/.Copy with images uses your Markdown selection, or the whole note if nothing is selected. Formatting and image support depend on the destination editor.
.html extension is added automatically.HTML notes are real .html files. Unsupported markup stays in Source mode to protect the original. See the HTML notes guide for image handling, recovery, compatibility, and known limits.
For HTML formatting that survives save/reopen, run Visual Kit: Create HTML note. Paste into Visual, edit with the toolbar, then select content for Copy as rich HTML or use Copy whole note. HTML notes autosave and retain unsupported documents in Source mode to protect their original content. See the HTML notes guide and manual acceptance checklist.
The options below describe Markdown Copy with images. HTML note copy preserves its own typography by default and has a separate destination compatibility opt-in.
Paste at the desired position inside your macro. Compatibility mode avoids outer blocks that can reset the destination font. If Movidesk still resets typography, set Destination font, Destination font size (px), and Destination text color to match your macro; leave them empty for inheritance. Disable Preserve formatting if you also want to remove emphasis.
Use Normalize image sizes on copy for a consistent width, or Preserve resize to honor embed dimensions. Compatibility mode bakes that size into PNG pixels without modifying source files. GIF animation is flattened. Export SVG files as PNG before rich copying.
Images are embedded in clipboard HTML, not uploaded to Movidesk. If images disappear after saving or reopening a ticket, use Movidesk's image upload tool and verify the saved ticket. Copying cannot override destination security filters. Invalid images leave the clipboard unchanged with a named error. Large batches may need to be split.
| Shortcut | Action |
|---|---|
V / A / R / E |
Select / arrow / rectangle / ellipse |
T / D / N / H |
Text / draw / number / highlight |
Ctrl+Z / Ctrl+Shift+Z |
Undo / redo |
Ctrl+S |
Save |
Ctrl+Shift+C |
Copy annotated image |
Ctrl + scroll / Space + drag |
Zoom / pan |
Use Cmd instead of Ctrl on macOS. Customize global shortcuts in Settings → Hotkeys.
When sharing redacted evidence, send only the exported PNG. The original image and editable annotation file may still contain the covered information.
npm ci
npm run lint
npm run check
npm test
npm run build
The installable plugin is generated in dist/visual-kit.
Regenerate the README overview with npm run assets:readme. Its editable SVG and exported PNG are stored in docs/community-assets/.
Enjoy using Visual Kit? Buy me a coffee on Ko-fi.