Messages provide information about changes in a system or persistent conditions. Messaging applies to a range of components such as badges, banners, dialogs, flags, notification trays, section messages, and tooltips. Language used in these components is critical as they increase trust, reduce the likelihood of errors, and improve system performance.


For specific guidance on how to decide on the right component for your context, where to place it, and its level of disruption, visit Feedback and status.

Anatomy

A dialog with callout A indicating the optional title, callout B indicating the required message, and callout C indicating the required call to action.

A. Title (optional): Descriptive text previewing the purpose of an alert.
B. Message (required): Text elaborating on the nature of the message or providing important context.
C. Call to action (CTA) (required): Buttons or links enabling users to respond to alerts by taking relevant actions.

Best practices

  • Always use sentence case except for proper nouns or acronyms.
  • Use plain language and avoid abbreviations or jargon.
  • Be brief, descriptive, and direct.
  • Keep the information useful. Don’t disrupt the user’s experience unless necessary.

Titles

  • Limit titles to three to five descriptive words, using the description to provide additional details.
  • Avoid using unnecessary articles like “the” or “an”.
  • Don’t include punctuation.
  • Use descriptive language that indicates the purpose of the alert instead of terms like “warning” or “error”.

Messages

  • Provide details on the reason for the alert without being technical.
  • Use contextually relevant language to help users understand why the message is important.
  • Clearly outline the simplest way to fix the problem (if applicable) without sending them to another location for answers.

Calls to action

  • Give users the opportunity to edit, view, or in some cases undo their actions, especially if they’ve just created something or changed important settings.
  • Use clear, actionable language that is easy to understand without additional context or information.
  • Avoid using unnecessary articles like “the” or “an”.
  • Don’t include punctuation.
  • Avoid ableist verbs that focus on senses. For example, use “Play video” instead of “Watch video”.
  • Include a “dismiss”, “cancel”, or “close” button if the alert doesn’t include a close “x” in the top right corner.
  • Learn more about calls to action in Grammar and punctuation or by visiting Button.


A warning banner reading Are you sure you want to leave this page without saving? All changes will be lost. There are buttons to save changes and to leave page

Do Use clear verbs like “Save”, “Remove”, or “Create” when providing a choice.

A warning banner reading Are you sure you want to leave this page without saving? All changes will be lost. There are buttons to cancel and continue

Don't Use vague words like “Continue” or “OK” when providing choices, as it might be unclear what they mean.

Voice and tone

Voice and tone are key elements to creating alert messages that are helpful without placing blame on the user. The guidance below discusses voice and tone recommendations specific to messages. To learn about voice and tone recommendations in other use cases, visit Grammar and punctuation.

Active and passive voice

Using active or passive voice depends of the context and purpose of the message. As a general rule, active voice works better for providing clear, direct instructions, while passive voice is better for explaining errors or mistakes.


Use the active voice whenever possible. If the message sounds harsh, adjust to the passive voice to soften the message.


Learn more about active and passive voice in Grammar and punctuation.

Active voice examples

Use the active voice to communicate success, instructions, or neutral updates. This ensures it’s clear to the user what actions they must take or when they’ve completed a task successfully.

Example usage of active voice
Use Instead of
You have successfully logged in.The login has been successfully completed.
Your account is now active.Account has been activated successfully.
You have 3 unread messages.3 messages have been unread.
You can update your privacy preferences in Settings.Privacy preferences can be updated in Settings.

Passive voice examples

Use the passive voice to communicate errors and warnings. This helps avoid placing blame on users and softens negative updates. It’s also helpful when the cause of an error is unclear or nobody is at fault, such as network connection issues.

Example usage of passive voice
Use Instead of
Page not found.We can’t find this page.
Incorrect credentials. Please try again.You entered the credentials incorrectly.
Network connection error. Please try again.We lost connection. Please try again.
All required fields must be completed.You must complete the required fields.
A error banner titled Connection error Unable to establish connection. Wait a few minutes and try again.

Do Use passive voice to soften errors and prevent frustration.

A error banner titled Your connection is lost Something's wrong with your wifi. Check your connection and try again.

Don't Blame users for errors with words like “you” or “your”.

Tone

At Visa, our tone is flexible depending on the context. When writing alert messages, prioritize giving clear, efficient information to help users complete their goals quickly. The tone should be neutral, clear, and helpful.

  • Inform the user without causing alarm. Provide clear, concise instructions that help complete tasks.
  • Be direct when providing next steps or instructions for correcting errors.
  • Avoid using technical jargon, codes, acronyms, and terminology that assume the user has advanced knowledge.
  • Avoid overly playful language, tongue-in-cheek references, or plays on words that aren’t widely understood.
  • Avoid accusing or patronizing the user for failing to follow directions or misusing the system.
A success banner titled File saved successfully.

Do Use clear, neutral language that gets to the point quickly.

A success banner titled Great job! The file has been saved.

Don't Be overly enthusiastic with congratulatory language.

An error banner titled We're sorry, but we we’re unable to save your information. Wait a few minutes and try again.

Do Use words like “sorry” or “please” for serious errors requiring the user to take a major action to resolve the issue.

A success banner titled We’re sorry, but the email entered is invalid. Please try again.

Don't Use “sorry” or “please,” for minor mistakes, as they can make the message inefficient.

Examples

Informational message

Informational messages should provide information without disrupting the user’s workflow. They can communicate a change in state or important information about an experience or feature.

Banner

Informational banner titled New feature available You can now download your transaction history for the last 3 years. A button reads Download transaction history

Dialog

Informational dialog titled Update available A new version of the app is available. Update for security and performance improvements. 2 buttons read Update and Close

Flag

Informational flag titled Your subscription automatically renews on June 1.

Section message

Informational section message titled Transactions may be delayed Please note that transactions may take up to 24 hours to reflect in your account balance.

Success messages

Success messages are used to confirm a user’s action or task completion. They usually don’t require additional actions unless providing a pathway to undo the action being confirmed.

Banner

Success banner titled Sharing settings updated Collaborators now have editing privileges. You can change privileges in your settings at any time.

Dialog

Success dialog titled Update available A new version of the app is now available. Update now for enhanced security and bug fixes. 2 buttons read Update and Close

Flag

Success flag titled Updates successfully installed. Close this window and restart the app.

Section message

Success section message titled Transaction complete Your payment was successful. A button reads Access summary

Warning messages

Warning messages are used to indicate a potential change in the user’s workflow or access to the system. Warning messages should use clear, informative language that conveys the appropriate level of urgency so the user knows how to respond.

Banner

Warning banner titled Scheduled maintenance in progress The system is currently undergoing routine maintenance which may affect some of our services.

Dialog

Warning dialog titled Reset settings Are you sure you want to restore the default settings? All custom settings will be lost. 2 buttons read Reset settings and Cancel

Flag

Warning flag titled Backup in progress. Don’t refresh the page.

Section message

Warning section message titled Edits available Changes have been made since you last opened this document. Refresh to access changes. A button reads Refresh page

Error messages

Error messages are used to indicate a a problem has already occurred or that there’s been a mistake during the user’s workflow. They should draw attention to what has happened, communicate the consequences, and tell the user what to do to move forward.


Error messages should use clear, informative language that conveys the appropriate level of urgency so the user knows how to respond.

Banner

Error banner titled Dashboard unavailable Dashboard failed to load. Wait a few minutes and try again.

Dialog

Error dialog titled Payment error Payment not processed. Check your payment details and try again. 2 buttons read Update payment and Cancel

Flag

Error flag titled Your response exceeds the maximum limit of 200 characters.

Section message

Error section message titled Required fields incomplete Please complete all required fields before proceeding. A button reads Refresh page

Inline error messages

Inline error messages are common across a range of components. For help prototyping content for common error messages, VPDS offers component variants with pre-written messages. Access these in the assets panel of our Design kits.

A input field with an inline error message reading Error: Enter the date in the format mm/dd/yyyy.

Do Consider adding “Error:” at the start of the message to help indicate that something’s wrong. If you choose this pattern, be consistent throughout your experiences.

A input field with an inline error message reading Error

Don't Use “Error” alone to indicate incorrect information was entered. Be descriptive, tell the user why the error occurred and give instructions on how to fix it.

A input field with an inline error message reading Use the format mm/dd/yyy.

Do Provide specific context on how to correct errors.

A input field with an inline error message reading Invalid input.

Don't Use vague language that doesn’t explain what happened.

A input field with an inline error message reading Enter a valid email address.

Do Provide enough guidance for the user to understand what went wrong.

A input field with an inline error message Usernames must be alphanumeric and have a minimum length of 6 characters.

Don't Give specific details on how to fix usernames and passwords for security reasons.

Badges

Badges are compact components used to communicate status with limited text. There are generally two categories of badges. The first is numeric badges, which display a count or tally of notifications. The second is informational badges, which provide status updates when the number of notifications is unknown or irrelevant.


To learn more, visit Badge guidance.

When to use and when not to use different types of badges
Do Don’t
Use single-word labels like ”Authorized”, “Pending”, “Paid”, “Unpaid”, “Shipped”, “Overdue”, “Ready”, “Complete”, or “Canceled”. Use verbs like “Cancel” as this can lead users to think the badge is a call to action.
Use no more than two to three short words to describe more complex information like “Out of stock”, “In stock”, or “On backorder”.Use vague labels that don’t appropriately match the urgency of the status status such as, “information,” where more context is needed.
Use numeric formatting for number badges, like “1”, “12”, “30”, etc.Write out numbers in text, as this can take up too much space.