Skip to main content

🤝 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:dev

The 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:

  1. Open a discussion first. Propose your idea here so the team can align on approach before you write code.
  2. Follow existing conventions. Match the project's coding standards, naming patterns, and architecture.
  3. Keep PRs atomic. Each pull request should address a single objective. If scope grows, split it into smaller, logically independent PRs.
  4. 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.
  5. Include tests. Cover new features with tests and update documentation as needed.
  6. 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:

  1. Create a new directory under src/lib/i18n/locales named with the appropriate language code
  2. Copy the en-US translation files into the new directory
  3. Translate the string values in each JSON file while preserving the object structure
  4. Register the language in src/lib/i18n/locales/languages.json

Improve accessibility

Accessibility is a core part of good design. When contributing UI changes:

PrincipleWhat to do
Semantic HTMLUse <button>, <label>, <nav>, and other semantic elements instead of generic <div> wrappers
Keyboard navigationEnsure all interactive elements work without a mouse
ARIA labelsAdd ARIA roles and labels where semantic HTML alone is insufficient
Color contrastVerify contrast ratios with WebAIM Contrast Checker
Alt textProvide 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.
Scope of support

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

ChannelLink
Discorddiscord.gg/5rJgQTnV4s
Redditr/OpenWebUI
GitHub Issuesopen-webui/open-webui/issues
GitHub Discussionsopen-webui/open-webui/discussions
This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.