🤝 Contributing
Help build the AI interface everyone deserves.
Open WebUI is an independent project built and maintained by a small, dedicated core team. Whether you test dev builds, fix bugs, improve docs, or translate the UI, every contribution makes the project better for thousands of users. 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 Local Development Guide instead.
Report issues on GitHub with clear reproduction steps. We cannot deliver high-quality releases without community testing.
Submit code
We welcome pull requests. Before submitting one:
- 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 |