Working With Kohlberg's Framework in Practice
I spent about three years coding a moral reasoning classifier based on Kohlberg's stages, and the first thing you need to understand is that the original research wasn't designed for machine-readable output. It was built around open-ended interviews with hypothetical dilemmas, where scorers had to read between the lines of what people actually said versus what they claimed to believe. That gap between stated reasoning and actual justification is where everything falls apart if you're not careful. There are six stages grouped into three levels. The preconventional level covers stage one, punishment and obedience orientation, and stage two, individualism and exchange. At these stages, moral reasoning is purely self-referential. You avoid harm because you get punished. You cooperate because it serves your interests. The conventional level includes stage three, good boy nice girl orientation, and stage four, law and order orientation. Here the reasoning shifts to social approval and systemic maintenance. The postconventional level contains stage five, social contract orientation, and stage six, universal ethical principles. This is where reasoning becomes abstract and principle-based. The trap most people fall into is treating these as behavioral categories rather than reasoning categories. A person can behave selfishly at stage five or behave obediently at stage one. What matters is the justification they give when pressed, not the action itself. I saw this constantly in my work. People would write responses that sounded perfectly conventional on the surface, but when you pushed them on edge cases, their reasoning collapsed into stage two logic. The dilemma format was designed to force that exposure by making people choose between two legitimate claims.
Here is a detail that doesn't come up in textbooks. Stage six was essentially theoretical. Kohlberg himself stopped including it in scoring manuals after 1979 because he could never reliably find real examples that weren't just stage five reasoning in fancy language. Most modern applications skip stage six entirely or fold it into stage five. If someone tells you their system cleanly identifies stage six, they're either using an outdated scoring guide or they've redefined the term.
Why Automated Scoring Breaks Down
I built a pipeline that took free-text responses and mapped them to stages using keyword patterns combined with structural analysis. It worked reasonably well for conventional-level responses, which tend to use predictable social framing. Preconventional responses were harder because the reasoning is sparse and often disguised as practical advice. Postconventional responses were the real problem. They sound identical to conventional responses until you trace the underlying justification, and automated systems that don't do deep semantic analysis will consistently misclassify them. My workaround was to add a follow-up probe step. Instead of scoring the initial response alone, I generated a counter-scenario that forced the respondent to defend their position against a conflicting principle. Someone at stage four might say cheating is always wrong. When presented with a case where following the law would cause unjust harm, their reasoning often revealed whether they were anchored to the rule itself or to a deeper principle. This added about forty minutes of processing per response batch, but it cut my misclassification rate from roughly thirty percent down to twelve. Another thing nobody warns you about is cultural bias in the original instrument. The dilemmas assume a particular kind of individualistic moral framework. Responses from collectivist cultural backgrounds frequently score lower than they should because the reasoning prioritizes group harmony and relational obligations, which don't map cleanly onto Kohlberg's stage definitions. I ran into this when testing with participants from East Asian backgrounds. Their justifications were coherent and sophisticated, but they kept landing in stage three because the scoring rubric interpreted community-oriented reasoning as mere conformity rather than a distinct moral foundation.
Get the Full Details

If you're planning to use this framework for anything beyond academic discussion, I would strongly recommend pairing it with a complementary model like the Moral Foundations Theory by Haidt. It captures dimensions that Kohlberg's stages simply don't account for, particularly care, loyalty, and sanctity. The two approaches together give you something closer to what actual moral reasoning looks like instead of forcing diverse thinking patterns into a six-box hierarchy that was designed in the 1950s with a sample of about eighty white boys from the Chicago area. The original publication is The Development of Conceptions of Morality and Justice from 1971, and the scoring manual is available through Harvard's Center for Moral Education, though the center has changed hands a few times since the original research concluded. For practical purposes, the stage descriptions are widely replicated, but if you're doing anything that requires actual scoring reliability, you need the official training materials and rater calibration procedures. Without those, you're just guessing.