What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 134 Stack Exchange communities.

A good title helps your question get the attention it deserves. What goes into a good title?

Return to FAQ index

share|improve this question
Kind of ironic, notice below: «4. Don't start with "How do I..."». :) –  JMCF125 Jun 25 '13 at 15:11
@JMCF125 Probably that tip(or most of the tips below) doesn't apply well for meta :) –  Vineeth Sep 18 '13 at 5:59
@Vineeth, probably, and I also don't see a problem with «How do I...», I just found it curious. :) –  JMCF125 Sep 19 '13 at 10:54
Great! Thanks to SO's overzealous checking, it is now impossible to ask a question with "Halting Problem" in the title. –  user1202136 Apr 2 '14 at 22:10
I hope this might help: 8 KPIs of Great Content Marketing myoptimind.com/8-kpis-great-content-marketing –  user263407 Jul 8 '14 at 8:01
-Omit punctuation marks and asterisks. -Don't include words like "wow" or "look." Buyers don't search for words like these. -Use correct spelling. -Don't worry about creating a grammatically correct sentence. -Don't overuse acronyms. -Don't use all caps. I am working scholarship essay writing service‌​, so I'm quite familiar with the title selection. Keep these points in your mind when you are going to choose a title. –  AmyTyler Oct 4 '14 at 6:46

4 Answers 4

up vote 177 down vote accepted

1. Make the topic stand out.

The purpose of a title is to attract people interested in your topic or who can give you an answer. People scan web pages quickly. Make it easy for them to notice your question. Some people read via the RSS feed (Stack Overflow example), so they don't see tags.

2. Keep it short.

You don't have to put all the details in the title. There's plenty of space to expand your question in the body of the text.

Likewise, don't insist that your title be expressed as a perfectly formed English sentence.

3. Lead with the most important words.

These articles discuss how people read web pages, based on using an eye tracking system to monitor users. For Stack Overflow-like pages people read most of the first and second entries (the bars of the "F"), and then scan down the rest of the list, reading on average the first 16 characters of each line.

Reading Heatmap

4. Don't start with "How do I..."

Writing in that style ensures that your title will fail criteria 1-3, and get less attention than it deserves.

This is a question site, and people will understand your titles are questions.

5. Don't sweat replicating a tag keyword.

The tags are orthogonal to the title. There's a good chance that if a question is about some particular topic, a good title for the question will include the topic name. Glance at the front page and you will see this is quite common.

6. "What is a ..." is fine

Since the "..." is usually just a couple of words, titles like this still capture the essence of the question very briefly.

Some Good Examples

Here are some good titles, taken from existing posts. They succinctly summarize the question and will catch readers' eyes whilst scanning down the list.

  • Turning Linux USB power on and off?
  • How to UPSERT in Oracle (update or insert into a table)?
  • Python: What OS am I running on?
  • Raise an existing X11 window via command line?
  • 64-bit XML-RPC values?
  • Move an existing X11 window via command line?
  • Sum 3 columns in SQL when one column has a null value?
  • Oracle: searching over a range of values?
  • PostgreSQL encrypted backups
  • Readable font for code presentations?
  • Object Oriented vs Relational Databases
  • Oracle: formatting number as xxx-xx-xxxx
  • PostgreSQL Long VACUUM
  • Best timing method in C?
  • Map Routing, a la Google Maps?
  • Constructing images using HTML markup?
  • Inserting PostgreSQL BLOBs at a high-rate?

Some Bad Examples

These titles, also taken from existing posts, accurately present the question when read individually, but make it hard to pick out questions of interest when scanning the list.

  • How can I format xxxxxxxxx like xxx-xx-xxxx in Oracle?
  • How can I programmatically enable and disable the power to a particular USB port on Linux?
  • How can I raise an existing window via command line in X11?
  • How can I quickly insert a BLOB in PostgreSQL?
  • How can I move an existing window via command line in X11?
  • How can I store multiple items in an XML file for easy parsing?
  • What is a good font for code presentations?
  • How can I sum 3 columns when one column has a null value?
  • How can I construct images using HTML markup?
  • What is the best book for software design?
  • How can I generate unique random numbers in PHP?
  • How can I quickly insert a BLOB in PostgreSQL?
  • How can I tell what OS am I running on in Python?

Finally, be flexible

Different questions benefit from different styles of titles. Applying any single hard and fast rule is probably a mistake.

share|improve this answer
I can't vote on individual parts of the post (perhaps you should look at posting each idea separately?) but as for the titles - DON'T put tags in the titles - that's what the tags are for! –  a_m0d Jul 29 '09 at 7:03
If you look at the titles that are posted, you will notice that most titles already include one or more keywords. As an exercise, pick a question about some topic (Django, for example). You can find these easily by selecting the Django tag. You will see almost all of them have "Django" in the title. (And most of the ones that do not would benefit from it, lol!) –  Mark Harrison Jul 29 '09 at 7:32
If your question is How do I do X in Django?, should you put the tile How do I do X, and tag it Django? I think not, in that case the Django is an important part of the question, so put it in the title and tag it Django. Sometimes a little redundancy is not a bad thing... –  Treb Jul 29 '09 at 7:59
I don't think there's a simple anwser here. Titles should do what they do in pretty much any form of written information; act as a simple summary of the related content. People should be able to scan past your question, and quickly get a feel for what it's about. I don't know if you need to be any more specific than that. Sometimes that means you'll repeat tags in the title. –  Sam Murray-Sutton Jul 29 '09 at 8:01
Ok, better even: Django: How do I do X?... –  Treb Jul 29 '09 at 8:02
@a_mod, Jeff's point of view when he wrote is "You're supposed to look at the tags to tell what a question is". My point of view is "people don't always do what the site creator intends... and here's how to work with people's observed reading patterns to get your question viewed." –  Mark Harrison Jul 29 '09 at 9:08
@Mark Harrison: you might consider posting a suggestion that tags be included in the feed titles, rather than suggesting that users do so manually for the benefit of those who don't already subscribe to tag-specific feeds. –  Shog9 Sep 19 '09 at 5:21
Writing tags in titles is redundant. We already have a tagging system that is clear, concise, consistent and indexable. All you're doing by writing, say, a pointless Python: at the start of your title is breaking SO's expectations (look in your titlebar), adding messy noise to your title, and winding me up. The "title" field is so named for a reason! Write the title, not some "topic". Nothing more, nothing less. SO is not a message board or chat forum. –  Lightness Races in Orbit Jul 23 '11 at 14:27
lol again Tomalak! The title doesn't become redundant as you're imagining. Check out stackoverflow.com/questions/1854/python-what-os-am-i-running-on and you'll see it works as Jeff describes in his Jan 10 comment below. Anyways I'm still pleased to be validated by google. :-) –  Mark Harrison Jul 24 '11 at 3:56
I don't understand why people have problems with the phrasing "How do I?", since that is still a question, and many, many questions can be phrased just fine that way. –  Lance Roberts Aug 29 '11 at 17:50
@Lance, I revised the question to add the heatmap screenshot in the article I referenced. "how do i" is just fine for asking a question, but more people will see the actual topic you're asking about if you get those words more to the left of the page. –  Mark Harrison Aug 29 '11 at 18:14
Needs less tag prefixes. –  Shog9 Aug 29 '11 at 23:07
Almost all of your "good" examples end with a question mark but aren't a question. We're a question and answer site, and without a question, this looks really weird. Also don't forget that an actual question in the title reads more fluently, catches the eye when posted as links (e.g. to Twitter, as blog posts, on Hacker News, etc.). –  slhck May 19 '12 at 7:37
I don't see anything even vaguely confusing about the so-called bad examples. And since the author of this answer only offers a vague explanation as to why they think they're bad, the answer is itself even worse than unhelpful. –  Wayne Smallman Jun 29 '13 at 9:21
Adding to the bad example list, possibly taking the #1 spot: "Hi i have question that keeps bothering me and i dont know if its stupid to ask this..but could you guys help me" –  Jason C Nov 5 '14 at 5:45

While this is overall an excellent set of advice, I have some issues with a few of the titles:

  • Oracle: formatting number as xxx-xx-xxxx
  • Linux USB: turning the power on and off?
  • Oracle: how to UPSERT (update or insert into a table)?
  • Python: What OS am I running on?
  • X11: raise an existing window via command line?
  • XML-RPC: best way to handle 64-bit values?
  • X11: move an existing window via command line?
  • SQL: sum 3 columns when one column has a null value?
  • Oracle: best way to search over a range of values?
  • HTML: Constructing images using markup?
  • Postgresql: Inserting BLOBs at a high-rate?

I am not sure the rigid format

Tag: Question Title

Is a good one. The starts-with-tag-colon convention is a bit artificial and should be tweaked. Here's what I'd rather see:

  • formatting number as xxx-xx-xxxx in Oracle?
  • turning the USB power on and off in Linux?
  • how to UPSERT in Oracle?
  • raise an existing X11 window via command line?
  • best way to handle 64-bit values in XML-RPC?
  • move an existing X11 window via command line?
  • sum 3 columns in SQL when one column has a null value?
  • Best way to search over a range of values in Oracle?
  • Constructing images using HTML markup?
  • Inserting BLOBs at a high-rate in PostgreSQL?
  • What OS am I running on? (tagged Python)

(obviously all these questions would also be tagged with the right keywords)

To be clear, I think it is fine to duplicate the tags in the title, but only when they can be worked into the titles organically and conversationally.

If we're ritualistically appending tags to the front of the title, that doesn't feel like a tremendous improvement over a bunch of "How do I..." titles in the system, to me.

share|improve this answer
I don't like too the rigid formatting where a question have to start with the tag/technology, I prefer the discursive form. –  Drake Jul 29 '09 at 8:44
The tag issue is interesting. I read a lot of SO via an RSS feed which does not show tags, and this probably has shaped my opinion somewhat. –  Mark Harrison Sep 2 '09 at 6:12
Why would you rather see the “suffix” format? I prefer the prefix format because it means “Oracle” is the first word I see, so I can immediately skip the question, or “Python” is the first word I see, so I can pay more attention to the question (without having to visually parse the smaller “tags”). –  David Wolever Mar 24 '11 at 17:43
Or to put it another way: I think everyone agrees that “How can I format a number as xxx-xxx-xxx?” is a bad title… So why is the “question domain” (or “most relevant tag”?) more appropriate as a suffix (or inline) rather than a prefix? –  David Wolever Mar 24 '11 at 17:46
Writing the name of the technology into the title at all is completely redundant. Writing it as a pseudo-fixed-format "tag" is even worse. It comes from the days when categorisation was done on message boards without apt categorisation systems. SO has a consistent, indexable tagging system. There is utterly no need for writing tags in titles, at the start, middle or end, and it should be stamped out! –  Lightness Races in Orbit Jul 9 '11 at 23:19
Much agreed, I'm not a fan of prefixing the title. I tend to browse by tag, and if I'm interested by a title, I'll read the tags anyway. –  David Caunt Jul 20 '11 at 14:57


The Good

Your title should be, in order of greatest to least importance:

  • Searchable. The point of Stack Exchange is not only to help the asker, but to others who may have the same problem as well in the future.
  • Descriptive. A searcher would like to know whether the question is another one of those "How to write a HTML regex parser?" questions or actually the "Why is parsing HTML with regexes a bad idea?" they are looking for.
  • Short. Potential answerers would rather not read essays.
  • Precise. Tell us in
    • as few words as possible
    • as much as possible.
  • Interesting. How else will you make the Hot Questions list?

Notice that none of these points are 'exclusive'. For example, a short and descriptive title is always searchable. And precise and short are quite similar.

The Bad

Your title should not be/contain:

  • Programming language names. I do not need to see "How to fly using Python?". I can just check the tags for the . Running a search, I especially do not need to see "Python" repeated a thousand times on the page.
  • Funny. Try not to be funny just for the sake of being funny. I am guilty of this too, BTW. If you excuse me, I will go have a serious conversation with Mr. Struct. (Of course, the Mr. Struct question certainly attracted a lot of attention... ;))
  • Ambiguous.
    • "Is this code OK?" You are on CodeReview.SE. If we did not know that you were going to ask us to review your code, that would be alright (not commended, but OK), but really.
    • "Help with programming problem" This tells us nothing that we couldn't infer from the very fact that you're posting here.
    • "Help with homework problem plz" Thank goodness certain keywords are automatically rejected. This will be a problem with questions like "Determining appropriate weights for homework solving algorithm deterministically", but those are rare. :P


The Good

Single word requests, crosswords, and the fight against mediocrity
TortoiseHg Push
RegEx match open tags except XHTML self-contained tags
Why is subtracting these two times (in 1927) giving a strange result?
Is it possible to serve HTML pages with ServiceStack?
How to deep copy an irregular 2D array

The Bad

How Should Titles Be Capitalized?
Memory and Mr. Struct
How to use a struct in C?
C Programming. How to deep copy a struct?
How do you make a deep copy of an object in Java? (Any question containing the word 'Java' should be deleted, and its asker banned.)

The Ugly

Regular Expression...sql replace

share|improve this answer
White-space has to be added after the first link at the The Good section, so that the next link is also correctly highlighted. I don't have permissions to improve the post, hence a comment. –  Rob W Nov 20 '11 at 16:26
@RobW Thanks. :) You should have editing privileges (even 'non-users' do), but they have to be substantial (6 non-whitespace characters) and approved by a high-rep user. –  Sicarius Noctis Nov 21 '11 at 0:50
@menutoo I'm sorry but I can see why this wasn't the accepted answer! I have to completely disagree with you when you say that you should not put the programming language or any tag in the title. The good examples that you provided, for me are horrible and I hate questions that don't contain the programming language in the one. Looking at the tags is a pain most of the time, if the tags are even displayed, which they aren't on search engines and RSS feeds! Seeing 'Java' or 'Python' at the start of the big bold title that people read first is much easier and preferably –  Andy Jan 29 '12 at 15:34
If I were going to answer a question, and baring in mind that hundreds get asked ever hour, it would much easier for me to determine if I could answer the question if the programming language was in the title. I'm not saying all tags should be put into the title, or tags are of no use whatsoever because they are great - when they are available to see, which in some cases they are not. I also think your reaction to titles containing the word 'Java' is a little uncalled for. Why do you hate them so much? –  Andy Jan 29 '12 at 15:41
@Andy Personally, I find it quicker to look at the tag. BTW, have you ever tried using the favorite/ignored tags feature? That way, there's not as much of a need to look at the tag, but just the title. And the page is already titled "tag - title", so Google would display the language twice, redundantly. If you want it so that SO displays "tag - title" on the homepage -- that's a feature request you can make, although personally, I would not like that. Repeating the same information over and over, however, is definitely wrong. –  Sicarius Noctis Jan 29 '12 at 23:25
@muntoo I do use the favourite/ignored tag feature on SO and I agree that it is very useful - that's why I was very careful to say that tags aren't of any use whatsoever. However, my points still apply. Maybe search engines were a bad example, but certainly for things like RSS feeds putting the programming language in the question can be helpful. Also, and I know it's not a very strong argument, a prime example of when the programming language or similar would be more convenient is your 'Good Examples' of titles. To someone looking at links on a web page, that may not full explain the... –  Andy Jan 30 '12 at 16:53
content on the destination web page, those title are completely useless. Now, I know this situation is not likely to occur very often but it's still a point! Finally, and the main point that Mark also picks up on is the fact that the title is one of the first things that a user looks at on the page, so I would argue that it should be articulate as possible, and at least contain the programming language, if the question regards programming! You still haven't answered by question though, why are you targeting Java so much in perticular? –  Andy Jan 30 '12 at 16:56
@Andy C++ programmers generally like bashing Java; it's a 'joke'. :) –  Sicarius Noctis Jan 31 '12 at 3:31

(Jeff raises some good points. This is a followup to his note, since I can't edit his post, and I need a bit more formatting that what a comment provides.)

  1. Absolutely correct about rigidly adhering to a formula for titles. Do what makes sense.
  2. I didn't realize I had picked so many topic: lines. There are certainly other ways to write good questions.

  3. Many of Jeff's alternative are fine titles when considered in isolation.

However, if you want people to pick out your post from a list of other titles all competing for reader attention, it pays to note that the people in the study were scanning on average the first 16 characters of the titles.

So, it's interesting to truncate your title to 16 characters and see how they hold up. If you put something that interests a reader in the first 16 characters, there's a pretty good chance the rest of your title will be read. Once someone has clicked through to your question it's almost assured your question will be read. The main job of the title on the questions page is to get the reader that far.

  • formatting numbe
  • turning the USB
  • how to UPSERT in
  • raise an existin
  • best way to hand
  • move an existing
  • sum 3 columns in
  • Best way to sear
  • Constructing ima
  • Inserting BLOBs
  • What OS am I run

  • Oracle: formatti

  • Linux USB: turni
  • Oracle: how to U
  • Python: What OS
  • X11: raise an ex
  • XML-RPC: best wa
  • X11: move an exi
  • SQL: sum 3 colum
  • Oracle: best way
  • HTML: Constructi
  • Postgresql: Inse
  • Python: What OS
share|improve this answer
Tags on questions help with the scanning. Plus, with the ignore feature, irrelevant topics are faded of squeezed out of eyeball attention. Not all programmers and sysadmins have ADHD do they? –  random Jul 29 '09 at 9:02
I'd argue you should be interested in the TOPIC more than the technology. In other words, a proper cross join and string formatting is not Oracle specific. Part of the intent of Stack Overflow is to rub shoulders with people in related disciplines and realize that, hey, we have stuff in common! Less reason to hate {not my technology stack}. –  Jeff Atwood Jul 29 '09 at 9:08
that said, I just want to reiterate that the word Oracle should be in the title, but the cross-platform, cross-discipline nature of SO does not require that it be at the beginning. –  Jeff Atwood Jul 29 '09 at 9:09
Jeff, both good points. And +1 for noting that people who spell "SQL" as "Oracle" are probably depriving themselves of some good information. –  Mark Harrison Jul 29 '09 at 9:12
Topic focus is good, but it does help if you narrow out platforms/tech you have no idea about or just aren't in your field of vision for the time being. Getting dirty with the other tags is great, but some of us tepid array walkers like to play with the other tags one at time after we're comfortable being horrible in our first coding language. –  random Jul 29 '09 at 9:16
interestingly, Google forced our hand on this, so the de-facto default is "TAG - Title" unless the tag does appear organically in the title. See webmasters.stackexchange.com/questions/6556/… –  Jeff Atwood Jan 10 '11 at 8:33
That's very funny, to be justified by Google. I'll be sure and mention it on my cover letter if I ever send them a resume! –  Mark Harrison Jan 10 '11 at 12:49
@Mark: That the <title> tag contents have been made to be {First Tag} " - " {Title Contents} does not support your assertion that every {Title Contents} should have an inflexible, inconsistent and non-indexable "tag" at the start of it. If anything, this backs up the usefulness of relying on the proper tagging system: the site is free to visualise question tags in the proper manner, because they are represented properly and atomically in the database. –  Lightness Races in Orbit Jul 9 '11 at 23:24
Hi Tomalak, I think we're in agreement. Note my final suggestion: "Finally, be flexible -- Different questions benefit from different styles of titles. Applying any single hard and fast rule is probably a mistake." –  Mark Harrison Jul 12 '11 at 0:06
-1 tags should not be part of the title. –  Tom Wijsman Aug 29 '11 at 21:12
it depends; if you are already browsing by the [oracle] tag, then putting, say, "ORACLE: blah blah foo bar" is kind of harmful. I do like and fully support tags worked organically into the title, though, but I really worry that seeing a lot of "[tag]: title" sends a dangerous message. –  Jeff Atwood Aug 29 '11 at 22:30
Worth noting the difference between working a "tag" into the title, and working the subject of the question into the title. Because it's the latter that we really, really want. If your title is vague or hard to understand without some crappy prefix, your title sucks - with or without the crappy prefix. –  Shog9 Aug 29 '11 at 22:34

You must log in to answer this question.

protected by hims056 Sep 30 '13 at 7:41

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged .