Saying Special Characters
Dot, slash, backslash, pipe, tilde, hash, @, &, ^, *, backtick — names and context
Quick reference
- . = "dot" (file extensions, URLs, method calls)
- / = "slash" (paths, URLs) | \ = "backslash" (Windows paths, escape sequences)
- | = "pipe" (shell pipelines) | & = "ampersand" or "and" (URLs, shell background)
- ~ = "tilde" (home dir in paths) | # = "hash" (git, URLs, colors)
- @ = "at" (email, decorators) | ^ = "caret" (semver, regex) | * = "asterisk" or "star" (glob, pointer, footnote)
Question 0 of 5
How do you read the file path ~/projects/app aloud?
Both "tilde slash projects slash app" and "home slash projects slash app" are correct. The ~ symbol is called "tilde" (TILL-duh) when spelling out a path literally. However, because ~ means the home directory in Unix shells, saying "home slash projects slash app" conveys the meaning. In a terminal tutorial or README walkthrough, say "tilde" so the listener knows exactly what to type.
A developer says to type the command cat log.txt | grep ERROR. How is the | character named?
All three names are used, but "pipe" is dominant in shell contexts. The | character is officially called "vertical bar" or "vertical line." In programming and shell scripting, it is almost universally called "pipe" because it creates a pipeline between commands. "Bar" is also used. In a command explanation you would say: "cat log dot txt — pipe — grep ERROR." The word "pipe" communicates both the name and the function.
How do you read the email address dev@company.io aloud?
"Dev at company dot io" is the standard spoken form. The @ symbol is simply said as "at" in email addresses — no need to say "at-sign" or "commercial-at." The domain extension ".io" is said as two letters "eye-oh" but "dot io" is universally understood in tech contexts. Rule: for email addresses, say "at" and "dot"; for URLs, say "slash" between path segments.
How do you say the regex pattern ^[a-z]+$ aloud in a code review?
Both approaches are valid depending on context. When dictating a pattern for someone to type: "caret, open-bracket, a-dash-z, close-bracket, plus, dollar" — literal character names. When explaining what a regex does: "matches one or more lowercase letters from start to end of line" — semantic explanation. In a code review, you often combine both: "this caret anchors to line start, then a lowercase letter class, plus means one or more, dollar anchors the end."
How do you name the # character in different IT contexts?
Context determines the name. Hash: used in tech — git commits ("the hash"), URL fragments ("hash-bang" or "hashbang" for #!), color codes ("#FF0000" = "hash FF zero zero zero zero"). Hashtag: social media context. Pound sign: phone keypad instructions ("press pound"), US usage. Octothorpe: formal/typographic term, rarely used in IT speech. In most developer conversations, "hash" is the safe default.