Branch Name Generator
Generate a clean, conventional git branch name.
- $15 Free
- 20 sec
- No signup
Pick the branch type
Add ticket and description
Copy the branch name
You get: A properly-formatted, convention-following branch name.
Describe the work
Your branch name
feat/PROJ-12-add-login-page
Valid: lowercase, kebab-case, no spaces or illegal characters. Safe for any git host.
Create it
git switch -c feat/PROJ-12-add-login-page
Why branch names matter more than you think
A branch name is a tiny label, but it is read dozens of times: in git branch listings, in pull request titles, in CI logs, in your teammates' terminals. A consistent naming scheme makes all of that legible at a glance. An inconsistent one - mix of camelCase, random spaces, capital letters, someone's name - turns your branch list into noise. This generator takes a type, a ticket, and a short description and produces a clean, lowercase, kebab-case branch name that reads the same across your whole team.
It runs entirely in your browser. Type your inputs and the name updates live; nothing is sent anywhere.
The convention this tool follows
The generated pattern is type/TICKET-short-description, for example feat/PROJ-12-add-login-page. This mirrors the Conventional Commits type prefixes, so your branches speak the same language as your commit history. The type says what kind of work it is, the ticket links it back to your tracker, and the description makes it human-readable. Everything after the type is normalized to kebab-case: lowercase letters, numbers, and hyphens only.
The rules being applied
- Lowercase everything except the ticket ID, which is uppercased (PROJ-12) since trackers use uppercase keys.
- Replace spaces and punctuation with single hyphens - no double hyphens, no leading or trailing hyphens.
- Keep only characters that are safe on every git host: letters, numbers, hyphens, and the single type slash.
- Trim the description, never the ticket, when the name would exceed your max length - the ticket link is the part you cannot afford to lose.
- Avoid slashes inside the description so the name stays a clean two-part path.
Why kebab-case, not camelCase
Git branch names are case-sensitive on Linux but case-insensitive on macOS and Windows, which causes real collisions across teams. Sticking to lowercase kebab-case sidesteps that entire class of bug.
Keep names short and specific
A good branch name is specific enough to know what it does but short enough to type and read. feat/PROJ-12-add-login-page is great. feat/PROJ-12-add-the-new-login-page-with-oauth-and-remember-me-and-error-states is not - it is a commit message pretending to be a branch name. The max-length slider above enforces a ceiling and trims the description to fit, so you get a name that stays under control. Aim for roughly 30 to 50 characters.
Using branch names with Claude Code
When you run Claude Code with git worktrees for parallel agents, branch names double as folder names and session labels. A clean convention pays off immediately: feat/PROJ-12-add-login and fix/PROJ-14-token-refresh tell you at a glance which agent is doing what. Feed the generated name straight into git switch -c, or hand it to Claude Code and ask it to create the branch and start working. Consistent names keep your worktree list readable even with five agents running.
Fitting your team's variant
Some teams use username/feature, some use feature/ticket, some drop the ticket entirely. The type/ticket-description pattern here is a solid default that works for most teams and matches Conventional Commits, but the important thing is that everyone uses the same one. Pick a convention, write it in your CONTRIBUTING or CLAUDE.md file, and generate every branch the same way. Consistency is worth more than any particular format.
Frequently asked questions
What format does this generate?
type/TICKET-short-description in kebab-case, for example feat/PROJ-12-add-login-page. The type mirrors Conventional Commits so your branches and commits share the same vocabulary.
Why kebab-case instead of camelCase or snake_case?
Kebab-case (words-with-hyphens, all lowercase) is the most portable choice. It avoids case-sensitivity collisions between operating systems and is easy to read in a terminal.
Is the ticket ID required?
No. Leave it blank and you get type/description. If you use an issue tracker, including the ticket makes it trivial to link a branch back to its work item.
How long should a branch name be?
Short enough to type and read, specific enough to identify the work - roughly 30 to 50 characters. The max-length slider trims the description to keep you in range.
Can I use this for parallel Claude Code worktrees?
Yes. Consistent branch names double as clear worktree folder names and session labels, which keeps multiple agents legible. Feed the name into git switch -c or hand it to Claude Code.
Does anything get sent to a server?
No. The name is generated live in your browser with no network calls, logging, or signup.
Liked this tool? The club is the next step.
Join Claude Code Club for $9/month. 650+ lessons, weekly updates, and the workflows behind every tool on this site.
- No experience needed
- Cancel anytime
- Updated weekly
