How to Autofill Jotform Using Excel Easily 2026
By Impran M NLast checked against official docs
Asking a returning customer to retype their name, address, and order history into a form every time is friction nobody needs, especially when that data already sits in a spreadsheet you maintain. Jotform's Spreadsheet to Form widget closes that gap: upload an Excel file, and a form field autofills the moment a user enters a matching access code. This guide follows the real path through the Form Builder, including the one setup detail that trips people up most, getting the spreadsheet's column headers to match the form's field labels exactly.
Before you start
- A Jotform form with the fields you want to autofill already added
- Your data saved as an XLS or XLSX file, since the widget does not accept CSV or Google Sheets exports
01Open your form in the Form Builder
Start from an existing form, in this walkthrough a Product Order Form with Full Name and E-mail fields already laid out, and make sure you're on the BUILD tab rather than Settings or Publish. Add Element sits in the top-left corner of the canvas; that's the entry point for any new field or widget, including the one that handles autofill.

02Search the Widgets tab for Spreadsheet to Form
Clicking Add Element opens the Form Elements panel, split into Basic, Payments, and Widgets tabs. Switch to Widgets and search: typing "spread" surfaces Spreadsheet, Spreadsheet to Form, and Rss Reader as matches.
Spreadsheet to Form is the one built for this job. Add it and the widget drops onto your canvas with its own configuration panel.

03Name your spreadsheet columns to match your form's field labels exactly
This is the step the rest of the setup depends on, and it's easy to get wrong. Jotform does not give you a mapping screen where you manually pair a spreadsheet column with a form field.
Instead, the widget matches columns to fields automatically by name: a column header of "E-mail" only fills the form field labeled "E-mail", not one labeled "Email Address" or "Your Email". Rename your spreadsheet headers, or your form field labels, until they match exactly, character for character. One column also needs to hold a unique value per row, an order number, a customer ID, or another code you've already issued, since that's what a user types in to trigger the lookup.
04Upload the spreadsheet and set the access code column
In the widget's configuration panel, upload the XLS or XLSX file. Then tell the widget which uploaded column is the access code, the lookup key a visitor will type. There's no separate mapping step after this: every other column populates its matching field automatically, based purely on the header-to-label match you set up in the previous step.
05Customize the access code prompt and test it live
The widget adds a front-end input box where users type their access code, plus a verification button. Both are editable, so you can adjust the label text and styling to fit your form.
Preview the form afterward and test the flow end to end: enter a code from your spreadsheet and confirm every field with a matching column header populates. Note that the access code is case-sensitive, so "AB100" and "ab100" are treated as different values. Then repeat the check on a mobile viewport, since layouts can behave differently at narrow widths.
When it doesn't work
A field never populates, even with the right access code
Why: The spreadsheet's column header doesn't exactly match that field's label. Jotform maps columns to fields by name, not by a manual pairing screen, so a mismatch of even one word or a trailing space breaks that field silently.
Fix: Rename the column header (or the form field label) so the two are identical, then re-upload the file.
The widget rejects the uploaded file
Why: The file isn't XLS or XLSX. CSV exports and Google Sheets links aren't accepted.
Fix: Save or export the data as an .xlsx file before uploading.
A code that should work returns no match
Why: The access code is case-sensitive by design, with no built-in setting to make it case-insensitive.
Fix: Check the exact capitalization in the spreadsheet against what the tester typed, or standardize how codes are issued (all uppercase, for example) so visitors aren't guessing at case.
Frequently asked questions
What file formats does the Spreadsheet to Form widget accept?
XLS or XLSX only. CSV files and Google Sheets exports aren't supported, so convert your data to Excel format first.
How does the widget know which spreadsheet column fills which form field?
By matching the column header to the form field's label exactly. There's no manual mapping screen, so a column named "Email" won't populate a field labeled "E-mail Address" until the two match word for word.
Is the access code case-sensitive?
Yes, and there's no setting to turn that off. "Order100" and "order100" are treated as different codes.
Can one access code fill in multiple fields at once?
Yes. Every column whose header matches a field label populates from the same row when its access code is entered.
What happens if a user enters an access code that isn't in the spreadsheet?
No row matches, so the mapped fields stay empty rather than showing an error, and the form remains fillable by hand.
Sources and last check
Click path and screens come from a Form Builder walkthrough. The column-matching mechanism, supported file formats, and access-code case sensitivity were re-checked against Jotform's official help article in September 2026, which corrected this guide's earlier description of a manual column-mapping step; matching is automatic and depends on exact label matches.
About the author

Impran M N
I've been hooked on technology for as long as I can remember — especially the new tools and AI apps that seem to land every other week. Easy Tech Tuts is where I write up whatever I've just worked out: I do the task in the real product, record the screen, and turn it into the guide I wish I'd found first.



