Thank you for your interest in contributing to ZeroSnippet! 🚀
We welcome all contributions, especially new developer tools, UX improvements, bug fixes, and documentation updates.
ZeroSnippet is designed to make adding new utilities easy and modular.
Find the appropriate category folder under app/(pages)/:
website/— Domain, URL, DNS, WHOIS, HTTP inspectiondev/— Formatters, validators, generators, diffingtext/— String manipulation, case converters, word countersfiles/— File converters, compression, EXIF, metadatadesign/— Color pickers, gradients, CSS generators, typographysecurity/— Hashing, encryption, JWT, SSL, tokensseo/— Meta tags, sitemaps, robots, hreflangapi-toolbox/— Request builders, payloads, status codes
Under your chosen directory, create:
app/(pages)/<category>/<tool-slug>/
page.tsx— Metadata, layout, explanation, and FAQ.<tool-slug>-tool.tsx— Interactive client component ("use client").
Open lib/tool-catalog.ts and add your tool to the corresponding toolSections entry:
{
name: "Your Tool Name",
href: "/<category>/<tool-slug>",
description: "Brief 1-line description of what this tool does.",
}Run the dev server and test your new tool:
npm run devZeroSnippet is built on the philosophy that developer data belongs to the developer:
- Any tool that can process data in the browser MUST process it client-side.
- Never transmit user payloads, tokens, code, or data to external servers unless the tool strictly requires network resolution (e.g. DNS or WHOIS lookup).
- Fork the repo and create your branch from
main:git checkout -b feat/add-my-awesome-tool
- Ensure the code compiles and passes linter:
npm run build npm run lint
- Commit your changes with a clear message.
- Push to your fork and submit a Pull Request!