Guide

How to Export Google Form Questions, Types, Required Settings, and Choices

日本語版あり
How to Export Google Form Questions, Types, Required Settings, and Choices

Last updated: 2026-10-15

To export Google Form questions, use a manual inventory for a short form or Apps Script for a larger one. Record the title, type, required setting, choices, and help text. Downloading responses gives you submitted values, not this question inventory.

Choose your next task before choosing a tool: review the questions, make another Google Form, or build a draft on another service. A form copy can be enough for the second task. An inventory is useful for the first and third because you can compare the original and destination before changing a live form. The steps below keep extraction, verification, and rebuilding separate.

A response export contains submitted values, while a question-structure export contains titles, types, required settings, choices, and help text

The short answer: Google Forms has no question-list CSV button

Google Forms lets you view responses in Forms, send them to Google Sheets, and download response data. It does not provide a standard editor button that exports the full question structure as a CSV inventory.

Choose the method based on the job:

MethodBest forWhat you getMain limitation
Manual inventoryOne short formExactly the details you choose to recordEasy to miss a setting
Copy the formReusing the same form in Google FormsA working Google Forms copyNot a portable inventory
Apps ScriptMany questions or multiple formsItem titles, types, help text, and type-specific settingsRequires code and manual verification
Forms APIA maintained migration toolStructured form resources and item IDsMore authentication and implementation work

If your only goal is to make another Google Form, use the form-copy function. If you need a review sheet, a migration map, or a comparison across several forms, create an explicit inventory.

Do not confuse question structure with response data

There are four different things you may be trying to move.

DataExamplesAppropriate method
Submitted responsesTimestamp, name, email, selected answerResponses tab, Google Sheets, or CSV
Question structureTitle, type, required status, choices, help textManual inventory, Apps Script, or Forms API
PresentationTheme, images, spacing, section appearanceSeparate visual review
BehaviorBranching, validation, quiz scoring, notificationsSeparate behavior map and test plan

The first row of a response CSV can look like a question list. It is not one. It only exposes labels used for collected columns. It cannot reliably tell you every allowed option, whether a blank value was permitted, or what would have happened after a particular choice.

For response export instructions, use Export Google Forms Responses to CSV. This page stays on the question side of the boundary.

Method 1: inventory a short form manually

For a form with ten or twenty questions, manual review is often faster than writing and validating a script.

Create a spreadsheet with these columns:

OrderQuestionTypeRequiredChoicesHelp textBehavior to verify
1Full nameShort answerYes-Enter your legal namePersonal data
2Inquiry typeMultiple choiceYesPricing, Setup, OtherChoose oneBranches to sections
3DetailsParagraphNo-Up to 500 charactersLength validation

Then work from top to bottom:

  1. Open the Google Form editor.
  2. Record every item in order, including section headings.
  3. Record whether each question is required.
  4. Copy every choice, including an “Other” option.
  5. Record help text, response validation, and file restrictions.
  6. Mark branching, quiz behavior, images, and videos for separate review.
  7. Open the responder preview and compare the inventory against what a respondent can actually see.

The final preview step catches a common mistake: editor items and respondent-visible behavior are related, but they are not interchangeable.

Method 2: read the question structure with Apps Script

Google's Apps Script Forms Service can open a form by ID or URL. Each Item exposes methods such as getTitle(), getType(), and getHelpText(). Type-specific interfaces expose settings such as isRequired() and getChoices().

The following example exports a useful starting inventory to the execution log:

function exportQuestionStructure() {
  const formId = 'PASTE_FORM_ID_HERE';
  const form = FormApp.openById(formId);

  const rows = form.getItems().map((item, index) => {
    const type = item.getType();
    let required = '';
    let choices = [];

    if (type === FormApp.ItemType.MULTIPLE_CHOICE) {
      const question = item.asMultipleChoiceItem();
      required = question.isRequired();
      choices = question.getChoices().map((choice) => choice.getValue());
    } else if (type === FormApp.ItemType.CHECKBOX) {
      const question = item.asCheckboxItem();
      required = question.isRequired();
      choices = question.getChoices().map((choice) => choice.getValue());
    } else if (type === FormApp.ItemType.LIST) {
      const question = item.asListItem();
      required = question.isRequired();
      choices = question.getChoices().map((choice) => choice.getValue());
    } else if (type === FormApp.ItemType.TEXT) {
      required = item.asTextItem().isRequired();
    } else if (type === FormApp.ItemType.PARAGRAPH_TEXT) {
      required = item.asParagraphTextItem().isRequired();
    }

    return {
      order: index + 1,
      title: item.getTitle(),
      type: String(type),
      required,
      choices: choices.join(' | '),
      helpText: item.getHelpText(),
    };
  });

  console.log(JSON.stringify(rows, null, 2));
}

This is deliberately a small script. If your form uses dates, times, scales, grids, ratings, file uploads, or quiz questions, add an explicit branch for each type you need. A generic cast can throw an error when an item is not the expected type.

Google's Apps Script Forms Service lists the available item interfaces. The Forms API form resource is the better primary reference when you are building a maintained integration rather than a one-off inventory.

How to run the script safely

  1. Confirm that you have permission to edit the form.
  2. Create a project at script.google.com.
  3. Paste the example into the editor.
  4. Copy the form ID from the URL between /d/ and /edit.
  5. Replace PASTE_FORM_ID_HERE.
  6. Run exportQuestionStructure.
  7. Review the authorization request. Do not bypass an organization policy.
  8. Copy the JSON from the execution log.
  9. Test the result on a small form before adding direct spreadsheet output.

Some Google Workspace organizations restrict Apps Script or its authorization scopes. If the authorization flow is blocked, ask the Workspace administrator. A migration inventory is not a reason to work around an access policy.

What the sample does not preserve

An item list is useful, but it is not a restorable backup.

Review these details separately:

[ ] Section order and section descriptions
[ ] Branch destinations for each applicable choice
[ ] Response validation rules and custom error text
[ ] Quiz answers, points, and feedback
[ ] File type, count, and size restrictions
[ ] Images and videos attached to items
[ ] Email collection and response-copy settings
[ ] Add-ons, notifications, triggers, and linked spreadsheets
[ ] Theme, header image, and presentation

Branching deserves particular care. A choice value and its destination are two pieces of information. Even if an API exposes the source behavior, the destination platform may model sections and conditions differently. Verify each path with test submissions after migration.

A practical migration workflow

Use the inventory as a contract between the old form and the new one.

  1. Freeze edits to the source form or record the extraction time.
  2. Export the question structure.
  3. Create a separate behavior map for branching and validation.
  4. Build an unpublished destination form.
  5. Compare labels, types, required settings, and choices.
  6. Test every branch with representative submissions.
  7. Only then move response operations, links, and traffic.

Do not mix this with historical response import. Building the destination questions and importing past submissions are separate changes with different failure modes.

Turn the inventory into a draft you can inspect in FORMLOVA

If a question review sheet is your only deliverable, you can stop after the inventory is verified. If you also want to build a new intake form and revise it through chat, FORMLOVA can use the readable fields of a public form URL as the starting point for an unpublished draft.

For example, imagine rebuilding an inquiry form with an inquiry-type question and a details field. These are suggested prompts to try, not an account of a completed extraction. Use a public responder URL that you are authorized to share with the connected AI service.

Inspect this public form URL and list the visible question titles, field types, required settings, and choices. Show any warnings or details you cannot read. Do not create a form yet. URL: paste the public responder URL here.

Compare the returned list against your inventory first. Correct missing or unclear items, then ask:

Use the reviewed fields to create an unpublished “Inquiry intake” draft. The inquiry-type choices are Pricing, Setup, and Other. Match the required settings in the reviewed inventory and flag unknown settings instead of guessing. Give me a preview before publication.

Use the preview to make the comparison concrete:

CheckWhat to inspect in the draft
Labels and orderEvery intended question appears in the right sequence
Required settingsOptional questions have not become mandatory
ChoicesPricing, Setup, and Other are present and use a single-choice field
Mobile and desktop displayInstructions, fields, and validation messages are readable
Original behaviorBranching and validation absent from the inventory still have a separate test case

An unpublished preview does not save submitted responses. Use it to review the draft; verify actual response storage separately when preparing a published form for use. Draft creation, design changes, publishing, response collection, and CSV / Excel export are available on FORMLOVA's free plan. Importing historical responses is a separate Standard-or-higher feature. Your AI client's access requirements and charges follow that provider's terms.

Check your question inventory in an inquiry-form draft

Use readable fields from a public form to compare labels, required settings, and choices in an unpublished preview. Draft creation and review are available on the free plan.

Sign up free to build a draft from your question list

Create an account, verify your email, and connect FORMLOVA to a supported AI chat. Then use the prompts above to review the fields and create the draft. Signing up alone does not create a form.

This is not complete Google Forms migration. A public page may not expose sign-in-gated content, later questions, hidden branching, validation, quiz settings, add-ons, notifications, or the original theme. Supplement unreadable details from the inventory, configure behavior separately, and test before publishing. Keep the existing Google Form and its distribution links in service until the replacement is verified.

For field design decisions, read Form Field Examples and Selection Guide. For the wider Google Forms, Sheets, and Apps Script operating boundary, return to Google Forms + Sheets + Apps Script Operations.

Use the inventory to improve the form, not just copy it

Migration is a good time to remove accidental complexity.

Review questionWarning signBetter decision
Are labels consistent?“Details,” “Message,” and “Request” mean the same thingUse one clear label
Is every required field necessary?Phone, address, and company are all mandatory before first contactRequire only what the next step needs
Are choices current?Old products or departments remainAlign choices with current routing
Does free text have a purpose?Several open-ended fields ask similar questionsExplain what belongs in one field
Can every branch be tested?Nobody owns the path mapAssign test cases before launch

Once the destination form is verified, How to Start Form Automation with FORMLOVA explains how notifications, ownership, and post-submission work fit around it.

FAQ

Can I download only the questions from Google Forms as CSV?

There is no standard Google Forms editor button for a complete question-structure CSV. Use a manual spreadsheet for a short form, Apps Script for a larger inventory, or the Forms API for a maintained migration tool.

Can a response CSV rebuild the form?

No. Column headings may preserve question titles, but the file does not reliably preserve the question type, required setting, all possible choices, branching, validation, quiz settings, or presentation.

Can Apps Script export branching?

Apps Script can expose some navigation behavior through type-specific methods, but a reusable migration requires additional logic and destination-specific mapping. Treat branching as a separate behavior map and test every path.

Is copying the Google Form enough?

It is enough when you only need another Google Form. It does not create a portable inventory for review, standardization, or migration to a different system.

Can FORMLOVA reproduce a Google Form completely?

No complete reproduction is promised. FORMLOVA can extract visible fields from an accessible public form and create an unpublished draft, but hidden branches, validation, quizzes, add-ons, notifications, and visual details require separate review.

Read next

Start with one form: verify titles, types, required settings, and choices against its responder preview. Save the inventory if that completes the job. If you want to test a replacement, use the prompts above to build an unpublished draft and compare it before moving traffic. The FORMLOVA setup guide explains the connection steps.

Disclosure and Verification

The author develops FORMLOVA. On 2026-10-15, the Google Apps Script Item reference and FORMLOVA's public-form extraction, unpublished preview, and plan definitions were rechecked for this revision. Product and API behavior can change; verify the current Google documentation and test with a non-production form before migration.

Primary sources:

Next step

Try this workflow with a form of your own

The free plan includes form creation and publishing, response search and status management, and CSV or Excel export.

Create an account, confirm your email, then connect a supported AI chat client to get started.

Last verified on:

Share this article

Written by

@Lovanaut
@Lovanaut

Creator of Sapolova, Lovai, Molelava, and FORMLOVA. Building kind services with love.

More in this category