Easy and Powerful Mask for TextField, TextFormField and Strings. Has multi mask support, reverse mask for currency and placeholder. It controls user's cursor.
Package selection guidance compiled from public package information, community data, and project usage.
Easy Mask is a Flutter package that simplifies input formatting for text fields and strings with powerful masking capabilities. It supports multiple masks, reverse masking for currency formatting, and customizable placeholders. The package intelligently manages the cursor position during user input, ensuring a smooth typing experience. Ideal for forms requiring structured input like phone numbers, dates, or financial values, it enhances usability by automatically applying format as users type.
Use cases
Form inputs with structured data
Currency and number formatting
Date and phone number masks
Real-time input validation
Dynamic mask switching
Placeholder management
Key features
Multi-mask support
Reverse mask for currency
Automatic cursor control
Customizable placeholders
Real-time formatting
Cross-platform compatibility
Suitable for
Developers building form-heavy apps
Apps needing formatted input fields
Financial or data-entry applications
Projects requiring consistent input patterns
Teams prioritizing UX in text input
Considerations
May require careful handling of complex mask logic
Limited documentation beyond basic examples
Potential performance impact with many active masks
Not ideal for non-text input scenarios
Requires testing across all target platforms
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Easy Mask
Easy way to apply a mask to Flutter's TextFields and on Strings
To use it, you only need to pass EasyMask on TextField's parameter inputFormatters.
The Easy Mask cares about user's cursor position, to make fluid it's usability.
Supports Multi Mask based on masks length.
Supports Placeholders.
Usage
Simplest Sample
Import package:easy_mask/text_input_mask.dart
Then instantiate TextInputMask passing at least a String mask parameter.