By default product variations show up as drop-downs near the add to cart button. You can also define a variation to become a custom text field.
It will look like that for the customer:
As you can see in the screenshot above the customer can insert any value in the ‘length’ field.
This is defined on the product edit screen in the variations box:
When you click the ‘Custom Field’ button near the variation it will become a text field so the user can insert any value.
After the customer will check out the store admin will get this value along with the ordered product details.