Table of Contents
Field Types
Updated
by Danielle Kellogg
What are Field Types?
Fields are used to define specific attributes of a table. Knack offers a wide variety of field types, each with its own unique behavior and options.
Becoming familiar with the types of fields at your disposal will enable you to get the most out of Knack. For example, storing multi-part data like a date or a full name in a field of its own type will let you sort that data or extract individual parts of it (via equations or text formulas) down the road.
The following is a guide to field types that includes a description of each type’s recommended usage, its options, and what it looks like as a form input.
Changing Field Types
Fields can be changed from one type to another. To change a field type, click on the text that described the field type:
This will open a editor to select the new field type. Changing the field type could alter the field's data in your records, so you will see a confirmation if the field type is compatible with the original field type.
Text
Short Text
Short Text fields are used for text characters and do not require any special formatting. Used for titles, names of places or things, and other information which only requires a few words.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: Setting to Yes means the value for this field must be unique; no other record can have the same value.
- Default: This value will be used by default if no value is entered. This value will also be used to populate any forms used to add a new record.
Example

Paragraph Text
Paragraph Text fields are used for text that is longer and might need multiple sentences and paragraphs.
Settings
There is no limit on number of lines or characters allowed in this field type, although practical and display limits apply in what is usable in a long block in a Rich Text field.
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: If checked, the value of this field must be unique. no other record can have the same value.
- Default: This value will be used by default if no value is entered. This value will also be used to populate any forms used to add a new record.
Example

Rich Text
Rich Text fields are used when you need to add more rich formatting and HTML to text. When edited, a rich text field will have a WYSIWYG interface for formatting the text with styles like bold, bullets, and more.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: If checked, the value of this field must be unique. no other record can have the same value.
- Default: This value will be used by default if no value is entered. This value will also be used to populate any forms used to add a new record.
Example

Text Formula
Text formulas are used to combine data from multiple fields and to extract data from individual fields. See the Text Formulas article for more information.
Number
Number
Number fields are used for values that are added, counted, or measured. Values can include (or not include) decimal places and formatting of your choosing.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: If checked, the value of this field must be unique. No other record can have the same value.
- Decimal places: A number of decimal places to include when displaying the number. This does not affect how the numbers are stored in the database - only how they are displayed. If the stored number has more decimal places than this option, the displayed number will be rounded.
- Thousands: You can choose none, comma, period or space to separate thousands in large numbers. For example, if you choose 'comma', 80000 would display as 80,000.
- Format: Whether to format your number with currency letters or your own custom before and after the text.
- Default: This value will be used by default if no value is entered. This value will also be used to populate any forms used to add a new record.
Example

Currency
Currency fields are like numbers, but with a currency symbol and formats for decimals and commas automatically included.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: If checked, the value of this field must be unique. no other record can have the same value.
- Format: The type of currency used to format each number. If you need to use a custom currency symbol, use a Number field instead (see above).
- Default: This value will be used by default if no value is entered. This value will also be used to populate any forms used to add a new record.
Example

Equation
Equation fields are used to perform calculations with your data. See our article on equations for more information.
Formula
Formula fields are used to run calculations on connected records and store the total of that calculation. With formula fields you can calculate the sum, min, max, average and count.
For example:
- Order Total: An Order record sums the prices of all the Item records connected to that Order.
- Average Sale: A Salesperson record averages the total of all the Sales records connected to that Salesperson.
- Employee Count: A Company record counts all the Employee records connected to that Company.
See our article on formulas for more information.
Auto Increment
Auto increment fields are used to give each record a unique ID by starting at one (1) and adding one for each new record. If you'd like to start with a number different than 1, check out the How To Start an Auto Increment Field from Any Number help article.
This increment is maintained even when records are deleted. If all of an table's records are cleared from an app’s database, it will be reset.
Settings
There are no settings for an auto increment field.
To reset an auto increment field, you need to use the delete all records option in the Records section.
Choice
Multiple Choice
Multiple Choice is used when you want to present a group of options to select from.
Settings
Required: If checked, this field must have a value before a record can be added or updated.
- Options: All choices available to be selected. Use the red and green icons to remove or add options. Click and drag options to rearrange the order in which they appear. The "quick" edit link allows for you to add many multiple choice options through typing or cut and paste. Dropdown fields will display in the order listed in this field set up. Some views, such as pivot table columns do not allow for the reordering of these columns outside of alphanumeric.
- Default Option: The choice which will be selected by default on your forms.
- Sort: This option will define how the multiple choice field will be sorted.
- Alphabetically will sort the multiple choice options in alphabetical order.
- Custom will allow you to customize the sort order by dragging and dropping the different options in the Options section of the field settings.
- Blank Text: The text your users see when they need to select a value on a form (if your forms show this field as a dropdown).
- Layout: Determines how the choices will be presented in a form. The Dropdown - One Selection and Radio Buttons options only allow for a single selection, while Dropdown - Multiple Selections and Check Boxes allow for multiple options to be selected.
Example

Yes/No
Yes/No is used for fields where you simply want to differentiate between a true or false value.
Settings
- Labels: Other options for "Yes" and “No” labels, like “On”/”Off” and “True”/”False”.
- Default: The default value for either Yes or No.
- Require Yes: Forms including this field cannot be submitted until the value is "Yes" (or “True” or “On”).
- Input: How this field should appear on forms.
Example

Date
Date/Time
Date/Time fields are used for storing dates, times, or both.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Date Format: this determines how dates will be formatted. Here are examples for the date of July 4th, 2013:
- mm/dd/yyyy: 06/04/2013
- M D, yyyy: July 4th, 2013
- dd/mm/yyyy: 04/06/2013
- Ignore Date: no date will be displayed
- Time Format: How times are formatted.
- Calendar Options: This will enable advanced calendar options like "All Day" events and repeating events.
- Default Date (Time): The default date/time with which your forms are pre-populated:
- None: Blank
- Current Date (Time): The current date/time
- Specific Date (Time): A date/time of your choosing
Example

• "is during the current week": Sunday, 12:00am - Saturday, 11:59pm, of the week where the defined date falls.
• "is during the previous week": Sunday, 12:00am - Saturday, 11:59pm, of the week prior to where the defined date falls.
Similar logic can be applied to "is during the current day", "is during the current month", or "is during the current year".
On a similar note, if you'd like to include both data the 'past three months', you'd set up two filters, one for "is during the current month" and one for "is during the previous 2 months".
Timer
Timer fields are used to track a time duration, most often for tracking hours.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Date Format: How dates will be formatted. Here are examples for the date of July 4th, 2017:
- mm/dd/yyyy: 06/04/2017
- M D, yyyy: July 4th, 2017
- dd/mm/yyyy: 04/06/2017
- Ignore Date: no date will be displayed
- Time Format: How times will be formatted.
- Minutes Format: How many minutes by which to separate each option for the time.
This only applies to the drop-down options shown; it does not round the time to these increments, nor does it restrict the time entered to these increments. - Total Format: What the total time will be calculated as when used in equations and formulas. Available formats are:
- From-To (presents a range)
- Seconds
- Minutes
- Hours
- Days
- Weeks
Example

Note: The default Start is the current date/time and the default End is current date/+1 hour. JavaScript code could be used to edit these defaults.
File
File
Files are used to add files and attachments through forms that can then be downloaded by your users.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Secure: Setting to Yes after your users have already uploaded files via this field means that any links they were using to access those files will no longer work. Every time a user accesses a secured file via one of the new Live App Knack URL links, a check is run to make sure that the Page, View, and field on which the user found the link to the file still exists; this way, for example, if you accidentally show a link to a file on a certain view and remove it later, users who saved that link will no longer be able to access the file through it.
Example

Image
Images are used to upload and display images. You can also create thumbnail versions of the image to display where needed.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Image Source: Determines where the image files are stored:
- Upload image files: Users will upload image files, and they will be stored on your Knack account and count toward your asset storage limit. The uploaded image will be given a URL that can be accessed externally of Knack. As such, it is not recommended to upload images with any sensitive information to an image field.
- Load images from external URL: The user will add a link (URL) to where the image is already uploaded and stored. These images will not count toward your asset storage limit. The source image of this URL can be updated without being updated in Knack.
- Resize Image: If checked, this will automatically resize images on upload.
- Web friendly: resizes the image to a web friendly size with the maximum width and height of 1500px
- Custom: allows you to define a custom width and height
- Thumbnails: Thumbnails - smaller versions of an image - can be generated automatically for you to display throughout your apps. After clicking Add Thumbnail, you can use the red and green + and - buttons to add or remove further thumbnails. There are three types of thumbnails:
- Resize by percentage: The thumbnail will be resized by the percentage and maintain its ratio.
- Resize by pixel: The thumbnail will be resized based on the max width or the max height, whichever applies first to the image. The other dimension will then scale to maintain the correct ratio.
- Resize to square: The thumbnail will be resized to a square. If the original image is not a square ratio, then the larger dimension will be cropped to create a square.
Images must be resized using a thumbnail in order to display as a smaller size in your app. CSS code could be used to edit this as well. Once you have added a thumbnail to your image field, be sure to add this field to your views as well:
Image Indexing: If you include images in a Live App page where there is not a login required, the images can be found and indexed by Search Engines. To prevent unwanted exposure, make sure that your images are only displayed on pages that require a login.
Personal
Name
Name fields are used to combine name elements like Title, First Name, and Last Name into one convenient field for entering and displaying names.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Format: Names can be formatted with various options which can include a title.
Example

Email fields are used to store email addresses. A link will automatically be created to send an email.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: If checked, the value of this field must be unique. No other record can have the same value.
- Email Text Format: The text that will be clicked to open the link to send an email to this address:
- Use this email address: Use the full email address will display as a link.
- Use the same text for all emails: Use the same text that every record will use as the email address.
- Use unique text for each email: Add unique text for each record to use as the email.
Example

Address
Address fields are used to combine fields like Street and City into one convenient field for entering and displaying address data.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Address Autocomplete: Address Autocomplete uses Google’s autocomplete functionality to provide suggested addresses nearest to you as you type. To enable this feature, check the “Address Autocomplete” checkbox from the address field’s settings.
This feature is available on Pro and above plans.
Once enabled, this is available:- when adding or editing records in the Builder or Live App,
- and on the search on a Map view.
This is available for U.S., International, and International (with Country) formats. It is not available with the Latitude/Longitude Input type.
Because of the variation in address data that is available around the world, along with the variation in format of different address types, Address Autocomplete only will complete the Address 1 line.
If you're using Google as your map provider, you will:
- need to enable the "Places API" module under your Google Maps setup, and be responsible for any usage charges.
- Geocode Records: The "Geocode Records" setting allows an Address field's record value to be geocoded for display on a Map view or to be searched with the “is near (a zip code)” filter. Geocoding takes the description of a place — such a location's latitude/longitude coordinates or its address — and maps it to a real location on the earth's surface.
You can read more about this in the "App Settings: Map Provider" article. - Format:
- U.S.: U.S. format of City, State, Zip.
- International: International format of City, Province/ Region, Postal Code.
- International with country: Same as above, but with the country as well.
- Input: Add address data either with full addresses or with latitude/longitude coordinates.
Example

Phone
Phone fields are used to display numbers in phone formats and a link will automatically be created to call the number in mobile devices wherever field data is displayed.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: If checked, the value of this field must be unique. no other record can have the same value.
- Format: Choose from various U.S and international options including the Any option that supports any other format not included.
- Include extension: Allow users to include extensions when adding or editing phone numbers.
Example

Other
Link
Link fields are used to display URLs that link to any website.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
- Must be unique: If checked, the value of this field must be unique. No other record can have the same value.
- Default value: This value will be used by default if no value is entered. This value will also be used to populate any forms used to add a new record.
- Link Text Format: Controls the text that will be clicked on to open the link:
- Use the URL: The full URL will display as the link.
- Use the same text for all links: Add the same text that every record will use as the link.
- Use unique text for each link: Add unique text for each record to use as the link.
- Open link in new window: Use this setting if you would like all links to open in a new window.
Example

Signature
The signature field enables users to add their signature with their finger or mouse.
Settings
- Required: If checked, this field must have a value before a record can be added or updated.
Example

• Microsoft Email Exchange
• Gmail
Rating
Rating fields are used to add ratings using a star system.
Settings
- Allow half stars: Determines whether the user can add ratings in half-star increments.
- Number of stars: Set the maximum number of stars that can be used for a rating.
Example

Connection
Connection fields allow you to connect to records in other tables. This unlocks the ability to show relationships in your app, like a user's assigned tasks or a customer's order.
You can read more on using connections in your app here.