How to Enable SVG Image Uploads for Products in Magento 2.2.3

Are you looking to allow SVG image uploads for products in Magento 2.2.3?

This capability can offer flexibility and aesthetic appeal to your product listings.

However, by default, Magento 2.2.3 doesn't support SVG image uploads due to potential security risks.

Understanding SVG Images and Security

SVG (Scalable Vector Graphics) files are XML-based vector image formats.

While SVG images offer scalability and a small file size, they can also contain scripting elements, which pose a potential security threat when rendered in a web context.

By default, Magento 2.2.3 prevents the upload of SVG images to mitigate the risk of cross-site scripting (XSS) and other security vulnerabilities.

Modifying Magento Configuration

To enable SVG image uploads for products in Magento 2.2.3, you can make these adjustments:

1. Backup Files

Before making any changes, ensure to backup the relevant files and the Magento database.

2. Whitelist SVG MIME Types

Modify the file app/etc/mime.types to allow SVG MIME types.


image/svg+xml svg

3. Update File Validation

In the file vendor/magento/framework/File/Uploader.php, extend the list of allowed image types to include SVG.

Here's an example modification in the validateFile() method:


$allowedMimeTypes = ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/svg+xml'];

Remember to include suitable backend and frontend validation to prevent security vulnerabilities.

4. Clear Cache

After making changes, clear the Magento cache and recompile your codebase to ensure the changes take effect.

Additional Considerations

It's crucial to assess the potential security risks of allowing SVG image uploads.

Always implement proper input validation, output encoding, and other security measures to mitigate any associated threats.

By following these steps, you can potentially enable SVG image uploads for products in Magento 2.2.3.

However, proceed with caution and prioritize the security of your Magento store.