Full and Half Ratings
Any scale from 1 to 10 icons, with half values when a whole point is too coarse for what you are measuring.
Newed UI - Component Library
NWD Star Rating (Full/Half/Labels) is the rating input Bubble was always missing. Built as a native-like input, it brings full or half ratings, hover preview, labels for each rating, and click animations together in one polished component. Fully customizable through 20+ properties, giving you complete control over every visual and behavioral detail.
No data collected This plugin does not collect user data.
Any scale from 1 to 10 icons, with half values when a whole point is too coarse for what you are measuring.
Give each rating its own wording, shown next to the icons and exposed to your workflows alongside the number.
Star, heart, circle or thumb up, outlined or solid when empty, with independent colors for the empty, hovered and filled states.
Six animation styles on click, including bounce, elastic and pop, that respect the user's reduced motion setting.
Keyboard ready with Tab, the arrow keys, Home and End, announced as a slider with an accessible label and description, and reduced motion support.
Value changed event, Reset, Focus and Set value actions, and exposed states for the rating, its label, is clickable, is required, is valid and is focused.
Place the plugin element wherever you need it.
Adjust the settings to match your use case, including the maximum rating, half values, the icon and its colors, the value label, and the default value.
Use the value changed event to react to the user, and read the exposed states to use the rating or its label anywhere in your app.
The label uses Bubble's native font properties. The properties in this section control the icons themselves and their colors for each state.
Bubble's native font alignment moves the whole element, the control and its label together, not just the text. Turn on 'Stretch label to fill the line' and the label takes the rest of the line instead, pushing the control to the opposite edge, with the same native alignment positioning the text inside it. For anything beyond that, wrap the element in a group and align the group.
Number of icons (1 to 10).
default5
Lets the user pick half icons (3.5).
defaultno
Clicking the current rating again clears it.
defaultyes
Animation played on the icon when it is clicked.
nonebounceelasticjellypoppulsedefaultbounce
Icon used for the rating.
starheartcirclethumb updefaultstar
Size of each icon, in pixels.
default24
Space between icons, in pixels.
default4
Which label is shown next to the icons: none, the rating as a number (4.5 / 5), or the custom label for that value. With custom, a value that has no label in the list shows nothing.
nonenumbercustomdefaultnone
One label per value, from 1 up, separated by a comma or a line break (Terrible, Bad, OK, Good, Great). Used when the label type is custom. Accepts a dynamic expression, so the labels can come from data or from a translation.
defaultno default
optionalThe label fills the rest of the line, pushing it to the edge opposite the control, and the native font alignment then positions the text inside it. If disabled, the label hugs the control and the native font alignment moves the whole component instead.
defaultno
Empty icons as outlines, or as the solid icon in the empty color.
outlinesoliddefaultoutline
Color of the icons that are not selected.
default#D9D9D9
Color of the icons under the mouse before clicking.
default#FFD54F
Color of the selected icons.
default#FFC107
Rating applied on load and on reset.
defaultno default
optionalDisables the component, preventing any interaction.
defaultno
Opacity applied to the icons when disabled, from 0 to 1. The icons keep the colors of the current rating, so a filled rating still reads as filled. The value label is not affected and uses Input font color (disabled).
default0.5
Value label font color when disabled.
default#CACACA
Marks the field as required and enables input validation.
defaultno
Input border color when invalid (required with no value).
default#FF6666
Name read by screen readers. When empty, uses the placeholder or the visible label.
defaultno default
optionalHint read by screen readers after the name. Empty for none.
defaultno default
optionalValues the element exposes for the rest of the page to read.
Selected rating. Empty when not rated.
Label of the selected rating, from Value labels. Empty when there is no label.
True when the component is not disabled.
True when the input is marked as required.
True when the field is not required, or when it is required and rated.
True while the element has keyboard focus. Tab in sets it, and Tab out or a click outside clears it.
Where a workflow can start.
Triggered when a different rating is picked, cleared, or reset.
What a workflow can tell the element to do.
The actions can be triggered from any workflow event. The plugin also responds to Bubble's native reset actions (Reset a group/popup).
Restores the default rating, or clears it.
Focuses the rating.
Sets the rating from a workflow.
New rating. Values outside the range or off the step are adjusted, and 0 clears the rating.
defaultno default
Bubble has no rating input. Building one means a repeating group of icons, a custom state and a workflow per icon, and half values are close to impossible. This plugin is a single element that handles the hover preview, the half steps and the keyboard for you.
Yes, when click again to clear is on. Clicking the current rating a second time clears it, and pressing Home does the same from the keyboard, so no extra button is needed.
No. Place the element on the page, configure the properties in the editor, and connect it to your workflows. All properties have descriptions and sensible defaults, so you can get started quickly without deep technical knowledge.
Yes. The plugin exposes a Focus action and a Reset action, and it also responds to Bubble's native reset actions (Reset a group/popup). Both are ignored while the input is disabled.
Yes. The visual properties support Bubble's predefined styles, so the icon, its size and gap, the colors of each state and the animation can be saved once and reused on every rating in the app.