Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>otak-pasteNew to Visual Studio Code? Get it now.
otak-paste

otak-paste

Tsuyoshi Otake

odangoo.com
| (1) | Free
Paste Markdown images into assets with automatic lossless PNG optimization to keep screenshots smaller.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

otak-paste

Paste optimized screenshots into Markdown and keep your repository lighter.
otak-paste saves clipboard PNGs to a local assets/ folder, applies lossless optimization when it can reduce size without changing pixels, and writes the Markdown link for you.

VS Marketplace VS Code engine License: MIT GitHub

100% local processing Lossless PNG optimization No telemetry Zero network calls Works offline

Install · GitHub · Report an issue


Teams writing documentation in Markdown handle the same chore on every screenshot: save the file, name it, move it into the repository, then type out the link. Screenshot-heavy docs also make repository history grow quickly. otak-paste reduces the workflow to a single paste and keeps PNG assets smaller by default with local, lossless optimization, no network access, and no data collection.

Quick Start

  1. Install from the VS Code Marketplace.
  2. Open a saved Markdown file.
  3. Copy a PNG, or take a screenshot.
  4. Paste with Ctrl+V (Cmd+V on macOS).

On Windows, otak-paste reads the image directly from the clipboard on Ctrl+V, optimizes the PNG when it can save space, writes the image next to your file, and inserts the link:

![image](https://github.com/tsuyoshi-otake/otak-paste/raw/HEAD/assets/4f8c9a01d2b3e4f5.png)

The image alt text is pre-selected, so you can type a real description right away.

Capabilities

  • One-keystroke flow: Ctrl+V / Cmd+V in a Markdown editor runs otak-paste first for clipboard PNGs, then falls back to VS Code's normal paste for text and other clipboard content.
  • Local-first assets: images are written to an assets/ folder beside the current file, never scattered across the workspace.
  • Smaller Markdown repositories: pasted screenshots are losslessly recompressed before saving, which can reduce asset size and future Git diffs without changing the visible image.
  • Unique filenames: each file receives a random 16-character hex name such as 4f8c9a01d2b3e4f5.png.
  • Configurable optimization: keep the default lossless mode, or choose none when you need byte-for-byte clipboard output.
  • Undo-friendly cleanup: undoing the paste removes both the Markdown image link and the PNG file created for that paste.
  • Editable alt text: the alt text is selected on paste, ready to describe.
  • Non-intrusive: no success pop-ups; it stays out of your workflow.
  • Localized interface: UI messages follow your VS Code display language.

How It Works

When a PNG is on your clipboard and the active editor is a saved Markdown file, otak-paste:

  1. Resolves the Markdown file's directory.
  2. Creates an assets/ folder if one does not exist.
  3. Generates a random 16-character hex filename.
  4. Optimizes the PNG when otakPaste.pngOptimization allows it and the result is smaller.
  5. Writes the pasted PNG into assets/.
  6. Inserts the Markdown image link at the cursor.

Anything outside those conditions is handed back to VS Code's default paste behavior. otak-paste only handles the specific case it was built for.

Undo Behavior

When you undo a paste with Ctrl+Z (Cmd+Z on macOS), VS Code removes both parts of the same paste operation:

  • the Markdown image link inserted in the editor
  • the PNG file that otak-paste created for that paste

The assets/ folder itself may remain if it was created for the first paste. otak-paste does not scan for or delete unrelated orphaned images, so files from older paste operations or manually edited links are left alone.

Settings

PNG optimization is enabled by default because documentation screenshots often contain compressible metadata or under-compressed image data. otak-paste only keeps the optimized result when it is smaller; otherwise it writes the original PNG bytes.

Setting Default Values
otakPaste.pngOptimization lossless lossless recompresses PNG data and removes non-visual metadata while preserving pixels; none saves the bytes exactly as received from VS Code

Supported Scenarios

otak-paste handles Handed back to VS Code's default
A saved, local .md file is active Untitled, virtual, or remote-only documents
The clipboard holds PNG image data Non-PNG data such as JPEG, GIF, or WebP
Direct paste into a Markdown editor Copied image files rather than image data

Only local file: Markdown documents are supported in v1.

Security & Privacy

otak-paste is designed to run safely inside locked-down, regulated, and air-gapped environments.

  • 100% local processing: images are handled entirely on your machine.
  • Local optimization only: PNG recompression runs inside the extension host and never uploads image data.
  • Zero network access: it never uploads images or transmits clipboard data anywhere.
  • No telemetry: no analytics, usage tracking, or external calls of any kind.
  • No account or API key: nothing to sign in to, nothing to provision.
  • Scoped file writes: it only writes PNGs into the assets/ folder beside the active file.
  • Open source, MIT-licensed: the full implementation is auditable on GitHub.
  • Settings-safe: it never changes your VS Code configuration on your behalf.

Language Support

The interface follows your VS Code display language:

English · 日本語 · 简体中文 · 繁體中文 · 한국어 · Tiếng Việt · Español · Português (BR) · Français · Deutsch · हिन्दी · Bahasa Indonesia · Italiano · Русский · العربية · Türkçe

Requirements

  • VS Code 1.125.0 or newer
  • A saved, local Markdown file
  • PNG image data on the clipboard

Installation

Install from the VS Code Marketplace, or run:

ext install odangoo.otak-paste
Build from source (VSIX)
npm install
npm run package
code --install-extension otak-paste-0.3.0.vsix

Reload VS Code afterwards if the Markdown editor was already open.

Troubleshooting

  • Nothing happens when I paste: confirm the file is saved and the clipboard holds PNG image data.
  • VS Code's built-in paste takes over: set "markdown.editor.filePaste.enabled": "never" in that workspace and try again. otak-paste does not change this setting for you.
  • The image was saved in an unexpected location: the assets/ folder is created next to the active Markdown file, not at the workspace root.
  • A JPEG / GIF / WebP was not handled: v1 handles PNG clipboard data only.

Related Extensions

More VS Code extensions by odangoo:

Extension Description
otak-proxy One-click proxy switching for VS Code, Git, npm, and integrated terminals
otak-monitor Real-time CPU, memory, and disk usage in the status bar
otak-committer AI-assisted commit messages, pull requests, and issues
otak-clipboard Copy a folder or the current tab to your clipboard in two clicks
otak-clock Dual time-zone clock for the status bar
otak-pomodoro A Pomodoro focus timer built into VS Code
otak-restart Quick Extension Host and window restart from the status bar
otak-zen A calm, distraction-free Zen mode for VS Code
otak-lsp Japanese morphological analysis with grammar checks, semantic highlights, and hovers
otak-usage At-a-glance usage statistics for VS Code

License

Released under the MIT License.


Built by tsuyoshi-otake · Marketplace · GitHub · Issues
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft