Materialize provides an easy way for you to send unobtrusive alerts to your users through toasts. These toasts are also placed and sized responsively, try it out by clicking the button below on different device sizes.

To do this, call the M.toast() function programmatically in JavaScript.

  M.toast({text: 'I am a toast!'})

One way to add this into your application is to add this as an onclick event to a button.

  <button type="button" onclick="M.toast({text: 'I am a toast'})" class="btn">Toast!</button>


You can customize the behavior of each Toast using these options.

Name Type Default Description
text String '' The content of the Toast.
unsafeHTML String, HTMLElement '' HTML content that will be appended to to text. Only use properly sanitized or otherwise trusted data for unsafeHTML.
html String ''

(DEPRECATED): will be removed in a later release.

HTML content that will be appended to text. Only use properly sanitized or otherwise trusted data for html.

Will be ignored if unsafeHTML is set.

displayLength Number 4000 Length in ms the Toast stays before dismissal.
inDuration Number 300 Transition in duration in milliseconds.
outDuration Number 375 Transition out duration in milliseconds.
classes String '' Classes to be added to the toast element.
completeCallback Function null Callback function called when toast is dismissed.
activationPercent Number 0.8 The percentage of the toast's width it takes for a drag to dismiss a Toast.


Name Type Description
el Element The toast element.
options Object The options the instance was initialized with.
panning Boolean Describes the current pan state of the Toast.
timeRemaining Number The remaining amount of time in ms that the toast will stay before dismissal.

Custom HTML

You can pass in an HTML String as the first argument as well. Take a look at the example below, where we pass in text as well as a flat button. If you call an external function instead of in-line JavaScript, you will not need to escape quotation marks.

Only use a properly sanitized or otherwise trusted HTML string.

  var toastHTML = '<span>I am toast content</span><button class="btn-flat toast-action">Undo</button>';
  M.toast({unsafeHTML: toastHTML});


You can have the toast callback a function when it has been dismissed.

  <button type="button" class="btn" onclick="M.toast({text: 'I am a toast', completeCallback: function(){alert('Your toast was dismissed')}})">Toast!</button>

Styling Toasts

We've added the ability to customize your toasts easily. You can pass in classes as an optional parameter into the toast function. We've added a rounded class for you, but you can create your own CSS classes and apply them to toasts. Checkout out our full example below.

  // 'rounded' is the class I'm applying to the toast
  M.toast({text: 'I am a toast!', classes: 'rounded'});

Dismiss a Toast Programmatically

To remove a specific toast using JavaScript, access the M_Toast toast HTML element and call the dismiss function

  // Get toast DOM Element, get instance, then call dismiss function
  var toastElement = document.querySelector('.toast');
  var toastInstance = M.Toast.getInstance(toastElement);
Dismiss all Toasts