Input mask for React, Angular, Ember, and plain JavaScript

Text Mask is an input mask library. It can create input masks for phone, date, currency, zip code, percentage, email,
and literally anything!

There are convenient wrappers for React, Angular 2, Ember, and Vue. If you would like Text Mask to be available in another
framework or ecosystem, email me!

Live demo

See it in action, check out the demo page.

Installation and usage

Expected to work with…

IE9+, Android, Samsung Internet, Windows Phone, iOS, Opera, Firefox, Safari, and Chrome


Text Mask is very configurable and allows you to create any type of input mask with minimal APIs.
See the documentation for details.


You can easily expand the base functionality of Text Mask with addons for more mask types.
Checkout existing addons.


Text Mask supports pasting, browser auto-fill, and all operations that a user would expect while interacting with
an input field.

It works on mobile, has no 3rd party dependencies, and has a tiny footprint (less than 4KB gzipped).

For any questions, suggestions, or feature requests

Please file an issue!