NueForm includes a built-in Typeform importer that converts your existing Typeform forms into NueForm forms. This guide covers the migration process, what transfers automatically, and what you may need to adjust manually.
Feature Comparison
| Feature | Typeform | NueForm |
|---|---|---|
| Question types | 20+ | 25+ |
| Logic jumps / branching | Yes | Yes |
| Calculator variables | Yes | Yes |
| Hidden fields | Yes | Yes (as variables) |
| Welcome screen | Yes | Yes |
| Thank you screen | Yes | Yes (multiple end screens supported) |
| Progress bar | Yes | Yes |
| Media attachments | Images, video | Images, video, YouTube embeds |
| Quiz scoring | Yes | Yes (3 modes: knowledge, lead qual, match) |
| Custom CSS | Theme builder | Full CSS access (Pro+) |
| Webhooks | Yes | Yes (Pro+) |
| Payments | Stripe | Stripe |
| File uploads | Yes | Yes |
| Teams | Yes | Yes |
| API | Yes | Yes |
| React export | No | Yes (Pro+) |
| Real-time activities (Fuse) | No | Yes |
Migration Methods
Method 1: Paste Typeform JSON (Recommended)
The fastest approach uses Typeform's API export:
- Get your Typeform form definition from the Typeform API:
curl -X GET https://api.typeform.com/forms/YOUR_FORM_ID \
-H "Authorization: Bearer YOUR_TYPEFORM_TOKEN"
Copy the full JSON response.
In NueForm, go to the Forms page and click Import Form.
Select Import from Typeform and paste the JSON.
Click Import. NueForm will convert the form and open it in the builder.
Review the imported form, make any adjustments, and publish when ready.
You can get your Typeform personal access token from the Typeform Developer Portal. Go to your account settings and generate a personal access token.
Method 2: Manual Recreation
For simple forms or when you want to take the opportunity to restructure your form:
- Open your Typeform form and your NueForm builder side by side.
- Recreate each question using the NueForm builder.
- Reapply logic jumps and variables.
- Copy and paste question text and choice options.
Question Type Mapping
The NueForm importer automatically converts Typeform question types to their NueForm equivalents:
| Typeform Type | NueForm Type | Notes |
|---|---|---|
short_text | short_text | Direct match |
long_text | long_text | Direct match |
email | email | Direct match |
phone_number | phone | Direct match |
number | number | Direct match |
url / website | url / website | Direct match |
multiple_choice | multiple_choice | Choices, multi-select, randomize, and "Other" preserved |
dropdown | dropdown | Choices and alphabetical sort preserved |
picture_choice | picture_choice | Choice labels and image URLs preserved |
yes_no | yes_no | Direct match |
rating | rating | Steps and shape (star, heart, thumb, crown, lightning) preserved |
opinion_scale | opinion_scale | Scale range, start-at-one, and labels preserved |
nps | nps | 0--10 range and labels preserved |
date | date | Direct match |
file_upload | file_upload | Direct match |
legal | legal | Direct match |
statement | statement | Button text preserved |
ranking | ranking | Choices preserved |
matrix | matrix | Rows and columns preserved |
signature | signature | Direct match |
payment | payment | Currency and price preserved |
group | question_group | Sub-fields recursively converted |
inline_group | multi_question_page | Sub-fields recursively converted |
contact_info | contact_info | Sub-fields mapped to well-known keys |
address | address | Sub-fields mapped to well-known keys |
Question types not listed above (e.g., CAPTCHA) are skipped during import. Check the imported form for any missing questions.
What Transfers Automatically
Questions and Properties
- Question titles, descriptions, and required status
- All choice options with labels
- Rating steps and icon shapes
- Scale ranges and endpoint labels
- Group/composite sub-fields
- Validation settings (min/max values, max length)
Logic Jumps
The importer converts Typeform's logic rules to NueForm's logic jump format:
- Jump actions --- "Go to question X" and "Go to end" are fully supported.
- Conditions --- Single conditions (
is,is_not,greater_than, etc.) and compound conditions (and,or) are preserved. - Variable actions ---
addandsetactions on calculator variables are converted. - Always conditions --- Unconditional jumps are preserved.
The operator mapping:
| Typeform Operator | NueForm Operator |
|---|---|
is / equal | equals |
is_not / not_equal | not_equals |
greater_than | greater_than |
lower_than | less_than |
greater_equal_than | greater_than_or_equals |
lower_equal_than | less_than_or_equals |
contains | contains |
not_contains | not_contains |
Empty-value comparisons are automatically converted to semantic is_answered / is_not_answered operators.
Variables and Hidden Fields
- Typeform calculator variables (number and text) are imported as NueForm variables with their default values.
- Typeform hidden fields are imported as string variables with empty defaults. They are automatically populated from URL parameters at runtime, just as they work in Typeform.
Media Attachments
Image and video attachments on questions and choices are detected during import. The importer records them as pending media items that reference the original Typeform URLs. NueForm will re-upload these media files to its own storage during the import process.
Welcome and Thank You Screens
- The first Typeform welcome screen's title, description, and button text are imported.
- The first Typeform thank-you screen's title and description are imported.
Settings
- Progress bar visibility is preserved.
What Requires Manual Adjustment
Themes and Styling
Typeform themes do not transfer automatically. After importing:
- Open the form in the NueForm builder.
- Go to the Theme panel.
- Set your colors, fonts, and styling to match your brand.
See Themes & Styling for details.
Multiple Thank You Screens
Typeform supports multiple thank-you screens, but only the first one is imported as the default end screen. If your Typeform uses conditional thank-you screens, you will need to:
- Add additional
end_screenquestions in NueForm. - Set up score ranges or logic jumps to route respondents to the appropriate ending.
Integrations
Third-party integrations (e.g., Zapier, Slack, Google Sheets) do not transfer. You will need to reconfigure these using:
Payment Configuration
While payment question properties (currency, price) are imported, you will need to reconnect your Stripe account in NueForm separately.
Post-Import Checklist
After importing a form from Typeform, work through this checklist:
- [ ] Review all questions for correct types and content.
- [ ] Test logic jumps by submitting the form with different answers.
- [ ] Verify that variables and hidden fields work correctly.
- [ ] Apply your brand theme (colors, fonts, logo).
- [ ] Check media attachments loaded correctly.
- [ ] Reconfigure any third-party integrations.
- [ ] Set up webhooks if needed.
- [ ] Reconnect Stripe if using payment questions.
- [ ] Test the complete form end-to-end.
- [ ] Publish the form when satisfied.
Troubleshooting
| Issue | Solution |
|---|---|
| Some questions are missing | The question type may not be supported. Check the type mapping table above. |
| Logic jumps are not working | Verify that the destination questions exist. Complex nested conditions may need manual review. |
| Media images are broken | The importer downloads media from Typeform. If Typeform URLs have expired, you will need to re-upload media manually. |
| Variables are not being populated | Check that URL parameters match the variable names exactly. |
| Form looks different from Typeform | Themes do not transfer. Apply styling manually in the NueForm builder. |
Related
- Creating Forms --- Learn the NueForm builder
- Logic Jumps --- Configure branching logic
- Variables --- Set up calculator variables and hidden fields
- Themes & Styling --- Customize your form's appearance