Neatbo.

Whole Gherkin structure export

Parse a complete feature into its full native AST, retaining the original and every structure without running tests.

Browser-local processingInputGherkin / .featureOutputAST JSON + original + reportUp to 10 MiB per file · File limit: 1

Complete Gherkin source

Your complete source stays in this browser. No scenarios or steps execute.

Only the selected input mode is processed. Source #language overrides the default dialect.

Ready

Complete structure and original

Run to inspect the complete AST and original.

Before you start

Retain Feature, Rule, Background, Scenario, every Examples block, Step, DataTable, DocString, tags, comments, descriptions and native locations. Duplicate names remain distinct; numeric-looking text stays text.

How to use this tool

  1. Choose one original UTF-8 file or complete paste, then set the active input and default dialect.
  2. Run and inspect the complete AST tree, original text and bounded native diagnostics.
  3. Copy the full AST JSON and save all three downloads: structure, byte-exact original and report.

Supported inputs and limits

One strict UTF-8 file or complete paste: 4 MiB bytes and 4 Mi UTF16 units; 100,000 lines; 262,144 UTF16 units per line.

100,000 table cells; 200,000 AST entities; 100 million guarded work units; 16,777,216 retained UTF16 units.

All physical outputs and held serialization/clone/copy resources share 64 MiB; joint logical owned resources share 512 MiB. One 10-second deadline covers capture through first publication.

All 80 native dialects; #language controls parsing. Native title indentation counts codepoints, table columns use JavaScript UTF16 indices; no invented end spans.

Invalid syntax, malformed UTF-8, unpaired paste surrogates, unknown dialects or an exceeded budget reject the whole run. Native diagnostics stop at 11. No tests, UUIDs, pickle expansion or user code execute.

Private files from the original questions were not published; exact legacy Java schema compatibility is unknown. Capacity, actual Worker and cross-engine acceptance remain pending.

Worked example

Example input

@sample
Feature: Export structure
  Scenario Outline: Keep every example
    Given value <value>
    Examples: first
      | value |
      | -0    |
      | large |
Example options
Explicitly synthetic example; English default dialect, complete paste.

Example output

One Scenario Outline with the complete Examples header and two string-valued rows; the original remains complete.

When something does not work

Changing input cancels the job and clears old artifacts. After cancellation or timeout, retry the same original in a fresh worker; fix invalid content or reduce an exceeded scope first.

Frequently asked questions

Does this run scenarios or steps?

No. The mature parser only builds the complete structure; it does not load step definitions or run tests.

Why are scenario names not object keys?

Duplicate names and multiple Examples blocks can be valid. Arrays, native IDs and locations preserve each distinct entity.

Documentation & further reading

Related tools