Drupal is a registered trademark of Dries Buytaert
cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! linkit 7.0.15 Minor update available for module linkit (7.0.15). views_data_export 8.x-1.10 Minor update available for module views_data_export (8.x-1.10).

domain_logo

No security coverage
View on drupal.org

Domain Logo automatically shows a company logo next to any email address field on your site. When a visitor types their work email, the logo for their company appears instantly. No page reload required. It works by extracting the domain from the email address and fetching the matching logo from a configurable logo provider (logo.dev by default). Everything happens in the browser; no server-side requests are made to the logo provider.

Features

  • Live preview widget: attach a logo preview to any email field on entity edit forms (nodes, users, custom entities). The logo appears as the user types and updates automatically.
  • Field formatter: display the stored email address alongside its company logo on content pages in three modes: inline (small logo next to the address), block (large logo in a block), or JS-only (no visible output, but fires a JavaScript event for custom integrations).
  • Admin settings & test area: configure your logo provider and API key from a single settings page. A built-in test input lets you verify your key before going live.
  • Webform integration: an optional submodule extends the standard Webform email element with a toggle to enable the logo preview, without needing a separate element type. Also, you can select, how the logo should be displayed
  • JavaScript event API: Every time a logo loads, the module fires an emailLogo:loaded DOM event with the domain and logo URL, so other scripts and the frontend can react.
  • Extensible provider system: Add your own logo provider as a Drupal plugin by implementing DomainLogoProviderInterface and annotating your class with @DomainLogoProvider.

Post-Installation

  1. Enable the module: drush en domain_logo -y && drush cr
  2. Go to Administration → Configuration → Web services → Domain Logo and enter your logo.dev public API key (starts with pk_). Use the built-in test input to confirm the key works.
  3. For the widget: go to Manage form display on any content type or user profile with an email field, and switch the widget to "Email with Domain Logo preview". Choose whether the logo should be visible or hidden (JS event only) in the widget settings.
  4. For the formatter: go to Manage display, switch the formatter to "Email with Domain Logo", and choose a display mode (inline, block, or JS-only) via the gear icon.
  5. For Webforms: enable the submodule (drush en domain_logo_webform -y), then edit any Webform email element and check "Show company logo preview" in the Domain Logo section.

Additional Requirements

  • Drupal 10 or 11
  • PHP 8.1 or higher
  • A free API key from logo.dev

The optional domain_logo_webform submodule additionally requires:

  • Webform — enables the domain_logo_webform submodule for logo previews inside Webform email elements.

Similar projects

  • Company Logo focuses on storing and displaying manually uploaded company logos tied to taxonomy terms or nodes, rather than resolving them automatically from an email domain.
  • Gravatar resolves user avatars from email addresses via Gravatar, but targets person/user avatars rather than company/organisation logos. ← Users need to actively use and have a gravatar account, so their image would be available for others to fetch

Domain Logo is specifically designed for B2B contexts where you want to enrich email fields with the logo of the company behind the address, purely client-side and with no stored assets.

Supporting this Module

This module is developed and maintained by acolono.com. If you find it useful, consider contributing bug reports, patches, or feature requests via the issue queue.

This Module was heavily vibe coded <✨> by @Grienauer, as an experiment, how far a site builder will come in developing a module idea from scratch.

Activity

Total releases
1
First release
May 2026
Latest release
23 hours ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.0.x-dev Dev May 26, 2026