I am changing a form where we have users paste some data from clipboard (copied from excel) and fill out a few metadata fields about the data.

Previously in the design we were able to have a button that, when clicked, grabbed the data from the user's clipboard. The paste would go through some validation and if the data was valid the button is replaced with a "Submit Form" button.

Like this:

beautiful mspaint render

However, because Chrome (which we want to support) doesn't allow this kind of unauthorized access to the clipboard, the users themselves have to either CTRL+V or right click -> paste the data.

We don't really have an interest in showing the user the data they are entering as it could be many rows of data, but this makes pasting the data unintuitive.

Currently what I have is instead of a "Paste Data" button, an indicator that data has not yet been pasted. If the user presses CTRL+V anywhere on the page, the data is grabbed from clipboard and validated, and if valid the indicator is replaced with the "Submit Form" button.

I am pretty unsatisfied with this solution for multiple reasons, mainly that if the user wants to copy/paste metadata into one of the metadata fields, it will also trigger the excel data paste and will tell them it's not valid. This isn't all that bad I guess as it doesn't really slow down the user at all but could be confusing.

Potential options:

Add textbox where they can paste the data, and validation can happen when they do that, just as it does when they type in the metadata fields above.

Keep click to paste data button but have it pull up some kind of pop up that tells user to press ctrl + v. But I feel this is unnecessarily cumbersome for the user.

As a final note, I'll say that the reason we are pasting data like this is that's what the user wants.. They are typically copying the data out of excel spreadsheets that have other data than is necessary here, and would rather copy some portion of it than put it in another file and upload the file. We are replacing an existing desktop application with this web application, so staying as similar to the original as possible is a plus, which is why we're pursuing this method of data upload.

  • 1
    Here is your problem: "We don't really have an interest in showing the user the data." If it's a lot of data, as you mention, then show them a sample.
    – Tim Grant
    Oct 9, 2017 at 17:20
  • 1
    If you don't show them at least a part of the pasted data, they'll likely not believe that the paste actually worked (I've missed the key more than once). You need to show them something so they can know they had an effect. Oct 9, 2017 at 18:19
  • 1
    You'll definitely need to show the pasted data. Multiple times per day I'll try to paste something and the text that comes out is not at all what I had intended, either because the copy didn't work or I copied something else after that one.
    – DasBeasto
    Oct 9, 2017 at 18:42
  • Thank you. Not knowing if anything happened on paste was another concern Oct 9, 2017 at 19:28

2 Answers 2


Consider sticking with a regular text input when there is no data present, then showing a preview of the data after pasting.

Doing this will prompt the user to paste data the same way as they would paste data in any other text field. This action won't be blocked by browsers, as it's a simple user input.

Once the data is there, render a short preview (showing first x rows and y columns) and allow the user to clear out that field in some way if they made a mistake or wish to remove it.


download bmml source – Wireframes created with Balsamiq Mockups

  • Thank you for your time with this. It would be more work but I think it's definitely worth it Oct 11, 2017 at 0:18


download bmml source – Wireframes created with Balsamiq Mockups

  • 1
    Could you explain your mock-ups? What exactly are you suggesting? Oct 10, 2017 at 19:36
  • It has a slide telling the user to paste, then shows a banner in the lower-left part of the page that it was copied. Oct 18, 2017 at 20:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.