Style guide
This guide covers editorial and style conventions for Stack Overflow content.
Capitalization rules
Product names in running text
When Stack Overflow products appear in running text, always capitalize the full product name.
Don’t
- Sign up for stack internal today
- Our stack ads platform reaches millions
- Access stack data licensing
- Your internal knowledge base
Do
- Sign up for Stack Internal today
- Our Stack Ads platform reaches millions
- Access Stack Data Licensing
- Your Stack Internal knowledge base
Feature names
Feature names should be capitalized when referring to the specific Stack Overflow feature, but lowercase when used generically. Generic features like questions, answers, tags and search etc should all remain lowercase.
Don’t
- Use enhanced search to find answers
- Join a collective on Stack Overflow
- The Enhanced Search Feature is powered by AI
Do
- Use Enhanced Search to find answers
- Join a Collective on Stack Overflow
- Enhanced Search is powered by AI
- Our enhanced search capabilities help developers...
Generic vs specific usage
When using product-related terms generically (not referring to the Stack Overflow product), use lowercase.
Don’t
- We offer Data Licensing to our clients (when not referring to the specific product)
- internal knowledge sharing tools (when specifically referring to Stack Internal)
Do
- Many companies offer data licensing to their clients
- Stack Internal helps teams with internal knowledge sharing
- We provide advertising solutions through Stack Ads
- Companies need advertising solutions to reach developers
Possessives and plurals
Possessives
Use standard possessive rules with Stack Overflow and product names.
Don’t
- Stack Overflows’ mission
- Stack Internals’ features
Do
- Stack Overflow’s mission
- Stack Internal’s features
- Stack Ads’ reach (or “the reach of Stack Ads”)
Plurals
Avoid pluralizing product names. Use “instances”, “deployments” or similar terms instead.
Don’t
- Multiple Stack Internals
- Two Stack Ads
Do
- Multiple Stack Internal instances
- Two Stack Internal deployments
- Several Stack Ads campaigns
Abbreviations
External communications
Never use abbreviations in external-facing materials including marketing, documentation, blog posts, or sales materials.
Don’t
- SO provides data licensing
- Try SI for your team
- SOE and SIE (for tiers)
- SOKS, SDL, or similar acronyms
Do
- Stack Overflow provides data licensing
- Try Stack Internal for your team
- Stack Internal (Enterprise)
- Stack Data Licensing
Internal communications
In internal Slack, emails, or presentations, abbreviations may be used for brevity once the full name has been established in context. However, defaulting to full names is still preferred.
Acceptable internally
- SO (for Stack Overflow, after first mention)
- SI (for Stack Internal, after first mention)
- In code: Use descriptive variable names, abbreviations acceptable where conventional
Compound references
When referring to multiple products together, use “and” and maintain each product’s full name.
Don’t
- Stack Internal & Ads customers
- SI/SA users
- Stack Overflow’s Internal and Ads products
Do
- Stack Internal and Stack Ads customers
- Customers using Stack Internal, Stack Ads, or Stack Data Licensing
- Stack Overflow Business products
Sequential mentions
After the first mention of a product name, you may use shortened forms if the context is clear.
Do
- First mention: “Stack Internal provides private knowledge management”. Second mention: “Internal helps teams collaborate…”
- First mention: “Stack Overflow Business includes three products”. Second mention: “Business customers have access to…”
- Use “the product”, “the platform”, or “it” when context is unmistakable
Additional capitalization guidelines
Headers, subheaders, and tabs
Use sentence case for all headings. This means capitalizing the first word, the first word of a subtitle, and all proper nouns.
Don’t
- User Roles
- Performance Overview
- Edit Your Profile
- Ask A Question
Do
- User roles
- Performance overview
- Edit your profile
- Ask a question
Articles vs articles
Capitalize “Articles” when referring to the specific Stack Overflow feature section, but use lowercase when referring to generic articles.
Don’t
- I’m writing an article and then I’m going to put it in our team’s articles section
- In articles, you can find how-to guides
- Create articles
Do
- I’m writing an article and then I’m going to put it in our team’s Articles section
- In Articles, you can find how-to guides, blog posts, and articles
- Create Articles
User management and roles
Always capitalize user roles in relation to management systems.
Don’t
- employees
- Recommended members
Do
- Employees
- Recommended Members
Collectives vs collectives
Always capitalize “Collective” or “Collectives” when used as a proper noun or when it follows a company name. Use lowercase when referring generically to a collective.
Don’t
- join the Google Cloud collective
- join an Collective
- A company’s Collective page will be located at the top right of the screen
Do
- join the Google Cloud Collective
- join a collective
- A company’s collective page will be located at the top right of the screen
Communities & Community
Capitalize “Communities” and “Community” when referring to the Stack Internal feature.
Do
- With Communities you can help your teammates know what’s trending
- Subscribe to a Community and get notifications for new questions and answers
Platform terminology and concepts
Post scores
Questions, answers, and other types of posts have scores. A post’s score is calculated by subtracting the total number of downvotes from the total number of upvotes.
- In almost all cases when referring to the sum of votes, use the term score
- Use upvote and downvote (one word, no hyphen) when referring to individual types of votes
- Avoid using “points” when referring to score or votes
- The term “votes” to refer to a post’s score is only acceptable in the post summary component format
{ScoreValue} votes
Don’t
- Highest voted posts
- Total number of votes for this answer
- Only top voted answers are eligible
- 8 points
Do
- Highest scored posts
- Total score for this answer
- Only top scored answers are eligible
- 8 votes (in post summary component only)
Grammar and mechanics
Use active voice (most of the time)
Write in the active voice, particularly if the user needs to do something.
Don’t
- You should update your profile
Do
- Your profile needs updating.
While it’s generally best to avoid the passive voice, in certain situations it helps you sound softer without adding too many words. It’s especially useful for time-sensitive messages like payment confirmations and error messages.
Don’t
- We cancelled your order
- We've suspended your account
Do
- Your order has been cancelled
- Your account has been suspended
Use contractions
Contractions make copy sound more human. Avoid contractions that sound awkward when you say them out loud, or are not commonly used in everyday conversation.
Don’t
- This’ll help you get answers to your questions
- There must've been an error with your order
Do
- It’s designed to help you get answers to your questions
- There’s an error with your order
Use American spelling and standards
Use American spelling for all public-facing content. When in doubt, check the Merriam-Webster dictionary for the preferred spelling of specific terms.
Don’t
- Recognise
- Travelled
- Colour
- 9 April 2019
Do
- Recognize
- Traveled
- Color
- April 9, 2019
Pronouns
Leave off possessives when referring to users or features when possible. If you must use pronouns, refer to users as “you”. Don’t put words in their mouths with phrases that use “I” or “my”.
Don’t
- My Teams
- My settings
- Change my email settings
Do
- Teams
- Settings
- Change your email settings
When referring to Stack Overflow, use “we”. However, try to avoid inserting Stack Overflow into the content as much as possible.
Use “their” as a singular, gender-neutral pronoun when the gender of the subject is unknown or unimportant. Avoid using gendered terms.
Don’t
- When a new user is added, he or she will be able to edit content
- We appreciate the guys and gals of Stack Overflow
Do
- When a new user is added, they'll be able to edit content
- We appreciate the Stack Overflow community
Mind your verbs and nouns
Take extra care with “login” and “log in”. The former is a noun while the latter is a verb. Do not use “login” as a verb. The same logic applies to “signup” and “sign up”.
Don’t
- Login to ask a question
- Add a log in to your account
- Signup to ask a question
- Complete email sign up
Do
- Log in to ask a question
- Add a login to your account
- Sign up to ask a question
- Complete email signup
OK
Use the abbreviated version “OK” (fully capitalized in every context). This is preferred to “Okay” and its variants.
Don’t
- Okay
- okay
- Ok
Do
- OK
Punctuation
Ampersands
Don’t use ampersands (&) unless it’s part of a branded term. Spell out the word “and” instead.
Don’t
- Update your email address & password
- Stack Overflow Q and A
Do
- Update your email address and password
- Stack Overflow Q&A
Apostrophes
Use apostrophes to represent omitted letters or numbers (can’t, you’re, ’90s) and to form possessives. See also: use of curly quotes.
Don’t
- Admins role
- Moderators’s tasks
Do
- Admin’s role
- Moderators’ tasks
Colons
Avoid using colons unless you’re introducing a list. If you need to use a colon in a sentence, Don’t capitalize the first word after it.
Commas
Use the oxford comma in sentences. Don’t use a comma to separate two distinct phrases (comma splicing). Use two sentences instead.
Don’t
- Our community is rooted in kindness, collaboration and mutual respect
- Thanks for contacting us, we'll be in touch soon
Do
- Our community is rooted in kindness, collaboration, and mutual respect
- Thank you for contacting us. We'll be in touch soon
Ellipses
The ellipsis (…) can be used in place of missing text. Avoid using ellipses in regular text. Use the real single character ellipsis unicode (…) opt + ; instead of three periods (…). It’s appropriate to use an ellipsis in input placeholder copy.
Don’t
- Avoid subjective questions… stick to fact-based questions
- Search...
Do
- Avoid subjective questions. Stick to fact-based questions
- Search…
Exclamation points
Don’t use exclamation points unless something is really exciting. If you have to use one, limit yourself to one exclamation mark per page.
Hyphens and dashes
Use hyphens to combine two words that modify or describe the noun that follows, or join prefixes and suffixes when there are two vowels beside each other.
Use an en dash with no spaces (–) for a fixed range of numbers. Avoid using em dashes in microcopy for readability, but fine to use in long-form articles or documentation.
Don’t
- Start your free 14 day trial
- January 7 – 9
Do
- Start your free 14-day trial
- January 7–9
Periods
Don’t use periods in interface copy unless it’s a full sentence or description. Don’t use periods in top-level headings, titles, or buttons. Do use periods in body text, descriptions, and help text.
Question marks
Avoid using question marks wherever possible. Reword into affirmative statements wherever you can.
Don’t
- Want to learn more?
Do
- Learn more
Quotation marks
Always use smart/typographers/curly quotes not vertical, straight quotes. Place punctuation marks outside quotation marks.
Shortcuts
| Symbol | Description | Alt Code | Mac Shortcut | HTML Entity |
|---|---|---|---|---|
| ‘ | Opening single quote | alt 0145 | option + ] | ‘ |
| ’ | Closing single quote | alt 0146 | option + shift + ] | ’ |
| “ | Opening double quote | alt 0147 | option + [ | “ |
| ” | Closing double quote | alt 0148 | option + shift + [ | ” |
Semicolons
Avoid using semicolons. When connecting two closely related ideas, use a comma or write two sentences.
Date and time
Dates
Use the month’s full name where possible (e.g., October). If there are space constraints, use 3-letter abbreviations with the exception of May (e.g., Oct.). Always write out the full year.
Don’t write dates numerically since differing international standards can lead to confusion. There is no need to add superscripts (st, nd, th, rd) to dates.
Don’t
- September 2, '19
- 9-2-19
- September 2nd
Do
- September 2, 2019
- Sep. 2, 2019
- September 2
Time
Use the 12-hour clock, followed by am or pm. Include a space after the last number (e.g., 1:20 pm). Time should be relative to the user’s time zone (not UTC).
If indicating both date and time, separate them with the word “at” rather than a comma or @ symbol.
Don’t
- 15:30
- September 2, 2019 @ 4:35 pm
- September 2, 2019, 4:35 pm
Do
- 3:30 pm
- September 2, 2019 at 4:35 pm
Relative dates and times
In most cases, use relative dates and times (e.g., 3 minutes ago) with the exact date and time in the title attribute. When possible, use the longhand time (e.g., 7 years ago). If there are space constraints, use abbreviations: 7y, 3mo, 6d, 6h, 5min, 12s.
UI components
Buttons and links
Buttons and links should be clear and predictable. Button and link text should be sentence case and action-led (starting with a verb). Use a verb+noun format except for common actions like Save or Close.
Don’t
- New team
- Settings
- Post Job
Do
- Create new team
- View settings
- Post job
Headings and subheadings
All headings or subheadings should be concise, scannable, and sentence case. Don’t use periods at the end of headings. If a subheading is a full sentence, you may use a period.
Lists
When writing lists:
- Use a colon (:) to introduce an unordered list
- Use sentence case
- If any list item contains two or more sentences, punctuate all list items
- If all list items are one sentence or fragments, don’t punctuate
URLS
The golden rules of URLs is they should be short and rarely (if ever) change. In addition we want them to act as ”URL as UI” which respond to manipulation by the user in an intuitive way.
For example, a user should be able to modify them to navigate e.g., changing /docs/api/v2 to /docs/api/v1, or up and down taxonomy like /questions/tagged/javascript/react to /questions/tagged/javascript to /questions, or changing filters like /jobs?location=remote&type=engineering to /jobs?location=remote.
A good URL can also provide a solid foundation for SEO/AEO.
Don't
- Avoid using branded language e.g., `/overflowapi`
- Avoid overly long lengths e.g., `/introducing-stack-internal-powering-the-human-intelligence-layer-of-enterprise-ai/`
- Use underscores e.g., `/user_settings`
- Mix cases e.g., `/Pricing` or `/contactUs`
- Add unnecessary nesting e.g., `/docs/guides/getting-started/tutorials/beginner/hello-world`
Do
- Instead say what it is e.g., `/api-dashboard`
- Instead summarise the content e.g., `/announcing-stack-internal`
- Use hyphens e.g., `/user-settings`
- Keep it lowercase e.g., `/pricing` or `/contact-us`
- Keep hierarchy shallow e.g., `/docs/hello-world`
Query Parameters vs. Path Segments
Use path segments for:
- Core content hierarchy and navigation
- Specific resources: `/users/12345/ada-lovelace`
- Content categories: `/questions/tagged/python`
- Organized taxonomy: `/tags/javascript/info`
Use query parameters for:
- Filters, sorting, and temporary state
- Sorting options: `/questions?tab=newest&sort=votes`
- Search and pagination: `/search?q=javascript&page=2`
- Refinement criteria: `/jobs?location=remote&type=full-time`
Query parameters are ideal when:
- Multiple values can be combined (
?type=remote&level=senior) - The same content can be viewed with different options
- Users might want to share or bookmark specific filtered views
- The parameters are optional (the page works without them)