SVG files are handled with awareness of embedded script risks. Suitable for admin uploads from trusted sources; review your use-case for public storefronts.
Modern Image Formats Extension for Magento 2 (SVG, WebP, AVIF) – ArrowTwist
Modern Image Formats for Magento 2 allows you to upload and use SVG, WebP, and AVIF images across your store. Improve performance, reduce image size, and manage everything easily with full admin configuration—no coding required.
-
Support for SVG, WebP & AVIF formats
-
Admin enable/disable configuration
-
Works with Category, CMS & Theme images
-
WYSIWYG editor support
-
Performance optimization (smaller images)
-
No core file modification
-
Open-source (MIT license)
-
Magento 2.4.x compatible
-
Clean and scalable architecture
-
Multi-store configuration support
In stock
License Price — One-Time Payment
Lifetime updates · No subscriptions
Overview
Everything You Need
for Modern Image Support
A complete image format extension — unlock SVG, WebP, and AVIF uploads across all key Magento upload areas with full admin configuration control.


Theme Asset Support
Upload SVG logos, SVG favicons, and email logos through the Design Configuration panel. Perfect for crisp, resolution-independent branding.


Full Admin Configuration
Granular on/off toggles per format (SVG, WebP, AVIF) and per feature area. Instantly disable a format without code changes — just save config and flush cache.


Security Aware


Product Image Uploads
Upload SVG, WebP, and AVIF directly to the product gallery. SVG maintains infinite scalability; WebP and AVIF are processed through Magento's GD2 adapter.


Category Image Uploads
Modern formats now accepted in category images and thumbnails. Reduce file sizes dramatically with WebP or AVIF over legacy JPEG/PNG formats.


WYSIWYG Editor Support
Insert SVG, WebP, and AVIF images directly into CMS pages, blocks, product descriptions, and category descriptions via the WYSIWYG editor.


Free Forever
No subscriptions, no expiring keys, no vendor lock-in. Use in unlimited commercial projects. Fork it, contribute, or extend it to suit your needs.


Clean, Zero-Dependency Code
PSR-12 compliant, strictly typed, fully PHPDoc'd. No extra packages required. Designed for long-term maintainability and easy extension by your dev team.


Performance-Aware Design
SVG files are copied instantly (no image processing). WebP and AVIF use the native GD2 adapter. Cache warming handled on first upload.
Feature 01
Order Deletion
Permanently remove orders and every piece of related data from your database — individually or in bulk.
Complete data cleanup,
zero orphaned records
When an order is deleted, the extension removes every associated record automatically — across 11+ related tables. No orphaned data, no broken references, no manual cleanup needed.
- Delete a single order from the order view page with one click
- Mass-delete multiple orders from the orders grid in one action
- Configurable confirmation dialog prevents accidental deletion
- Customisable delete button label to match your workflow
- Shows detailed success/error counts after bulk operations
- Optional maximum delete limit prevents runaway bulk actions
- Delete by filters — date range, status, store view, order total
- Import CSV with order IDs for programmatic bulk deletion
Feature 02
Order Archiving
Move old orders out of the main grid while keeping every data point intact — with the ability to restore them at any time.
Clean grid, preserved data,
instant restore
Archiving gives you the best of both worlds — a lean, fast-loading orders grid for day-to-day operations, while all historical order data remains safely stored and fully searchable in the Archive grid.
- Archive single orders from the order view page
- Mass archive multiple orders from the orders grid
- Dedicated Archived Orders grid under the Sales menu
- Filter archived orders by order #, date range, status, customer
- Export the full archive to CSV for reporting
- Restore any archived order back to the main grid instantly
- Permanently delete from archive when no longer needed
- Archive reason field captures why each order was archived
Feature 03
Soft Delete / Trash
A safety net before permanent deletion — orders go to Trash first, recoverable within the configured window.
Delete with confidence,
recover when needed
When Soft Delete is enabled, clicking "Delete Order" moves the order to Trash instead of permanently removing it. Orders remain recoverable until the retention period expires or an admin empties it manually.
- Configurable trash retention period (default: 30 days)
- Dedicated Trash grid under Sales menu
- Restore individual orders back to the main grid from trash
- Permanently delete individual orders directly from trash
- Empty Trash button removes all expired items at once
- Auto-empty via daily cron when retention period expires
- All trash actions fully logged in the activity trail
- ACL-controlled: separate permissions for trash view, restore, empty
Feature 04
Order Protection
A multi-layered protection system to prevent accidental deletion of orders that matter most.
Multiple protection layers,
one consistent shield
Define which orders are off-limits for deletion — by status, age, value, or individual ID — and optionally lock them manually. Protection rules are enforced consistently in the UI, REST API, GraphQL, and CLI.
- Protect by order status — e.g. block deletion of "processing" orders
- Protect by age — prevent deletion of orders newer than N days
- Protect by order total — safeguard high-value orders above a threshold
- Whitelist specific order IDs that can never be deleted
- Manual protect/unprotect button directly on the order view page
- Protected orders bypass restrictions with ACL override permission
- All protect/unprotect actions logged with admin and timestamp
Feature 05
Cron-Based Automation Engine
Five background jobs run on configurable schedules to keep your store clean — entirely hands-free.


Auto Archive
Automatically archives orders older than the configured threshold, by status and date


Auto Delete
Permanently deletes orders matching age and status criteria. Dry-run mode available for safe preview


Empty Trash


Clean Logs


Clean Backups
Rotates backup JSON files, removing those older than backup retention days


Flexible Scheduling


Dry Run Mode


Manual CLI Trigger
Feature 06
Security Controls & Permissions
Granular role-based access control plus multiple confirmation layers to prevent unauthorized or accidental bulk operations.
Granular permissions,
layered confirmation
The extension ships with a full ACL permission tree — 13+ individual resource nodes — so you can assign precise capabilities per admin role. Security settings add friction to destructive operations.
- 13+ ACL resource nodes across delete, archive, trash, logs, config
- Separate permissions for single delete vs. bulk delete vs. delete-all
- Optional password confirmation before every delete or archive action
- Two-step confirmation modal for bulk operations
- Configurable max delete limit per operation (default: 100)
- Protection override permission for privileged administrators only
- All permissions enforced equally in admin UI, REST API, and GraphQL
Feature 07
Activity Logging, Audit Trail & Auto Backup
Every action is recorded with full context. Every deletion is preceded by a complete JSON backup snapshot.
Complete accountability
for every action
The activity log captures every delete, archive, restore, protect, and unprotect operation with rich contextual data — enabling post-event review, compliance audits, and dispute resolution.
- Logs: delete, archive, restore, protect, unprotect, trash, restore-from-trash
- Records admin username and user ID for every action
- Optionally captures admin IP address per action
- Stores user agent, referer URL, and operation source
- Configurable retention period (default: 365 days)
- Dedicated Activity Logs grid with full filtering & CSV export
- Filter by action type, order number, admin user, date range
- Automatic log cleanup via cron when retention expires
Feature 08
REST API, GraphQL & CLI
Full programmatic access — integrate with ERPs, automate via scripts, or build custom workflows around the extension.


REST API — 14+ Endpoints


GraphQL — Queries & Mutations


CLI Commands
Feature 09
Delete by Filters & Import for Deletion
Two powerful bulk-operation tools for processing large volumes of orders without selecting them one by one.


Delete by Filters
- Filter by order date range (from / to)
- Filter by one or more order statuses
- Filter by store view
- Filter by grand total range (min / max)
- Filter by customer email (partial match)
- Preview matching order count before executing
- Sample table shows first 10 matching orders
- Execute button disabled when zero orders match
- Choose Delete (to Trash) or Archive action
- Option to automatically skip protected orders


Import for Deletion
- Accepts CSV files with various header formats:
increment_id,order_id,order # - Additional columns in the CSV are safely ignored
- Duplicate IDs in the file are processed only once
- Leading/trailing whitespace in IDs trimmed automatically
- Choose Delete or Archive action for all uploaded IDs
- Skip Protected option to avoid errors on protected orders
- Results summary: total, success, not found, protected, errors
- All import actions logged with "Import for Deletion" source tag
Feature 10
Email Notifications
Keep designated administrators informed whenever orders are deleted or archived — with configurable recipients, custom templates, and error alerts.


Operation Alerts


Multiple Recipients


Error Notifications


Custom Email Template
Select from Magento's standard transactional email templates or create a fully custom one with your own branding and content via the Magento Email Templates system.


Optional / Disabled by Default


Works with Cron Automation
Customer Reviews