In JavaScript, callback hell is an anti-pattern in code that happens as a result of poor structuring of asynchronous code. It is usually seen when programmers try to force a visual top-down structure in their asynchronous callback-based JavaScript code.