The number sign, commonly called the hash symbol or pound sign, is a compact vertical stroke placed atop a digit: #. In everyday contexts it can signal a telephone touch‑tone, a social media topic label, or a programming unit called a hash. It also appears in weight notation, room numbers, and URL fragments. This evergreen explainer explains the symbol’s visual forms, typographic names, historical lineage, core meanings across fields, and reliable ways to use it without confusion.
Names and Visual Forms
Primary Names in Use
The most common labels are number sign, hash symbol, and pound sign. Regional and institutional habits differ: telecommunications and phone keypads favor "pound," programming and social platforms prefer "hash," and informal writing often uses "number sign." Understanding which audience expects which name reduces ambiguity.
Typographic and Unicode Details
In Unicode, the character is U+0023 # LATIN CAPITAL LETTER SHARP S (often called simply "number sign" in documentation). The glyph typically features vertical strokes and a crossbar, though rendering varies by typeface. In code and markdown, the symbol is ASCII 35 (decimal) and is compatible with most encodings and keyboards.
Origins and Historical Background
From Music and Weight to Computing
Originally a medieval symbol for libra pondo (pound by weight), the mark evolved into a unit of measure and later shorthand for the number order in business documents. In telephony, it became the "pound" key on analog and digital phones. In programming, hash functions and hash tables popularized the name hash, cementing the symbol in technical usage.
Adoption in Digital Contexts
IRC and early internet forums used # to mark channels, while Twitter later standardized it as a topic delimiter, now widely called a hashtag. The symbol's role in URLs as a fragment identifier lets browsers jump to specific sections, a convention preserved in modern web frameworks and content management systems.
Core Meanings by Domain
Telephony and Touch‑Tone
On a telephone keypad, # is the "pound" key, used in many corporate systems to signal the end of a number string or to trigger special menu options. It contrasts with * (asterisk), which often starts alternate flows.
Programming and Scripting
In many languages, # begins a comment line so that the rest of the line is ignored by the compiler or interpreter. Python, shell scripts, and configuration files rely on this convention. In C and related syntax, # directs the preprocessor to run before compilation, while SQL uses it asymmetrically in some dialects for session variables.
Social Media and URLs
Platforms such as X (formerly Twitter), Mastodon, and Bluesky use # to create clickable topic tags, or hashtags, that group posts and enable discovery. In URLs, a solitary # and everything after it is the fragment, instructing the browser to locate an in‑page anchor without triggering a new request.
Practical Guidance and Common Pitfalls
When writing for international audiences, spell out the context (use "number sign" or "hash" instead of ambiguous terms like "pound"), and pair the symbol with a clear label for accessibility. Be mindful that mixing phone keypad conventions and programming uses can confuse readers; define your intended meaning up front. Control characters like backspace (ASCII 8) cannot replace # in structured formats that expect a proper symbol.
Comparison of Uses and Context
| Context | Name | Typical Placement | Key Function |
|---|---|---|---|
| Telephony keypad | Pound | End of number string in dial plans | Signal completion or menu selection |
| Source code | Hash or number sign | Line start in many languages | Mark comments or preprocessor directives |
| URLs | Fragment | After a solitary # | Navigate to an in‑page anchor |
| Social platforms | Hashtag | Before a word or phrase without spaces | Group and discover content |
| Weight/size notation | Pound | After a numeral | Indicate units (e.g., 10# bag) |
Conventions for Correct Usage
- Use # as a fragment delimiter in URLs when linking to sections within a page.
- In source code, follow the language's convention for comments and preprocessor directives.
- On social platforms, attach # directly to the first character of a topic term without spaces.
- When documenting telephony flows, label # explicitly as "pound" to match user prompts.
- Avoid ambiguous references such as "use the pound key" for audiences unfamiliar with telephone terminology.
Accessibility and International Considerations
For screen readers, accompany the symbol with a clear name (for example, "hash" or "number sign") or use visible text. In multilingual documentation, translate surrounding instructions but retain the symbol itself, since it is universal. Ensure sufficient color contrast when rendering the glyph, particularly in interfaces with low‑contrast themes.
When to Choose Hash versus Alternatives
Use hash-style comments where the language defines them; reserve the pound label for telephony contexts. URLs should employ a single # for fragment navigation, and social tags should combine # with concise, relevant terms. Standardize spelling and avoid creative variants such as substituting "#" with visual lookalikes, which can break parsing and confuse users.
Conclusion and Ongoing Best Practice
The number sign remains a concise, efficient marker across communication systems. By matching the name and placement to your audience and platform conventions—hash in code and social contexts, number sign in documentation, and pound in telephony—you minimize ambiguity and maximize clarity. Consistent use, accessible labeling, and explicit context setting ensure the symbol remains dependable in both current and future applications.