Git Branch Name Generator
Paste a ticket ID and its title and get a tidy, valid branch name such as feature/PROJ-1423-add-oauth-login, plus the git command to create it. Pick your team's prefix, separators and length limit once and they are remembered.
Last updated:
Tip: paste "PROJ-12: Fix crash" and leave the ID empty, the ID is detected automatically
0 = no limit. 50–60 keeps names readable in tools
How to use the Git Branch Name Generator
- Enter the ticket ID (PROJ-123, #42) and the ticket title.
- Choose the branch type, such as feature or bugfix, or a custom prefix.
- Set your team's style: separators, ticket case, ticket position and maximum length.
- Click Generate (the name also updates as you type).
- Copy the branch name or the git command and run it in your terminal.
Common branch type prefixes
| Prefix | Use it for | Example |
|---|---|---|
| feature/ | New functionality | feature/PROJ-88-export-to-csv |
| bugfix/ or fix/ | Non-urgent bug fixes on the development branch | fix/482-empty-upload-crash |
| hotfix/ | Urgent fixes branched from production | hotfix/OPS-77-webhook-retry-500 |
| release/ | Stabilising a version before it ships | release/v2.4.0 |
| chore/ | Tooling, dependency bumps, housekeeping | chore/update-eslint-config |
| docs/ | Documentation only | docs/api-auth-examples |
| refactor/ | Code changes without new behaviour | refactor/split-user-service |
| test/ | Adding or fixing tests | test/payment-edge-cases |
The type names match Conventional Commits types (feat, fix, chore, docs…), so many teams use the same word in the branch name and the commit message.
Rules this generator applies
- Lowercase words, hyphen-separated: avoids case clashes on Windows and macOS, where Feature/Login and feature/login can collide.
- ASCII only: accents are stripped (café → cafe) and symbols such as &, !, emoji and quotes are dropped.
- Ticket ID kept as typed or in uppercase, because tracker integrations usually match keys like PROJ-123.
- Whole-word trimming: when the name is too long, words are removed from the end of the description, never from the prefix or ticket.
- Git-safe: no spaces, no "..", no ~ ^ : ? * [ \, no leading dots and no trailing slash, dot or ".lock".
Frequently asked questions
What is a good git branch naming convention?
A common pattern is type/TICKET-short-description, for example feature/PROJ-1423-add-oauth-login. The type groups branches, the ticket ID links the work to your tracker, and a few lowercase words separated by hyphens say what the branch is about.
Which characters are not allowed in a git branch name?
Git rejects spaces, control characters, ~ ^ : ? * [ and backslash, two dots in a row (..), the sequence @{, a component starting with a dot, and names ending in / or .lock. This generator replaces or removes all of those.
Should the Jira ticket key be in the branch name?
Including it is recommended. Jira, GitHub, GitLab and Bitbucket integrations can link a branch to an issue when the key (such as PROJ-123) appears in the branch name, and it makes old branches easy to trace.
How long should a branch name be?
Git itself has no practical limit, but names over about 50 to 60 characters are hard to read in terminals, CI logs and pull request lists. Keep three to six meaningful words after the ticket ID.
Slash or hyphen after the type?
A slash (feature/login) is the most common choice because many git tools show slash-separated names as folders. Note that you cannot have a branch called feature and another called feature/login at the same time, because git stores them as a file and a folder.
What is the difference between git switch -c and git checkout -b?
Both create a new branch and switch to it. git switch -c was added in Git 2.23 as a clearer command for branch switching; git checkout -b works in every version.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.