This question already has an answer here:
I frequently see the abbreviation "No" to mean "Number" (or "Nos" to mean "Numbers") instead of the much more common meaning of the word (a negative statement or denial). Sources cited here say it's the correct abbreviation, but don't really explain why it got that way or why it remains true today.
This seems odd because of
(a) the strong negative association with that choice of abbreviation, especially when letters are used instead of a direct symbol,
(b) the availability of other abbreviations like "Num." or "Nr." or "#", and
(c) the fact that the English word "Number" doesn't have an o in it (the abbreviation makes more sense in Spanish, for example, as short for "Numero," but even there it's reportedly not used without superscripts due to confusion with "no" as a negative word).
Why does English use "No." as an abbreviation for "Number?"