MARKETPLACE
PLUGINS
DYNAMIC BUTTON + DYNAMIC ICON
Dynamic Button + Dynamic Icon logo

Dynamic Button + Dynamic Icon

Published August 2025
   •    Updated this week

Plugin details

Add truly dynamic icons to your Bubble app and keep them consistent, without any bloat. This lightweight plugin gives you two fundamental UI elements – a Dynamic Icon and a Dynamic Button – to build icon-driven interfaces that react to your data. Bind icons to dynamic expressions (from your database or Option sets) instead of static choices, and ensure a uniform style across 4 popular icon libraries (Material Symbols, Material Icons, Phosphor, and Lucide). It’s simple to set up, efficient even on large pages, and even supports rotation.

What elements do you get:
  • ⭐ Dynamic – Button – A drop-in replacement for Bubble’s button, with built-in icon support. You can place an icon on the left/right of the text(over/under), or even use an icon-only button. Choose an icon from the libraries or bind it dynamically (e.g., “Current User’s role’s icon” or any condition). All properties can be controlled via dynamic expressions or conditions – icon, label, colors, etc. This element eliminates the need for extra conditions to swap out icons; the icon will update automatically when the underlying data changes.
  • 💡 Dynamic – Icon – A visual element to display any icon on your page, using any of the four libraries. Use it anywhere you need an icon: inside repeating groups, headers, buttons, or status displays. Set its icon by picking from a list or by using a dynamic value (like an option set field or thing’s field that stores an icon name/reference). You can easily adjust the icon’s size, color, and style (e.g., switch between filled or two-tone versions) through the element’s properties. The Dynamic Icon element ensures your icons are rendered sharply as SVGs and stay in sync with your data without extra workflows.


Key benefits:
  • Dynamic by design: These elements are built to work with dynamic data. No more static, hard-coded icons – you can tie icon choices to your database or option sets so they automatically update as your data changes.
  • Unified look and feel: Maintain a consistent style for icons across your entire app. You can use a shared set of sizing and styling options so that whether an icon comes from Material or Phosphor, it matches the same theme (for example, all your icons can have the same color or stroke weight to fit your design).
  • Fewer workflows & conditions: Simplify your app logic. Instead of creating multiple conditional states or extra workflow actions to swap an icon (say, changing a button’s icon when a user likes something), just bind the icon property to the dynamic value. This reduces the need for complex conditionals and makes your editor cleaner.
  • Lightweight and fast: The plugin is optimized for performance. You can safely use lots of dynamic icons, even in long repeating lists or heavy pages, without worrying about lag. Under the hood, it efficiently loads the needed icons from the library, so your pages stay fast.
  • Engaging motion effects: Bring life to your UI with animated icons. You can add smooth rotations or set fixed angles to highlight status, draw attention, or signal ongoing activity without extra workflows.
  • Always current icons: The plugin includes automatic updates to the icon libraries. As new icons are released in Material, Phosphor, Lucide, or Material Symbols, the plugin will update – you get access to the latest icons without doing anything. No need to manually import or update the plugin.


Typical uses:
  • Action buttons with context-aware icons: e.g., a “favorite” button that shows a filled star ⭐ when an item is favorited and an outline star ☆ when not, using a single Dynamic Button whose icon source is a condition or user data.
  • State indicators that reflect data: For example, next to a filename, you show an icon that matches the file type (PDF, image, video, etc.), or next to a user, you show an icon for their role or status. Store the icon name in your data and bind it to a Dynamic Icon element to display automatically.
  • Repeating groups or menus with uniform icons: Use Dynamic Icon inside a repeating group to display an icon for each item (like a list of categories with their icons, or a feature list). All icons will share the same styling and load quickly, which keeps your UI consistent and professional without extra effort.
  • Progress and loading states: Keep users engaged and informed during waits by showing smooth, customizable loading animations with icons.


Live demo:
👉 Open the demo for Dynamic Button + Dynamic Icon to see these elements in action. The demo showcases buttons and icons changing based on different conditions and data, illustrating how easy it is to implement dynamic icons in your app.

Editor:
🛠️ Check how to use all available properties and states.

Related plugins:

  • All-in-One (Icon Picker + More) – Need a user-facing icon picker or a larger icon toolkit? Check out the pro version: Dynamic Icon Picker + Icons Renderer (All in One). It includes everything in this plugin plus an Icon Picker element and Icon Palette for in-app icon selection (ideal if you want users to choose icons).
  • Dynamic Icons Renderer (Free) – Just want to display some icons dynamically and nothing else? Try the free version: Dynamic Icons Renderer (Free Bundle). It allows you to render icons from the same libraries at no cost (with a more basic feature set).

$15

One time  •  Or  $3/mo

5.0 stars   •   6 ratings
942 installs  
This plugin does not collect or track your personal data.

Platform

Web

Contributor details

SyncBubble Ltd. logo
SyncBubble Ltd.
Joined 2021   •   8 Plugins
View contributor profile

Instructions

  1. Install Plugin
  2. Open the desired page or reusable
  3. Add one of the following elements:
  • Dynamic – Button 🖱️ A powerful button element with built-in dynamic icon rendering. Easily bind icons using dynamic expressions tied to data, user input, or app logic – no static configuration needed.
  • Dynamic – Icon 🧱 A single unified element combining all four libraries. Ideal for fast development, consistent styling, and runtime switching between icon sets(7000+ icons).
For detailed guides and documentation, open the Demo page and click the “How to build” button in the top-right corner of each element.

Types

This plugin can be found under the following types:
Element   •   Event

Categories

This plugin can be found under the following categories:
Mobile   •   Data (things)   •   Containers   •   Image   •   Media   •   Visual Elements

Resources

Support contact
Documentation
Tutorial

Rating and reviews

Average rating (5.0)

solid 5 stars!
September 20th, 2025
Thanks for the 5 stars! (plugin author)
September 26th, 2025
  •  
SyncBubble Ltd.
Great icon button!
September 17th, 2025
Appreciate it! The Dynamic Button was designed to feel like a natural upgrade to Bubble’s default button! (plugin author)
September 26th, 2025
  •  
SyncBubble Ltd.
Icon Button is flawless
September 16th, 2025
I ask only to add support of Line Spacing if button text is multiline.
Thank you for the kind words and the suggestion! I’ll add Line Spacing to the roadmap so the button feels even more polished. (plugin author)
September 26th, 2025
  •  
SyncBubble Ltd.
Omg, it should be instead of default button
September 15th, 2025
Response, interactivity, features - slick!
Thanks for the awesome feedback! (plugin author)
September 26th, 2025
  •  
SyncBubble Ltd.
Great button!
September 15th, 2025
must have for feature rich page development
Really appreciate this! My goal was to make building feature-rich UIs easier without adding complexity. (plugin author)
September 26th, 2025
  •  
SyncBubble Ltd.
Bubble