I have seen a few questions here on Meta Stack Exchange that cover parts of this, but they are often too local, and none of them seem to cover all the relevant scenarios.

I will break it up into multiple parts in order to make this more specific:

  • When should I vote on a question:
    • What are the qualifications for a question to be deserving of being up-voted?
    • When shouldn't I vote up on a question?
    • What are the things that would cause a question to need to be down-voted?
      • How should I go about down-voting the question (do I wait a little while to give the OP a chance to change it, or do I down-vote it immediately)?
    • When shouldn't I vote down on a question?
  • When should I vote on an answer:
    • What are the qualifications for an answer to be deserving of being up-voted?
    • When shouldn't I vote up on an answer?
    • What are the thing that would cause an answer to need to be down-voted?
      • How should I go about down-voting the answer (do I wait a little while to give the OP a chance to change it, or do I down-vote it immediately)?
    • When shouldn't I vote down on an answer?
  • When should I vote on a comment:
    • While votes on comments do not affect reputation points, it might be useful to new users to know when to up-vote them.

It seems that a full, comprehensive list of these would be invaluable to new users looking to figure out how the voting system works, but this list seems to be missing from the meta site.

Return to FAQ index


4 Answers 4


Note that votes are largely subjective, this is my cheatsheet.

I generally use "does the post help the site?" to judge upvotes and downvotes to some extent. This is based on the same thing, expanded into points. If you want. I can expand the points/add more if I think of them.

For beta sites, try to be a bit more liberal in terms of votes in the early stages, especially if you don't have too many high reps. You need enough people with high privileges, and voting on a not-bad-but-not-awesome post isn't a bad thing.

Try not to let other factors like the vote score and other answers influence your vote. Sometimes, one sees a massively xvoted post, and piles on another xvote. Not really harmful, but it's always better to judge for yourself first. Similarly, don't let the poster or his rep affect your vote. Read the post with the same critical eye with which you would read the post of a 1 rep user. Experts can make mistakes as well. Downvoting and mentioning it in a comment is exactly what you should do when you see a wrong post, regardless of the user. Stack Exchange is about posts, not users. Reputation is a rough way to gauge community involvement and how much the community trusts you, but it really is just a "necessary evil" to aid the privilege system (and it also is a sort of reward). Don't use it to gauge post quality. If you think something is wrong, comment (and downvote if you are confident enough).

There is the opposite case of "compensating a vote". Here, one votes in such a manner as to bring the post to what one feels is the correct vote score (by downvoting massively upvoted mediocre questions, etc). Again, this isn't good. So try to ignore the existing vote score when voting.


To downvote a question, downvote immediately. If there's scope for improvement, comment and downvote. You can always undownvote if it's improved. Read more about Stack Exchange's philosophy of question selectiveness.


(pick one)

  • It's clear and shows research effort
  • The question is plain awesome (in case of fun questions, this can go either way)
  • The question is useful to others

Note: Do not upvote solely to free the post from an undeserved negative vote.


  • It's unclear
  • It's a or similar question with no effort from the OP
  • It's localized (will probably be useless to the world)

Note that I tend to upvote questions when their answers explain something pretty well. This is probably wrong, but that's just me.

Do not downvote just because:

  • The question uses incorrect grammar (as long as it is comprehensible)
  • The question has bad, (but clear) code; the question uses bad coding practices; the premise of the program is wrong. In this case, just comment "why haven't you done blah?". If you're answering, you can append that to your answer instead. (I've done that here.) Remember, voting is to filter post quality, not code quality or OP quality.. Also, there are legitimate uses for everything, even eval().


With answers, again, downvote immediately, comment, undownvote if fixed. With newbies I tend to be more lax, I comment first and downvote if they decide not to listen. But again, that's just me.


Of course, in any event, the answer must answer the question. If not for the last line of this answer, it should have been downvoted. (Not that it would have been.)

  • The answer is clear
  • The answer explains the underlying concept. On SO I've noticed many answers that give the solution, but not the "Why?". I do not downvote these, but neither do I upvote them

Note: Do not upvote solely to free the post from an undeserved negative vote.


Try to comment whenever applicable when downvoting.

  • Does not answer the question. Flag at your discretion.
  • Makes no sense
  • FGITW post with minimal answer: This depends upon the answer really.
  • Code-only answer: A post must be useful to People From The Future™. Nobody's going to have the exact same code with the exact same issue (Well, maybe not). People From The Future™ should have an explanation of why the code is wrong/bad/whatever so that they learn something.
  • Link-only answer
  • Is wrong (in your opinion).
  • Bad coding practices. Unlike questions, the answer should use good coding practices. For questions and answers, post quality is differently measured. For questions, it has to do with the actual question more than the code. For code-only answers, bad coding practices are…well… bad. In the case of a good explanation with bad code, downvote, comment, undownvote. Or abstain from voting and comment. Either is fine, it's up to you.

Do not downvote just because:

  • It's a competitor. Voting is for post quality, and you end up harming the system. Also, upvoting competing answers gets you something shiny.
  • Again, grammar that does not affect comprehensibility too much.


Who cares? Keep this in mind that on a post with a large number of comments, the ones shown will be the upvoted ones. So the comments which actually improve the post quality/help the OP should be upvoted. But, we know, nobody's going to follow that— Not enough jQuery is a sure way to get you a comment upvote. And on MSO, comment-upvote just about anything :) [Scroll down a bit to see what I mean]

  • 1
    "upvoting competing answers gets you something shiny" Well, that's a good thing. Commented Jan 23, 2019 at 20:42
  • 1
    The downvote reason for answers “Is wrong (in your opinion)” includes “is obsolete”, right? Commented Jun 17, 2020 at 18:16
  • @user289905 yes Commented Jun 18, 2020 at 6:33

When to upvote:

  • This question shows research effort; it is useful and clear.
  • This answer is useful.

When to downvote:

  • This question does not show any research effort; it is unclear or not useful.
  • This answer is not useful.

That's all you need to know to vote on questions and answers (these are the tool tips you see when you hover over the voting arrows).

For comments, "This is a great comment." deserves an upvote. Use your own judgment about what you consider a "great" comment.

do I wait a little while <snip>

No. Posts should be complete when they are first saved. If a user makes an incomplete post in an effort to FGITW, receiving downvotes is the chance they take.

  • what does <snip> mean?
    – Ephraim
    Commented Apr 22, 2012 at 23:51
  • @Ephraim: It means that I only quoted a small snippet of your question. :)
    – user102937
    Commented Apr 23, 2012 at 0:01
  • 6
    He cut the umbilical cord! Oh my!
    – animuson StaffMod
    Commented Apr 23, 2012 at 0:01
  • Research effort? blog.stackoverflow.com/2010/11/… Commented Apr 23, 2012 at 1:09
  • 1
    @TacticalCoder: Research effort doesn't just mean checking to see if your question has already been asked. See meta.stackexchange.com/a/128553/102937
    – user102937
    Commented Apr 23, 2012 at 1:47
  • 1
    I guess you're a big fan of turning off editing of questions and answers; after all “Posts should be complete when they are first saved” Commented Apr 23, 2012 at 10:59
  • @Donal Fellows: "I guess you're a big fan of turning off editing of questions and answers" Who? me? I've got 2.5k rep on SO by only helping people and I do lots of editing: I've got the "Strunk & White" gray badge... I never turn off neither edits nor incomplete question nor dupes. Commented Apr 23, 2012 at 12:39
  • I personally strongly adhere also to "When to downvote: the answer is harmful". A correct answer (it solved the problem posed in the question!) that encourages a bad practice (not just silly or wasteful, but actually an anti-pattern) should get a discouragement on the wrist.
    – Phrogz
    Commented Apr 25, 2012 at 22:47
  • 1
    @Phrogz: Answers that are not useful deserve no mercy.
    – user102937
    Commented Apr 25, 2012 at 22:56
  • What happens if the answer is derailed from the question? Someone find it useful, but it's derailed and added noise. Should I understand the usefulness is to me, to the post, or to everyone?
    – Ooker
    Commented Nov 16, 2017 at 1:47

Here's my general scheme for voting up/down.

I will upvote a question if:

  • I find it to be relevant and useful to others looking for an answer
  • I find it to be relevant to what I'm searching for

I will downvote a question if:

  • It's a thinly veiled (read: blatant) request.
  • If it is unclear in the question's intent.
  • If the answer can be found by either following tutorials, workshops, or can be found in books related to the language (or framework).

I will upvote an answer if:

  • The answer is relevant to the question
  • The answer is clear, well-thought, and ideal to solve the problem

I will downvote an answer if:

  • It is all code, no explanation
  • It fulfills a request (i.e. a homework assignment that asks for a pointer, gets code, and can use that code right in their program)
  • It doesn't answer the question

Hope that helps. Again, this is just my little methodology for upvotes/downvotes. Feel free to disagree.

  • 1
    ...if it uses [tag:tag] without any need ;-)
    – Arjan
    Commented Apr 25, 2012 at 22:36

Also, on Meta we follow the rules as described by others already, with one subtle difference.

Voting is different on Meta (as in MSE and on the site meta's) when it comes to questions tagged .

Unlike the other tags, like , questions doing a feature request are not only voted on for their usefulness (is the question useful), research, and so on, but also in the personal opinion of the voter whether the feature requested is useful.

For the official policy, see this answer of Shog9: [Voting on Meta is not just for (dis)agreement. Update the help center to reflect this]:

On posts tagged feature-request, voting indicates agreement or disagreement with the proposed change rather than just the quality or usefulness of the post itself.


  • does it apply only to that tag?
    – Ooker
    Commented Nov 16, 2017 at 1:48
  • Yes. See Shogs post. Commented Nov 16, 2017 at 6:58

You must log in to answer this question.

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