Input Masking may be underrated or not used often, but it is handy in different situations, especially if you talk about specifying and accepting input in a fixed format — for example, formatting for a custom date, number, or phone number.
To get you started, we’ll be taking a look at two different scenarios.
Input Masking Scenario #1:
For the first scenario, let’s look at this one using a simple Short Text element, so go ahead and add one to your form right now if you haven’t already. To view the Input Mask option, you can follow the steps below:
- Click the Short Text element.
- On the right side of the element, click the Properties (gear icon).
- Go to the Options tab.
- Scroll down and find the Input Mask option, make sure to enable it.

With input masking, you’ll only use three HTML characters, and these characters are explained right below the Input Mask toggle.
@ = Masks Letters
# = Masks Numbers
* = Masks Letters & Numbers
To explain the above in a simplified manner, the Input Mask basically gives you much greater control over what is entered and therefore limits your users to the masked inputs.
That might sound a bit confusing still, so let’s break this down even further by looking at these examples below.
Example A:
In this example, let’s say, for instance, you want to name cities that start with “St” (Saint), such as “St Augustine” which would look like this “@@ @@@@@@@@@“.
The back-end of your form:

Front-end of your form:

Example B:
Now let’s take a glance at this in another instance where you might want to show a set of spaced out numbers which would show up like this “# # # # #“.
The back-end of your form:

Front-end of your Form:

Example C:
A good use for the Numbers Mask would also be for advanced custom dates where you might not want to use the standard date fields such as “##/##/####“.
The back-end of your Form:

Front-end of your Form:

Example D:
Both the above are good and all, but what if you needed something more than that, but didn’t need that much information, such as in an instance where you only want just the street address of where someone’s business is located.
So, in this particular case, you would want to combine the above by using both @ and # together and that could look something like “#### @@@@@@@@@ @@“.
The back-end of your Form:

Front-end of your Form:

Example E:
Also, don’t forget that you can additionally allow either of these but still control yet limit this with the third option using the * (asterisk), and that would look a bit like “*** ** **** ** ***“.
The back-end of your Form:

Front-end of your Form:

Example F:
But what if none of the above was good enough for your situation? What if you work in the Government, Legal, or even a Car Parts Company? You can do that too by compartmentalizing your characters to create something systematic such as “#@-#**#-#@“.
The back-end of your Form:

Front-end of your Form:

Example G:
Some of the above examples are fixed input masking, so what about if you would like a way for users to enter characters but not require it all. For example, a membership number that ends with one or two characters. You can do the input masking as “@@-#####-@[@]“. As you can see, we’re using a Square Bracket for the optional character.
The back-end of your Form:

Front-end of your Form:

Now, let’s take a different approach at looking at this another way using the second scenario for a Phone Field.
Input Masking Scenario #2:
Sure, using the masking capability is handy, but what if you’re a phone directory provider searching for 1-800 numbers to list, or you have users with foreign phone numbers and such?
Instances like this are where input masking on a phone field would be useful just as much to give you control over how your phone numbers are entered and used.
Example A:
For the first example, let’s start again but this time around add a phone field. You should be able to access the Input Mask option the same way we described earlier in this guide.

You’ll notice this time around that you can only use a Number Masking with #, and you will also see the default phone number input change from two inputs to one input which is additionally prepopulated with “(###) ###-####“
The back-end of your Form:

Front-end of your Form:

Example B:
Now for using this for 1-800 numbers with a phone number, you could make it something like “1-(8##)-###-####” to let your users know that’s the type of info needed.
The back-end of your Form:

Front-end of your Form:

Example C:
As another example, let’s say you’re planning on running an outreach call program in Australia. You’d need to gather phone numbers limited to that formatting, so for this, it would end up looking something like “+(##)#########” but you can format it to any country if elsewhere.
The back-end of your Form:

Front-end of your Form:

So anyway, we really hope this helps to clarify everything when using Input Masking.
Feel free to play around with this option. If you have any suggestions, concerns, or questions, feel free to comment below or post a question on our support portal.
Send Comment:
24 Comments:
Hi there, I would like to validate phone numbers by limiting the input pf phone numbers to start with 6, 8 or 9 only. Am I able to do that?
I need my users to be able to enter a number between 1,000 and 1,000,000 and have the form (not the user) populate the "," accurately based on the numbers entered (like how number formatting a field with thousand separators in excel works). Input masking does not seem to allow for this as it just populates the digits left to right and there is no way to further format a number field. Is there another solve for this?
how do you NOT show underlines, maybe you just want to format afield for display so that $100 looks like $100 and $99 looks like $99 instead of $99_
People input fake numbers. How do you avoid this? It's a problem.
Is there a way to disallow double quotes using an input mask?
I need a simple way to prevent responses in "short text" field are submitted as "alphabetic characters" only. I tried the "Validation" feature but when I tested the form, it still allowed numbers to be typed. How can this be fixed?
Note: Using the "Masking" feature won't work because I'm not looking for a specific response.
Please help. Thanks!
The x’s are showing up on preview form. How can l stop tgat?
Make force uppercase an option via a symbol that behaves as locked uppercase format similar to @. CSS uppercase displays in form editing but not after submission when viewing.
How can I edit the location?
The phone field is North America centric. One is forced to use the mask and in an international setting, masks make no sense.
is there a way to make the masked letters all capped?
Hi
I have two fields both with masks that allow the user to enter numbers. Masks are [#][#][#][#][#][#][#].##. This enforces two decimal places.
I have a third field that adds these two fields together (a text field with a formula attached to it, not a form calculation field as that has size issues). This also has a mask on it similar to the above.
If I enter numbers into the two fields as say 15.00 and 25.00, the value shown in the total field will be 40.__ and an error message will appear saying that the mask is incomplete. If I remove the mask, the total will show as 40 with no decimals.
What is your suggested solution?
Thanks,
Glynn
Is there a way to specify the first certain letters of an input, then allow as many or as little characters (number or letter) for the rest of the field.
EX: SAMPLE-_________
It would be great if you could add a field filled out on a previous question. This way I'd know what classes the comments are reffering to. I hope I'm explaining myself correctly.
Is it possible to set up the mask to work with the following scenario?
We have membership numbers in the format: @@-#####-@ AND @@-#####-@@
As you can see, the last section of the membership number can be 1 or 2 letters.
I can't seem to set up the mask to accept both of those options. Only one or the other.
My previous post is incorrect, it forces ###,### so you can't enter something like 1,000
Switching to something like [#][#][#][,][#][#][#][,][#][#][#][,][#][#]# does not seem to work either, because entering 1,000 still wants a trailing digit to be added, so I assume it is matching from the start, rather than what is required.
Is there a way to restrict only alphanumeric entry? I wish to block chinese or japanese characters.
I need to check if the user is writing his discord TAG correctly.
How can I do using the mask?
How do I create a mask for symbols and to limit number to be no greater than a set figure. E.g when I need input to be below 15%
how do I disallow someone from using the number 0 at the start
Is there anyway you can add the min max allowance to input masking.
My use case is that every input is 4 alpha and 7 numeric but its possible to leave any of the input missing even with min max enabled
how can i input password stage with that .... i mean a situation where my client will need to input his password and its will bring out something like this [ *** ] for him or her
We have different length of telephonenumers in our area codes and fixed lines, as well as cell phones. is there a way to setup numbers with a minimum and maximum lenght?
How do i type # in form