Technical SEO

Title, meta description, canonical, OG, Twitter, BreadcrumbList, FAQPage, WebApplication schema.

User Story Generator + Acceptance Criteria (Free)

This tool is for Agile product user stories and acceptance criteria, not HR job stories or hiring. Generate "As a / I want / so that" stories with testable acceptance criteria in checklist and Given/When/Then (Gherkin) formats, plus Definition of Done and analytics suggestions.

  • Single or batch mode; B2B/B2C toggle; output style Lean, Standard, or QA-heavy.
  • Output: title, user story, acceptance criteria (happy path, negative, edge), Gherkin scenarios, DoD, non-functional considerations, analytics instrumentation.
  • INVEST lint, solution leakage check, criteria quality and coverage. Export Markdown, JSON, CSV, Gherkin.

No login. Autosave in browser. Shareable URL.

No login. Autosave in browser.

Inputs

Generated story pack

# user can 

## User story

As a user, I want , so that .

## Acceptance criteria (checklist)

### Happy path

- [ ] User can complete the primary flow and see the expected outcome.
- [ ] Success state is clearly visible (confirmation, state change, or feedback).
- [ ] Data is persisted correctly after the action.
- [ ] User can repeat the action without errors.
- [ ] Relevant validations pass and allow progression.

### Negative scenarios

- [ ] Invalid or missing required input shows a clear error message.
- [ ] User cannot proceed until the error is corrected or acknowledged.
- [ ] Error message does not expose sensitive or technical details.
- [ ] Permission or role restriction shows an appropriate message.
- [ ] Duplicate or conflicting action is handled (e.g. idempotent or clear message).

### Edge cases

- [ ] Empty or zero state is handled (e.g. no data, first-time user).
- [ ] Boundary values (min/max, limits) are validated and behave correctly.
- [ ] Concurrent or rapid repeated actions do not corrupt state.
- [ ] Session or context expiry is handled gracefully.
- [ ] Localization or format (date, number) is respected where applicable.

## Gherkin scenarios

```gherkin
Feature: user can 

  Scenario: Happy path: user completes main flow
    Given the user is on the relevant context
    When the user performs the main action with valid inputs
    Then the outcome is visible and persisted
    And the user receives clear confirmation

  Scenario: Negative: invalid input shows error
    Given the user is on the relevant context
    When the user submits invalid or incomplete input
    Then an error message is displayed
    And the user can correct and retry

  Scenario: Edge case: empty or first-time state
    Given the user has no prior data or is in empty state
    When the user accesses the feature
    Then an appropriate empty state or guidance is shown
    And the user can still complete the flow or understand next steps

  Scenario: Negative: duplicate or conflicting action
    Given the user has already completed the action once
    When the user repeats the same action
    Then the system handles it (idempotent or clear message)
    And data remains consistent
```

## Definition of Done

- [ ] Acceptance criteria met
- [ ] Analytics events implemented
- [ ] Error states handled
- [ ] Accessibility checked (basic)
- [ ] Documentation or release notes updated

## Non-functional considerations

- Performance: key actions complete within acceptable response time.
- Offline or empty states: clear messaging when data is missing or unavailable.
- UX clarity: labels and errors are understandable by the target user.
- Accessibility: basic keyboard and screen reader support for the main flow.

## Analytics instrumentation

- story_start: when user begins the flow
- story_complete: when user successfully completes the flow
- story_error: when validation or system error occurs (with error_type property)

How it works

  1. Enter product context, audience (B2C/B2B), role, goal, and benefit. Optionally add constraints and success metric. Choose output style (Lean, Standard, QA-heavy). Click Generate.
  2. Review the story pack: title, user story, acceptance criteria (checklist + Gherkin), Definition of Done, non-functional considerations, and analytics suggestions. Use the Quality checks panel to fix INVEST issues, solution leakage, and coverage.
  3. Copy, export Markdown/JSON/CSV/Gherkin, or share a URL. Autosave in browser. No login required.

What makes a good user story (INVEST)

INVEST: Independent (one story per goal), Negotiable (details in conversation), Valuable (clear benefit), Estimable (team can size it), Small (completable in a sprint), Testable (observable acceptance criteria). The generator enforces one goal per story, a clear benefit, and testable criteria in three groups: happy path, negative, and edge cases.

Checklist vs Given/When/Then (when to use which)

Checklist format groups criteria by happy path, negative scenarios, and edge cases. Use it for backlog grooming and stakeholder review. Given/When/Then (Gherkin) is for BDD and test automation: each scenario is executable. Use checklist for alignment; use Gherkin when your team writes automated tests from scenarios or uses Cucumber-style tools.

How to avoid leading or solution-first stories

Keep the goal in outcome language: what the user achieves, not which screen or button. Avoid solution leakage (e.g. dashboard, button, API). The quality panel flags these. Write "I want to see my progress at a glance" rather than "I want a progress dashboard". Benefit should be specific: "so that I can report by region in under 2 minutes" not "so that it's better".

How to split oversized stories

Look for "and" or multiple verbs in the goal; each distinct outcome can be one story. The INVEST panel suggests splitting when multiple goals are detected. Practical pattern: one user action, one observable outcome, one benefit. Aim for 2–4 smaller stories that each pass INVEST and have their own acceptance criteria.

Pro tips

  • One goal per story: if you need 'and' or multiple verbs, split into 2–4 smaller stories.
  • Write the benefit first in your head: 'so that' should be a clear outcome, not 'to improve' or 'to have a better experience'.
  • Avoid solution words (button, dashboard, screen, API) in the goal; focus on what the user achieves.
  • Use the INVEST quality panel to catch multi-goal stories, vague benefits, and solution leakage before you share.
  • Checklist criteria should be binary and testable: 'User sees X' or 'System does Y' — no implementation detail.
  • Include at least one negative and one edge scenario in acceptance criteria; Gherkin forces you to think about failure paths.
  • For B2B, always specify the role; add a scenario for permissions or role restriction.
  • Match output style to your need: Lean for backlog hygiene, QA-heavy when test coverage matters.
  • Export Gherkin for BDD workflows; export CSV for backlog import (Jira, etc.).
  • Batch mode: paste role, goal, benefit (and optional context) per line or use tab/comma-separated columns.

Common mistakes

Symptom: Story is too big; team argues about scope.

Cause: Multiple goals or a compound 'I want A and B and C'.

Fix: Split by goal: one story per clear outcome. Use the INVEST panel to spot multi-goal wording.

Symptom: Benefit is vague ('so that it's better').

Cause: No concrete outcome; benefit could apply to any story.

Fix: Replace with a specific outcome: e.g. 'so that I can report by region in under 2 minutes'.

Symptom: Goal describes the solution, not the need.

Cause: Solution leakage: 'I want a dashboard', 'I want a button to X'.

Fix: Focus on outcome: 'I want to see my progress at a glance' rather than 'I want a progress dashboard'.

Symptom: Acceptance criteria are not testable.

Cause: Criteria are vague or describe implementation.

Fix: Write binary, observable criteria: 'User sees confirmation within 2s' not 'System should be fast'.

Symptom: Only happy path criteria; no negative or edge cases.

Cause: Skipping error and boundary conditions.

Fix: Add at least one negative (invalid input, permission denied) and one edge (empty state, limit) scenario.

Symptom: Gherkin scenarios are too long or implementation-heavy.

Cause: Steps mention UI or technical detail.

Fix: Keep steps at user/outcome level: Given/When/Then with observable results; 3–5 steps per scenario.

Symptom: B2B story doesn't mention roles or permissions.

Cause: Treating B2B like B2C; role is optional.

Fix: Set user role and add a scenario for permission or role restriction.

Symptom: DoD is ignored or never updated.

Cause: Generic DoD not tailored to the story.

Fix: Use the default DoD as a baseline; customize in settings (local). Tie analytics events to the story's success metric.

FAQ

Is this for Agile product user stories or HR job stories?

This tool is for Agile product user stories and acceptance criteria (software product development), not HR job stories or hiring. You get 'As a / I want / so that' stories plus checklist and Gherkin acceptance criteria, Definition of Done, and analytics suggestions.

What is INVEST?

INVEST is a checklist for good user stories: Independent, Negotiable, Valuable, Estimable, Small, Testable. The quality panel flags violations: multiple goals (not small/independent), missing or vague benefit (not valuable), and suggests splits. It also checks for solution leakage and criteria coverage.

When should I use checklist vs Given/When/Then?

Checklist format is great for backlogs and quick review: bullet points grouped by happy path, negative, and edge. Given/When/Then (Gherkin) is for BDD and test automation: each scenario is executable. Use checklist for stakeholder alignment; use Gherkin when your team writes automated tests from scenarios.

What are solution leakage and how do I fix them?

Solution leakage means the story describes the solution (e.g. button, dashboard, screen, API) instead of the user need. The tool flags words like these. Fix by rewriting the goal around the outcome: e.g. 'I want to see my progress at a glance' instead of 'I want a progress dashboard'.

How do I split an oversized story?

Look for 'and' or multiple verbs in the goal; each distinct outcome can be one story. The INVEST panel suggests splitting when multiple goals are detected. Aim for 2–4 smaller stories that each deliver one testable outcome. Smaller stories are easier to estimate and ship.

What is batch mode?

Batch mode lets you paste 5–30 lines (or upload CSV) with at least role, goal, benefit (and optional context). The tool generates a full story pack for each row. Export CSV for backlog import or use the table to expand each story. Handy for backlog refinement and sprint planning when you have many stories to draft.

Can I customize Definition of Done?

Yes. The default DoD (acceptance criteria met, analytics implemented, error states, accessibility, docs) is stored in your browser. You can override it in settings so generated stories use your team's DoD checklist. Changes apply only locally and are used for the next story you generate.

What export formats are available?

Copy (full story pack to clipboard), Markdown (sections A–G), JSON (inputs, outputs, quality results), CSV (backlog-ready columns: story_id, title, role, goal, benefit, checklist, gherkin, dod, nfr, analytics), and Gherkin (.feature file for BDD). Use CSV for Jira or similar; use Gherkin for BDD test automation.

How does B2B vs B2C change the output?

B2B: user role is required; output includes a scenario for permissions/roles. Non-functional considerations focus on audit, role permissions, data retention. B2C: role can be 'user'; NFRs focus on performance, offline/empty states, UX clarity. Analytics suggestions align to the audience and success metrics.

Is the user story generator free?

Yes. The tool is free, runs in your browser, and requires no login. You can generate single or batch stories, load 3 examples, run quality checks, and export Markdown/JSON/CSV/Gherkin. Autosave uses local storage; we do not store your data. No sign-up or payment required.

Learn more with CraftUp

Courses, blog, and glossary for product and discovery skills.

From story to shipped

Use CraftUp tools and courses to go from user stories to validation and execution.

Freshness

Last updated: 2026-03-05

  • 2026-03-05: Launched User Story Generator with single and batch modes, B2B/B2C, and INVEST quality checks.
  • 2026-03-05: Added checklist (happy/negative/edge), Gherkin scenarios, DoD, NFRs, and analytics suggestions.
  • 2026-03-05: Export Markdown, JSON, CSV, Gherkin; shareable URL; 3 loadable examples.