🤝 Contributing
Help build the AI interface everyone deserves.
Open WebUI is an independent project built and maintained by a small, dedicated core team. The most valuable contributions are often not code. Testing dev builds, filing clear bug reports, proposing ideas in Discussions, improving docs, and translating the UI all have an outsized impact on the project. This page explains how to get involved and what to expect.
Code of Conduct
All contributors and community participants must follow the Code of Conduct. We operate under a zero-tolerance policy: disrespectful, demanding, or hostile behavior results in immediate action without prior warning.
This project is built by volunteers in their free time. Treat every interaction with professionalism and respect.
Ways to Contribute
Test the development branch
One of the most valuable contributions requires no code at all. Run the dev branch, use it daily, and report what breaks.
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:devThe dev branch moves fast, so pull updates regularly. If Docker is not your preference, follow the Developing Open WebUI instead.
Report issues on GitHub with clear reproduction steps. We cannot deliver high-quality releases without community testing.
Submit code
The most impactful way to contribute is through well-written bug reports, detailed feature discussions, and thoughtful ideas posted in Discussions. These directly shape the project's direction.
If you do submit a pull request, please understand that Open WebUI is held to the highest standard of code quality, consistency, and architectural coherence. Every line merged becomes something the core team must own, maintain, and support indefinitely. For this reason, submitted code may be refactored, rewritten, or used as inspiration for a different implementation. This is not a reflection of your work's quality. It is how we ensure that a small team can deeply understand and evolve every part of the codebase.
Before submitting a PR:
- Open a discussion first. Propose your idea here so the team can align on approach before you write code.
- Follow existing conventions. Match the project's coding standards, naming patterns, and architecture.
- Keep PRs atomic. Each pull request should address a single objective. If scope grows, split it into smaller, logically independent PRs.
- Avoid new external dependencies. Do not add libraries or frameworks without prior discussion. We aim to stay framework-agnostic and implement functionality ourselves when practical.
- Include tests. Cover new features with tests and update documentation as needed.
- Write clear commit messages. Descriptive messages make review and history tracking easier.
Improve documentation
Help make Open WebUI more accessible by improving docs, writing tutorials, or creating setup guides. Documentation lives in the docs repository.
Translate the UI
Open WebUI uses JSON translation files in src/lib/i18n/locales. Each subdirectory is named with an ISO 639 language code (e.g., en-US, fr-FR).
To add a new language:
- Create a new directory under
src/lib/i18n/localesnamed with the appropriate language code - Copy the
en-UStranslation files into the new directory - Translate the string values in each JSON file while preserving the object structure
- Register the language in
src/lib/i18n/locales/languages.json
Improve accessibility
Accessibility is a core part of good design. When contributing UI changes:
| Principle | What to do |
|---|---|
| Semantic HTML | Use <button>, <label>, <nav>, and other semantic elements instead of generic <div> wrappers |
| Keyboard navigation | Ensure all interactive elements work without a mouse |
| ARIA labels | Add ARIA roles and labels where semantic HTML alone is insufficient |
| Color contrast | Verify contrast ratios with WebAIM Contrast Checker |
| Alt text | Provide descriptive alt for meaningful images; use alt="" for decorative ones |
Test your changes with Lighthouse or your browser's accessibility tools.
Reporting Issues
Check the Issues tab before opening a new one. When filing:
- Use the issue template. Issues that do not follow the template or lack requested information will be closed.
- Include reproduction steps. Describe what you did, what you expected, and what actually happened.
- Be specific. Vague reports ("it doesn't work") cannot be investigated effectively.
Open WebUI supports Docker deployment, but we assume familiarity with Docker fundamentals. Issues related to reverse proxy configuration, container networking, or host OS setup are outside the project's support scope. Refer to the official Docker documentation for those topics.
Get in Touch
| Channel | Link |
|---|---|
| Discord | discord.gg/5rJgQTnV4s |
| r/OpenWebUI | |
| GitHub Issues | open-webui/open-webui/issues |
| GitHub Discussions | open-webui/open-webui/discussions |