Languages: ๐บ๐ธ English | ๐ฏ๐ต ๆฅๆฌ่ช
A fast, efficient image conversion plugin for Obsidian that converts images to WebP format using WebAssembly (WASM). This plugin works on both desktop and mobile platforms, with built-in WASM bundles for offline functionality.
- WebAssembly Technology: High-performance image processing
- Multiple Format Support: JPG, PNG, GIF, BMP, TIFF โ WebP
- Cross-Platform: Conversion functionality works on both desktop and mobile
- Drag & Drop Auto-Conversion: Automatically convert images by simply dropping them into the editor
- Paste Auto-Conversion: Automatically convert images pasted with Ctrl+V
- Preset Selection: Pre-select presets for use during auto-conversion
- Preset Management: Save and switch between multiple conversion settings
- Quality Adjustment: Set compression quality from 0.1 to 1.0
- Auto-Resize: Automatically downsize large images to specified dimensions
- Grayscale Conversion: Convert color images to black and white
- Save Location: Configure destination folder for converted images
- Modal UI: Convert with detailed settings configuration
- Clipboard Support: Paste images directly
- File Size Prediction: Preview file size before conversion
- Visit the Releases page
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder
obsidian-wasm-imagein your vault's.obsidian/plugins/directory - Move the downloaded files into that folder
- Reload Obsidian
- Install BRAT plugin
- Open BRAT settings
- Click "Add Beta plugin"
- Add this repository:
https://github.com/KawaNae/Obsidian-wasm-image-converter - BRAT will automatically download and install the plugin
- Enable "Auto-convert on drag & drop" in Settings โ Community plugins โ WASM Image Converter
- Select your desired preset for auto-conversion in "Auto-convert preset"
- Drag & drop image files into the editor or paste images with Ctrl+V

We recommend using Obsidian Commander to place the "WASM Image Converter: Convert Image" command in your preferred location.
- Open the command palette (
Ctrl+PorCmd+P) - Search for and execute "WASM Image Converter: Convert Image"
- Drag & drop images into the panel or click "Paste from Clipboard" to load from clipboard
- Configure conversion parameters
- Click "Convert & Insert" to convert and insert

- Auto-read clipboard on startup: Automatically check clipboard on startup
- Auto-convert on drag & drop: Enable auto-conversion for drag & drop
- Auto-convert preset: Preset to use for auto-conversion
Configure the following for each preset:
- Converter: Conversion engine (currently WASM WebP only)
- Attachment folder: Destination folder
- Quality: Compression quality (0.1 - 1.0)
- Grayscale: Grayscale conversion
- Resize: Auto-resize functionality
- Maximum width/height: Maximum size for resizing
- Default: Standard settings (Quality: 0.8, Resize: 1920x1080)
- Click "Make Preset" in the settings screen
- Enter preset name and various settings
- After saving, selectable in auto-conversion and modal
- Edit: Click the "Edit" button for each preset
- Delete: Click the "Delete" button (Default preset cannot be deleted)
- File Size: 25-35% smaller than JPEG with similar quality
- Superior Compression: Excellent lossless and lossy compression technology
- Modern Format: Supported by all major browsers and applications
- Vault Optimization: Reduces overall vault size
- Desktop: Windows, macOS, Linux (full feature support)
- Mobile: iOS, Android (manual conversion only, auto-conversion not supported)
Input Formats: JPG, JPEG, PNG, GIF, BMP, TIFF
Output Format: WebP
npm install
npm run buildsrc/
โโโ main.ts # Main plugin class
โโโ settings.ts # Settings interface and defaults
โโโ settings-tab.ts # Settings UI component
โโโ image-converter-modal.ts # Main UI modal
โโโ file-service.ts # File operations
โโโ converters/
โ โโโ webp-converter.ts # WebP conversion logic
โ โโโ grayscale.ts # Grayscale conversion
โโโ prediction/
โโโ size-predictor.ts # File size prediction service
โโโ webp-predictor.ts # WebP-specific prediction logic
- WebAssembly: High-speed WebP encoding using
@jsquash/webp - TypeScript: Type-safe implementation
- Modular Design: Architecture focused on maintainability
- Cross-Platform: Desktop and mobile support
-
Auto-conversion not working
- Check that "Auto-convert on drag & drop" is enabled in settings
- Auto-conversion is not supported on mobile (please use manual conversion)
-
Conversion fails
- Verify the image file is in a supported format (JPG, PNG, GIF, BMP, TIFF)
- If file size is too large, check resize settings
-
Preset not found
- Verify the "Default" preset exists
- Create a new preset if you've deleted existing ones
MIT License
Issues and pull requests are welcome! Please help us improve this plugin.
Note: This plugin uses WebAssembly for optimal performance. Initial loading may take a moment as the WASM module initializes.