Nobody Pronounces the 'B' in 'Debt'

And nobody ever did

Most of the time if you're indebted to someone you're grateful to them for giving you something or making something possible.

That is not how you should feel about those responsible for the spelling of debt. They have done us no favors.

why is debt spelled with a b

It would've been fine, if it weren't for those meddling scholars.

While it's usually true that a silent letter in an English word is evidence of some former pronunciation the word had, in some cases it's not the language's fault at all, but is actually the fault of lexical meddlers.

Debt is derived through the Middle English word dette, from the Old French dette or dete. Note the conspicuous absence of "b." Some scholars in those dark days we refer to as the Middle Ages sure did. They knew that the word had its origin in the Latin word debitum, and they thought it should pay homage to that word—and they had the wherewithal to slip a "b" into both the English and French versions of the word. Despite the fact that the "b" had never been pronounced in either language, the spellings became established.

While Modern French spelling reform eliminated the "b" it had been saddled with, English has not managed to shed its own. The language suffers similarly (and for the same reason) with the silent letters in doubt, plumber, subtle, indict, and island.