Focus the user
Use modals when users need to read or act before returning to the page.
The modal component informs users about a specific task and may contain critical information that requires a decision.
Use modals when users need to read or act before returning to the page.
Ask users to confirm destructive or hard-to-reverse actions.
Keep the title, message, and actions in one focused surface.
Title
Description (optional)
Slot content (optional)
Dismissible (optional)
Action (optional)
Scrim
Modals come in different sizes to match the weight of the task. Smaller sizes work for short confirmations, larger sizes give content room to breathe.
Use this size for typical messages and short forms.
Default size that suits most flows.
The close button gives users a clear exit. Hide it only when closing should be deliberate, such as in destructive flows.
Users can dismiss the modal from the header.
Default header includes a close icon.
Use the modal footer for actions that confirm, cancel, or complete the modal task.
The footer contains the actions that complete the modal task.
Use a footer when the modal asks the user to make a decision.
Review the information before you continue.
The modal can contain short supporting content and clear actions.
Each row is a colour, spacing, or size value the component uses, and the right-most column tells you where in the component you'll see it.
sgds-padding-md16pxsgds-gap-md16pxsgds-margin-none—sgds-border-radius-md8pxsgds-font-size-24—sgds-line-height-2424pxsgds-line-height-40Height variessgds-dimension-640—sgds-z-index-modal—sgds-body-font-family—Removing this draft will permanently delete its contents.
Use modals for confirmations, destructive actions, or short focused tasks that need a response first.
Your changes have been saved.
If users do not need to respond, use a toast or inline alert. Modals are disproportionate for routine messages.
Confirm that the information is correct before you continue.
Label the primary button with the verb that describes the outcome (Delete, Submit, Confirm), not Yes or OK.
Update your details.
Are you sure you want to change this?
Opening a second modal from inside the first hides context and traps focus. Resolve the current one first.
You will need to sign in again to continue.
A modal should hold one task. If the content scrolls significantly, send users to a dedicated page instead.
We have updated the dashboard with new charts.
Give users a clear way to dismiss the modal. Only hide the close button when an explicit decision is required.
aria-modal.TabShift+TabEscShare them with us on Slack → #ask-sgds-v3
Report it on GitHub Issues → sgds/components/modal
The Singapore Government Design System was developed to empower teams in creating fast, accessible and mobile-friendly digital services.