Upload project assets to Media2URL directly from your editor and insert hosted URLs into Markdown, HTML, CSS, code, and documentation.

[!IMPORTANT]
Paid Plan Disclosure
The Media2URL extension is free to install from the Visual Studio Marketplace. Uploading media and accessing Media2URL cloud services requires an eligible paid Media2URL plan.
Free accounts can connect and view account status, but VS Code uploads require an active paid subscription. View Pricing & Plans.
What It Does
Media2URL streamlines asset management for software engineers, technical writers, and web developers. Instead of leaving VS Code to drag files into a browser, copy links, and craft markdown tags manually, Media2URL handles the entire workflow directly in your editor:
- Right-click any image, video, document, or archive in your Explorer.
- Select Media2URL to stream the file directly to cloud storage.
- Automatically receive a canonical HTTPS delivery link copied to your clipboard or formatted cleanly as a Markdown image, HTML tag, or CSS
url().
Quick Start
- Install Media2URL from the VS Code Extensions view (
Cmd+Shift+X / Ctrl+Shift+X).
- Run
Media2URL: Connect Account from the Command Palette (Cmd+Shift+P / Ctrl+Shift+P).
- Authorize the connection in your browser.
- Right-click any project asset in your File Explorer.
- Choose Media2URL and select Upload and Copy URL or Upload and Smart Insert.
Key Features
1. Upload from Explorer
Right-click any supported asset in your project tree:
- Upload and Copy URL: Uploads the file and writes the canonical CDN URL directly to your system clipboard.
- Upload and Smart Insert: Uploads the asset and inserts a formatted snippet matching your active document type.
2. Smart Insert
When running Upload and Smart Insert, the extension inspects the active file type and generates the correct syntax:
- Markdown (
.md, .mdx):

- HTML & JSX (
.html, .jsx, .tsx, .vue, .svelte):
<img src="https://files.media2url.com/..." alt="Screenshot">
- CSS & Stylesheets (
.css, .scss, .less):
url("https://files.media2url.com/...")
- JSON, TypeScript & Code (
.json, .ts, .js, .yaml):
https://files.media2url.com/...
Tip: If you select text before triggering Smart Insert, the selected text is automatically used as the image alt text or link label.
3. Replace Selected Local References
Convert local file paths into hosted URLs with a single command:

- Highlight
./assets/hero-banner.png in your document.
- Run
Media2URL: Upload and Replace Selected Local Reference.
- Confirm the upload prompt.
- The local reference is replaced with your hosted Media2URL URL using the VS Code
WorkspaceEdit API—preserving full Undo (Cmd+Z / Ctrl+Z) support.
4. Cloud Library
Access your hosted assets directly from the Media2URL Activity Bar view:
- Browse your uploaded files organized by type.
- Search your assets using
Media2URL: Search Cloud Library.
- Copy URLs or insert snippets into your editor with one click.
5. Duplicate Detection
When uploading a file that already exists in your account, Media2URL identifies matching SHA-256 checksums and offers to reuse the existing hosted URL—saving storage and preventing redundant uploads.
6. Asset Replacement (Eligible Plans)
Need to update an image without breaking existing links? On eligible plans, use Media2URL: Replace Existing Asset to upload a new version. The public slug and canonical URL remain stable while new bytes are served immediately.
- Images: JPEG (
.jpg, .jpeg), PNG (.png), WebP (.webp), GIF (.gif)
- Videos: MP4 (
.mp4), WebM (.webm)
- Audio: MP3 (
.mp3)
- Documents & Archives: PDF (
.pdf), ZIP (.zip), Word (.docx), Text (.txt, .csv)
Active web content (executable scripts, raw HTML, SVG files) is intentionally blocked by server policy to safeguard hosting integrity.
Commands
All commands are accessible via the Command Palette (Cmd+Shift+P / Ctrl+Shift+P):
| Command |
Title |
Description |
media2url.connect |
Media2URL: Connect Account |
Connect your Media2URL account via secure browser PKCE flow |
media2url.disconnect |
Media2URL: Disconnect |
Disconnect your account and purge stored credentials from SecretStorage |
media2url.account |
Media2URL: Account |
View current account details, active plan, and storage usage |
media2url.uploadFile |
Media2URL: Upload File |
Select and upload any local project file |
media2url.uploadAndCopy |
Media2URL: Upload and Copy URL |
Upload selected file and copy direct CDN link to clipboard |
media2url.uploadAndSmartInsert |
Media2URL: Upload and Smart Insert |
Upload and insert format matching the active editor document |
media2url.uploadAndInsertMarkdown |
Media2URL: Upload and Insert Markdown |
Upload and insert Markdown image or file link |
media2url.uploadAndInsertHtml |
Media2URL: Upload and Insert HTML |
Upload and insert HTML <img> or <a> tag |
media2url.uploadAndInsertCssUrl |
Media2URL: Upload and Insert CSS URL |
Upload and insert CSS url("...") syntax |
media2url.uploadAndInsertDirectUrl |
Media2URL: Upload and Insert URL |
Upload and insert plain hosted URL |
media2url.replaceLocalReference |
Media2URL: Upload and Replace Selected Local Reference |
Replace highlighted local file path with hosted URL |
media2url.openCloudLibrary |
Media2URL: Open Cloud Library |
Focus the Media2URL Cloud Library view in the Activity Bar |
media2url.searchCloudLibrary |
Media2URL: Search Cloud Library |
Search your hosted cloud assets by name |
media2url.openRecentLinks |
Media2URL: Open Recent Links |
Browse and copy links from recent upload sessions |
media2url.clearRecentLinks |
Media2URL: Clear Recent Links |
Clear local recent links history |
media2url.replaceAsset |
Media2URL: Replace Existing Asset |
Upload a new version for an existing hosted asset |
Extension Settings
Configure via VS Code Settings (Cmd+, / Ctrl+,):
| Setting |
Default |
Description |
media2url.autoCopyAfterUpload |
true |
Automatically copy direct hosted URL to clipboard after upload |
media2url.defaultInsertFormat |
smart |
Default insertion format (smart, direct, markdown, html, css) |
media2url.confirmReferenceReplacement |
true |
Prompt for confirmation before replacing selected local path references |
media2url.showRecentLinks |
true |
Display recently uploaded links in the Media2URL sidebar |
media2url.maxRecentLinks |
50 |
Maximum number of recent uploads tracked locally |
media2url.apiUrl |
https://media2url.com |
Base Media2URL service origin (default: production) |
Privacy
- User-Initiated Action Only: Media2URL only reads files that you explicitly choose to upload.
- No Workspace Crawling: The extension does not crawl, index, or scan your workspace folders.
- No Source Code Uploads: Your source code is never uploaded or analyzed.
- No Save Hooks: The extension does not upload files automatically on save.
- Credential Protection: Authentication tokens are stored exclusively in VS Code
SecretStorage.
- Read the full Media2URL Privacy Policy.
Security
- PKCE Authentication: Account connection uses RFC 7636 Proof Key for Code Exchange (PKCE) with secure browser redirects.
- Device-Specific Credentials: Every connected editor receives a dedicated, revocable integration key that can be disconnected anytime.
- Direct Storage Streaming: Files stream directly from your machine to cloud storage using temporary, short-lived presigned URLs.
- Server-Side Enforcement: Plan limits, MIME validation, and security policies are strictly enforced server-side.
Support & Resources