WeBWorK: Open-Source Online Homework That Works

Free software. Instant feedback. Unique problems for every student. Trusted by 1,000+ institutions worldwide.

What WeBWorK does

WeBWorK is an online homework system built for mathematics, science, and engineering courses. Instructors assign problem sets; students work on them in a web browser and get instant feedback on their answers.

What makes WeBWorK different:

The cost argument

Commercial homework platforms charge $40–$100 per student per semester. For a department with 2,000 students, that’s $80,000–$200,000 per year — paid by students or the institution.

WeBWorK is free software. The only cost is hosting. For most institutions, adopting WeBWorK pays for itself in the first semester.

LMS integration

WeBWorK integrates with your existing learning management system via LTI 1.3. We support Canvas, Brightspace by D2L, Moodle, and Blackboard out of the box, plus any LTI 1.3-compliant consumer with additional lead time. Students access WeBWorK directly from their LMS. Grades flow back automatically. No separate login required.

The Open Problem Library

The WeBWorK community maintains the Open Problem Library (OPL) — over 60,000 peer-reviewed problems spanning arithmetic through graduate-level mathematics, plus physics and engineering. Instructors can browse by topic, search by learning outcome, or write their own problems using WeBWorK’s flexible problem language. Custom problems stay with your institution and can be shared back to the community.

Community and sustainability

WeBWorK has been in continuous development since 1996. It’s maintained by The WeBWorK Project (TWP), a 501(c)(3) nonprofit, with contributions from faculty and developers at institutions worldwide.

Rationarium donates 10% of revenue back to TWP to support ongoing development, code camps, and community infrastructure.

Want to try WeBWorK at your institution?

Rationarium handles the hosting, integration, and onboarding so you can focus on teaching.

See hosting plans → | Request a quote →