Designing Buttons & CTAs (Calls to Action)

Let’s dive into one of the most important UI/UX components: Designing Buttons & CTAs (Calls to Action).
They drive user interaction — whether it’s signing up, buying, submitting, or navigating.


What Is a Button in UI/UX?

A button is a clickable interface element that triggers an action.
A CTA (Call to Action) is a type of button or element designed to persuade users to take a specific action — like “Buy Now”, “Sign Up”, or “Get Started”.


Button Design Basics

ElementRole
Label/TextClearly tells the user what will happen
ShapeRounded or rectangular to feel tappable/clickable
SizeMust be easily clickable (min. 44–48px height)
ColorShould stand out from the rest of the UI
IconOptional; helps reinforce action (e.g., ➕, 🔒)
Hover/ActiveIndicates interactivity with visual feedback

Types of Buttons

TypeWhen to Use
Primary ButtonMain action on a screen (e.g., “Submit”)
Secondary ButtonAlternative action (e.g., “Cancel”)
Tertiary ButtonLow-priority, usually text-only
Destructive ButtonTriggers a negative action (e.g., “Delete”)
Ghost ButtonTransparent or outlined (less emphasis)

Tip: There should only be one primary button per screen for clarity.


Button Sizes & Spacing

ElementBest Practice
Height44–48px minimum (touch-friendly)
WidthAt least as wide as label + padding
Padding12–16px left/right, 8–12px top/bottom
Font Size14–16px for body buttons, 18–24px for hero CTAs
Icon Padding8px gap between icon and label

Button Colors & Contrast


Button States (Feedback)

StatePurpose
DefaultNormal appearance
HoverIndicates clickable (slight color/lift)
PressedClicked/tapped state
DisabledUnavailable, usually greyed out
LoadingShows ongoing action (e.g., spinner)

Writing Effective CTA Text

Good CTA copy is clear, action-oriented, and user-focused.

BadBetter
Click hereGet Your Free Trial
SubmitCreate Account
BuyBuy Now – 30% Off!

Use verbs
Be specific
Focus on benefits, not actions


CTA Placement Tips


UX Tips for Buttons & CTAs


Button Design in Figma

  1. Use Auto Layout for responsive padding
  2. Create a button component with variants:
    • Default, Hover, Pressed, Disabled
  3. Add text styles and consistent spacing (8pt/4pt grid)
  4. Test in both light and dark mode

Example Buttons

Use CaseLabelStyle
Form submissionSubmit FormPrimary
NavigationBack to HomeSecondary
EcommerceAdd to CartPrimary + Icon
Exit/DismissCancelGhost/Tertiary
Destructive ActionDelete AccountRed, Destructive

Summary

ElementImportance
CTA TextMust be clear and actionable
ColorDrives attention and communicates priority
Size & SpacingImpacts usability and readability
Button StatesImproves feedback and clarity
PlacementImpacts conversion and visibility