Search documentation

Search docs pages and sections

  • Docs home
Figma Kit
  • Getting started
  • Styles
  • Variables
  • Typeset
  • Theming
  • Components
  • Icons
  • Development
  • Updates
Registry
  • Pro Blocks
  • Templates
  • Themes
Plugin
  • Introduction
  • Generate code
  • Manage variables
  • Typeset
  • Select and install Pro Blocks
  • Security
Agent Skills
  • Agent Skills
DS Manager
  • DS Manager
  • Quickstart
  • Interface tour
  • Styles and icons
  • Colors and tokens
  • Typography
  • Radius, spacing and shadow
  • Brand
  • Editing components
  • Variants and states
  • Breakpoints
  • Custom components
  • ProBlocks
  • Design agent
  • Lint locks
  • Publish and install
  • Share links and forks
  • Plans and limits
Licensing
  • Licensing agreement
  1. Documentation
  2. Brand

Menu

HomePreviewPricingRoadmapHelp & Contact

Products

shadcn Componentsshadcn BlocksAgent SkillsDS ManagerNewFigma Pluginshadcn Templates

Resources

shadcn ThemesTheme GeneratorDocsAcademyBlogIcons

Legal

Licensing AgreementTerms & ConditionsPrivacy PolicyCookies

Components

AccordionAlertAlert DialogAspect RatioAttachmentAvatarBadgeBreadcrumbBubbleButtonButton GroupCalendarCardCarouselChartCheckboxCollapsibleComboboxCommandContext MenuData TableDate PickerDialogDrawerDropdown MenuEmptyFieldFormHover CardIcons - HugeIconsIcons - Lucide IconsIcons - Phosphor IconsIcons - Remix IconIcons - Tabler IconsInputInput GroupInput OTPItemKbdLabelMenubarMessageMessage ScrollerNavigation MenuPaginationPopoverProgressQuestionnaireRadio GroupResizableScroll-areaSelectSeparatorSheetSidebarSkeletonSliderSonnerSpinnerSwitchTableTabsTextareaToastToggleToggle GroupTooltipTypesetTypography

Landing Page Blocks

404 SectionsBannersBento GridsBlog SectionsCTA SectionsComparison SectionsContact SectionsEmpty LP SectionsFAQ SectionsFeature SectionsFootersGallery SectionsHeader SectionsHero SectionsLP NavbarsLanding Page ExamplesLogo SectionsPatternsPricing SectionsRich Text SectionsStats SectionsTeam SectionsTestimonials Sections

Application Blocks

App ShellsApplication ExamplesButtonsCardsDescription ListsEmpty SectionsNavbarsPage HeadersSection FootersSection HeadersSectionsSettingsSign inSign upTable Headers

E-commerce Blocks

CheckoutsExamplesIncentivesOrder Summary SectionsProduct Category SectionsProduct HeadersProduct List FiltersProduct List SectionsSale SectionsShopping CartsStore Navbars

This project is independent and not affiliated with Figma or shadcn/ui.
Copyright © 2026 Matt Wierzbicki

Brand

Upload your logo, mark and favicon as SVG files in DS Manager, see how they are sanitized, and where your brand name and logo appear in ProBlocks.

The Brand page holds three SVG slots: your logo, your mark and your favicon. They show on the canvas previews and in ProBlocks, and they publish with your system as files plus a ready-made Logo component.

Upload a logo

  1. Open Brand in the left nav.
  2. In a slot, click Choose SVG, or drop an SVG file onto the slot.
  3. DS Manager cleans the file and shows it on a light and a dark surface side by side.
  4. Optionally, rename the asset in the name field next to the button.
DS Manager Brand page with a logo, mark and favicon uploaded, each previewed on a light and a dark surface, and the brand assets shown in their slots and in a product header on the canvas

To swap a file, click Replace SVG. To clear a slot, click Remove logo, Remove mark or Remove favicon in its header. Remove all brand assets in the command menu clears all three. The page header counts how many of the three slots are filled.

The three slots

SlotWhat it is forInstalls to
LogoThe full lockup, mark plus wordmarkpublic/logo.svg
MarkThe square glyph on its own, for tight spacespublic/logo-mark.svg
FaviconThe browser-tab icon. Keep it legible at 16pxapp/icon.svg

You do not need all three. Where a preview asks for the logo and you only uploaded a mark, it draws the mark, and the other way round.

The canvas has two sections. Brand assets shows each slot as a card, uploaded or still empty. In context places them where you judge a logo: a product Header, a Sign in card and a Favicon in a browser tab.

Light and dark

There is no separate dark mode logo slot. Each slot previews your file on a light and a dark surface, and the canvas's light and dark toggle shows the whole page in either mode.

DS Manager inlines your SVG markup in the page, so CSS reaches inside it. A shape filled with currentColor takes the surrounding text color, which makes a one-color mark read on both light and dark backgrounds. The published Logo component inlines the same markup, so this works in your project too.

SVG rules and sanitizing

An SVG is a document that can carry scripts and links, and your logo ends up in other people's projects. DS Manager cleans every file before it is stored, using an allowlist of what a logo needs.

  • SVG only, up to 256 KB. A full lockup is usually a few KB.
  • The file must be valid XML with an <svg> root element.
  • Removed with everything inside them: <script>, <foreignObject>, <iframe>, embedded images (<image>) and animation elements.
  • Removed attributes: event handlers such as onload and onclick, and links to anything outside the file. Internal #fragment references stay.
  • Links (<a>) are unwrapped: the link goes, the artwork inside stays.
  • <style> blocks stay, as long as they do not load anything from outside the file. Logos exported from Illustrator and Figma keep their class-based colors.
  • Comments and processing instructions are removed.

After an upload, the slot lists what it took out under "Stripped on the way in:". If a file is rejected, the slot says why: it is empty, over the size limit, not valid SVG, has a root other than <svg>, or had nothing left to draw after cleaning. A too-large file usually means an embedded bitmap. Export the artwork again as plain SVG with outlines and paths.

Brand name

The Brand page has no name field. Your brand name is your system's name.

  • The canvas prints it on the Sign in card ("Sign in to Acme") and in the favicon tab's title.
  • ProBlocks footers print it in their copyright line. An installed footer has the name written in as plain text.
  • A system with no name, or still called "Untitled system", gets "Your company" instead.

To change it, open the system switcher in the top bar, choose Manage systems… and rename the system. Names can be up to 100 characters. Renaming does not move your registry address.

Your logo in ProBlocks

The ProBlocks that draw a logo (the navbars, the footers, and a few comparison and coming-soon blocks) use your uploaded logo, or the mark when that is all you uploaded. With nothing uploaded they draw a neutral placeholder. Logo clouds keep their generic placeholder logos, since those stand for your customers.

ProBlocks and Lint sit under Brand in the left nav. See ProBlocks and Lint locks.

What publishes

When you publish, each uploaded asset becomes a file at the path in the table above, and DS Manager generates components/logo.tsx. It exports a Logo component, plus LogoMark when your mark is a different file. The component is regenerated on every publish, so edit the asset in DS Manager, not the file.

The favicon targets app/icon.svg, which the Next.js App Router serves as the site icon with no extra setup. In a project that uses a src/ directory, it still lands in app/icon.svg at the project root, so move it to src/app/icon.svg.