How to change default logo of magento admin panel
There is no setting to change Magento's backend logo. If you want, you can change it by replacing at:
<magento_root>/pub/static/adminhtml/Magento/backend/en_US/images/magento-logo.svg
Note: Where <magento_root>
is the path of your Magento installation.
Update: As @matinict said, above solution is not a permanent solution. So below is the correct approach.
First, you need to create a custom admin theme and then change the logo.
Steps are listed below:
- app/code/[VendorName]/[ModuleName]/registration.php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'[VendorName]_[ModuleName]',
__DIR__
);
- app/code/[VendorName]/[ModuleName]/etc/module.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="[VendorName]_[ModuleName]" setup_version="1.0.0">
<sequence>
<module name="Magento_Theme"/>
</sequence>
</module>
</config>
- app/code/[VendorName]/[ModuleName]/etc/di.xml
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Theme\Model\View\Design">
<arguments>
<argument name="themes" xsi:type="array">
<item name="adminhtml" xsi:type="string">[VendorName]/[themename]</item>
</argument>
</arguments>
</type>
</config>
- app/design/adminhtml/[VendorName]/[themename]/registration.php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME,
'adminhtml/[VendorName]/[themename]',
__DIR__
);
- app/design/adminhtml/[VendorName]/[themename]/theme.xml
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>Theme Title</title>
<parent>Magento/backend</parent>
</theme>
- app/design/adminhtml/[VendorName]/[themename]/Magento_Backend/layout/admin_login.xml
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-login" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<update handle="styles" />
<body>
<referenceBlock name="logo">
<arguments>
<argument name="logo_image_src" xsi:type="string">images/login-logo.svg</argument>
</arguments>
</referenceBlock>
</body>
</page>
Upload
app/design/adminhtml/[VendorName]/[themename]/web/images/login-logo.svg
app/design/adminhtml/[VendorName]/[themename]/Magento_Backend/layout/default.xml
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="header">
<referenceBlock name="logo">
<arguments>
<argument name="logo_img_width" xsi:type="number">300</argument>
<argument name="logo_img_height" xsi:type="number">300</argument>
<argument name="show_part" xsi:type="string">logo</argument>
<argument name="edition" translate="true" xsi:type="string">Community Edition</argument>
<argument name="logo_image_src" xsi:type="string">images/menu-logo.svg</argument>
</arguments>
</referenceBlock>
</referenceContainer>
</body>
</page>
Upload
app/design/adminhtml/[VendorName]/[themename]/web/images/menu-logo.svg
Magento CLI
php bin/magento setup:upgrade
php bin/magento setup:di:compile
Note: You can change the names of logo files in the configuration file if you want to use PNG files instead of SVG for the logo.
Note: Reference taken from Magento admin logo change!
Logo is coming up from magento2-base/setup/pub/images/magento-logo.svg .
in magento 2, changing logo in pub/static folder is not an appropriate option, to change Admin Section logo you need to create an admin theme :
Step 1 : create your theme folder: app/design/adminhtml/[Vendorname]/[Theme-name]/
Step 2 : create theme registration.php and theme.xml files within [Theme-name] folder.
content for registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::THEME,
'adminhtml/[Vendorname]/[Theme-name]',
__DIR__
);
content for theme.xml
<theme xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/theme.xsd">
<title>My Admin Theme</title>
<parent>Magento/backend</parent>
</theme>
Step 3 : Create folder Magento-Theme and layout: app/design/adminhtml/[Vendorname]/[Theme-name]/Magento_Theme/layout/
Step 4 : create default.xml with code below :
<?xml version="1.0"?>
<!--
/**
* Copyright © 2013-2017 Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="admin-1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<head>
<title>Admin Title</title>
</head>
<body>
<referenceContainer name="header">
<block class="Magento\Backend\Block\Page\Header" name="logo" before="-">
<arguments>
<argument name="show_part" xsi:type="string">logo</argument>
<argument name="edition" translate="true" xsi:type="string">Community Edition</argument>
<argument name="logo_image_src" xsi:type="string">images/my-logo.svg</argument>
<argument name="logo_alt" xsi:type="string">My Admin Panel</argument>
</arguments>
</block>
</referenceContainer>
</body>
Step 5 : upload your logo (my-logo.svg) in web/images folder:
upload path: app/design/adminhtml/[Vendorname]/[Theme-name]/web/images/
That's it.. Now upload your theme and run and clear cache "Flush Cache Storage"
Hope this will help !