AI commit message generator
Paste a git diff, get a Conventional Commits message you would actually sign off on.
Your key stays in your browser.It goes straight to the provider, never to our servers, and we neither log nor keep it. Use a dedicated key with a spending cap, and delete it in the provider's dashboard when you are done.
Input
Result
The result will appear here.Commit messages get written last, in a hurry, and end up as "fix stuff". Paste the output of git diff --staged and this writes the subject line — and a body if you want one — in Conventional Commits form (feat, fix, refactor, perf…) or as a plain sentence, in English or Chinese. The rules come from Nutlope/aicommits and di-sukharev/opencommit, the two CLIs most developers use for this: describe the behaviour that changed rather than the files, use feat only for new capability, and never mark a change as breaking unless the diff clearly breaks an API.
How it works
- Lock-file hunks (package-lock.json, pnpm-lock.yaml, go.sum, Cargo.lock…) are cut out before sending and replaced by their names, so thousands of hashes do not eat your tokens.
- The subject is imperative and aimed at 50 characters, never more than 72; the type and scope stay in English even when the message is in Chinese.
- The answer is the bare message with no fences or quotes, ready for git commit -F or your editor's commit box.
Where your data goes
With your own key, what you type and the key go from your browser straight to the provider you choose; neither passes through Hysen Labs. In hosted mode, your text goes through our server to our provider (DeepSeek) and is billed in credits; we keep the token counts and cost of each run for billing, never the text itself or the answer. How the provider handles the text is governed by its own privacy policy.
This tool handles keys and credentials, so nothing about a run is saved, not even to your own history.
About your API key
We do not collect, store or leak your key: it lives only in this page's memory (unless you tick “remember in this tab”) and is gone when you close it. Still, treat any key you have pasted into a web page with care — create a dedicated key with a spending cap for use here, and delete or rotate it in your provider's dashboard when you are done.
What it costs
This tool is free, with no sign-in and no points.
Common questions
- Where does my diff and API key go?
- From this tab straight to the provider you pick, using your own key; hysenlabs.com never receives either. A diff can contain internal code, so use a provider your company allows, and a separate key with a spending cap that you revoke when you are done.
- Which diff should I paste?
- git diff --staged for what you are about to commit, or git diff main...HEAD for a whole branch. Staged is better: the message should describe exactly what goes into the commit, and unstaged noise makes the model guess.
- Why did it pick refactor instead of fix?
- The prompt reserves fix for corrected behaviour and refactor for changes that should not alter behaviour. If the diff alone does not show that a bug was fixed, the model cannot know it; add a line such as "fixes crash when list is empty" above the diff and it will use it.
- Can it follow our commitlint rules?
- It follows the standard Conventional Commits types. If your team uses custom types or a mandatory scope list, check the output against your commitlint config before committing — the tool does not read your repository's configuration.
The open-source behind it
This tool's prompt is adapted from Nutlope/aicommits (MIT) and runs on the model you choose. To use the same capability from the command line or inside your own program, start with that project.
Nutlope/aicommitsAlso known as
- ai commit message generator
- git commit message from diff
- conventional commits generator
- aicommits online
- write commit message ai