Skip to main content
Brand is shared by the current panel’s users. It is independent of appearance presets and is excluded from preference reset and JSON transfer.

Full and compact logos

Upload SVG, PNG, JPEG or WebP, up to 2 MB. A full logo preserves its aspect ratio. Compact marks use the square crop workflow and are processed separately; the full wordmark is not squeezed into the collapsed-sidebar slot. Choose light and dark variants with sufficient contrast for their surfaces. Without an uploaded full logo, native PHP branding remains available; when no full logo exists, the theme supplies its default wordmark. Uploaded compact branding takes precedence over collapsedBrandLogo(). The dark compact mark falls back to the normal compact mark when omitted.
The Blade view should render trusted application artwork, not user-supplied HTML. Use native Panel::brandLogo() and darkModeBrandLogo() for application-owned full artwork, and omit uploaded replacements when those should stay in control.

Favicon

The favicon uploader accepts PNG, JPEG and WebP up to 2 MB, with source dimensions of at least 500 × 500 and at most 4096 × 4096 pixels. It generates PNG sizes 16, 32, 64, 180, 192 and 512 pixels and associated browser/mobile metadata. SVG is supported for logos, not for this favicon workflow.

Save and persistence

Configure Laravel’s public disk and php artisan storage:link as appropriate for your deployment. Save after uploading or replacing branding. Paths are validated against the current panel and asset kind; another panel’s storage path cannot be reused as an uploaded asset handle. Do not invent logo_path or favicon_path values using arbitrary public URLs. The keys represent package-generated, panel-owned paths. Preference export deliberately omits these files and the workspace name. To reproduce a brand in another panel, upload that panel’s own assets or use native PHP branding. Removing/replacing saved branding cleans up superseded owned assets after a successful commit. Existing pending form uploads and branding are preserved by preference import/reset. Keep storage persistent across deployments.