Skip to content

[EuiHeaderLogo] Change the graphic to include text #8904

@weronikaolejniczak

Description

@weronikaolejniczak

Problem Statement

The EuiHeaderLogo component currently defaults to rendering “Elastic” as plain text via children. However, according to brand identity guidelines, it should render unified logo (icon + text), not plain text.

Proposed Solution

Update EuiHeaderLogo to support:

  • A new prop, e.g. logoType, which accepts 'full' (icon + text combined SVG) or 'icon'
  • Default to 'icon' so consumers don’t have to override
  • Drop reliance on children for default, and render the unified Elastic logo by default in EuiHeader documentation
  • Apply the change to the documentation website

Use Case

Kibana renders a full Elastic logo:

Image

but EuiHeaderLogo passes plain text through children:

Image

Switching to a single, official logo reduces hacks and ensures consistency.

Value / Impact

  • Aligns with Elastic brand guidelines
  • Avoids consumers implementing hacks (e.g. replacing children manually)
  • Simplifies future brand updates - one centralized logo asset
  • Broad impact: applies across all EUI consumers (Kibana, Cloud, Enterprise Search, etc.)

Urgency

Moderately urgent. This isn’t blocking, but enables clean upgrade paths and avoids scattered hacks.

Do alternatives or workarounds exist?

Yes - both Kibana and Cloud currently override via children or CSS hacks. These are fragile and inconsistent, not ideal long-term.

Related code or customizations

Additional context

Specs

Mockup of prop usage:

<EuiHeaderLogo logoType="full" href="/" />

Next Steps

  • EUI team: review and decide on prop / API blueprint, add support for unified icon default, update docs
  • Consumers (Kibana / Cloud): remove custom overrides and switch to props once released, simplifying code

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions