Back
Asciify Logo
Asciify

Low Line

_ (Low Line) is ASCII code point 95 (0x5F), Unicode U+005F, and a printable punctuation character. It draws a short horizontal stroke at the baseline — originally a proofreading mark indicating that a word should be underlined, back when underscoring on a typewriter meant typing, backspacing, and striking the key. In code, the underscore is the connector tissue of naming conventions. Snake_case (my_variable_name) dominates Python, Ruby, Rust, and C's standard library. Many languages give it a special semantic role: Python uses _ as a throwaway variable in unpacking and __init__ for dunder methods, while JavaScript recently adopted _ conventions for signaling private intent. SQL treats _ as a single-character wildcard in LIKE patterns, so querying WHERE name LIKE 'a_b' matches "acb" and "a2b" — a behavior developers discover only when their filter returns unexpected rows because they forgot to escape a literal underscore. The character was present on typewriters well before computing, serving purely as the mechanical underline key. UTF-8 encodes it as a single byte 0x5F. Unicode classifies it as Pc (Punctuation, Connector) with the name LOW LINE — the only ASCII character in the Connector subcategory, reflecting its unique role as the punctuation mark languages treat as part of a word rather than a boundary between them.

Symbol

Technical Details

Code Example

</>
char key[32] = "user";
strcat(key, "_"); // delimiter
strcat(key, "id"); // builds "user_id"

Frequently Asked Questions

  • Underscore separates words in identifiers: user_name, MAX_SIZE, get_data(). This convention is called snake_case and dominates Python, Rust, C, and Ruby. It was popular before camelCase because early systems were case-insensitive. Both are equally readable — just be consistent within a project.

  • Convention varies by language. In Python, _private suggests a private variable (not enforced). __name triggers name mangling. _unused indicates an intentionally unused variable. In JavaScript, _lodash was the lodash library. In Go, _ is the blank identifier (discard a value).

  • Reading 1000000 is hard. Reading 1_000_000 is easy. Python, Rust, JavaScript, Java, and Swift allow underscores in numeric literals for readability. The compiler ignores them entirely. You can place them anywhere: 0xFF_FF, 3.14_159, 1_00 (though unconventional placements hurt readability).

  • _ is the wildcard pattern — 'match anything, discard the value.' In pattern matching (Rust, Haskell, Scala), _ matches any variant: match x { 1 => 'one', _ => 'other' }. In Python, _ conventionally stores the last REPL result and serves as a throwaway variable in loops.

@workani&@alexluthor
Privacy & legal

Privacy

No accounts, no ads, no tracking cookies, and no cross-site tracking. The only analytics we keep are faceless — anonymous, aggregated counts of pages and searches, never tied to you. We store no IP addresses, set no tracking cookies, and build no profiles. Cloudflare hosts the site and handles requests for delivery and security.

Full privacy policy·Extension privacy·legal@asciify.dev

Attributions & licenses

Twemoji
© Twitter, Inc and other contributors · CC-BY 4.0
Noto Color Emoji
© Google · Apache 2.0
Fluent UI Emoji
© Microsoft · MIT
OpenMoji
© HfG Schwäbisch Gmünd · CC-BY-SA 4.0
Toss Face
© Viva Republica (Toss) · SIL OFL 1.1
JoyPixels
© JoyPixels Inc. · Free Limited Use License
SerenityOS Emoji
© The SerenityOS Developers · BSD-2-Clause
EmojiTwo
© EmojiTwo contributors · CC-BY 4.0
Apple Color Emoji
© Apple, Inc.
Facebook Emoji
© Meta Platforms, Inc.

Apple and Facebook emoji styles are proprietary and shown here solely for reference and comparison — a common-sense application of nominative-use / fair-use principles. asciify is not affiliated with, endorsed by, or sponsored by Apple, Inc., Meta Platforms, Inc., or any other rights holder listed above. If a rights holder requests removal of their emoji style from this site, it will be removed.

All other vendor emoji are reproduced for reference and comparison under their respective open licenses listed above.

Character names and code points from the Unicode® Standard. Unicode® and the Unicode Logo are registered trademarks of Unicode, Inc.

Privacy
© asciify.dev 2025-2026