First, I really like Stack Overflow and appreciate it. I always get useful answers and information from it. Now, English is my second language. So, when I submit any question, some people can't understand it clearly. I want to know what the best way to ask a question is. Should I...

  1. Summarize my question;
  2. Add sample code(s);
  3. Attach a screenshot?

along with giving a detailed question description.

  • 1
    I see that you have asked a lot of questions and received a lot of answers, many of which appear to have helped you. Are their specific questions you can point to that you'd like feedback on?
    – Leonard
    Mar 24, 2009 at 19:23
  • 2
    After you ask a question, it may be a good idea to watch it for people posting comments asking for more information or asking for something to be clarified. If you stay on top of this and answer those sorts of questions, usually a helpful editor will fix any errors in English grammar so that people are able to answer your question. This is part of the reason that editing is such an important feature of StackOverflow. And by the way, I've known plenty of native speakers of English whose written English was incomprehensible. You're doing just fine.
    – Eddie
    May 23, 2009 at 2:23
  • Communicate using code, not natural language. Aug 17, 2009 at 17:50
  • related meta.stackexchange.com/questions/8162/… Aug 19, 2009 at 1:54
  • 1
    As some of the commenters have said, you have better English skills than many Americans I know. Good question in general, though; we definitely have users who are legitimately difficult to understand or even incomprehensible at times.
    – Pops
    Oct 1, 2010 at 16:38
  • One idea, though it won't immediately help you: visit ELL and get pointers to improve your (easily understandable) English. Dec 18, 2014 at 2:07

11 Answers 11


Nobody seems to have mentioned - Quote this at the end of each question or answer you ask (in italics):

"English is not my first language, please edit for clarity, then remove this comment!"

I believe this will cause users to be much more willing to give you a little leeway, much more likely to answer, and much more likely to edit your question into being more readable.

That said, your English seems pretty darn good to me - better than mine, and i'm from England! :p

  • 9
    +1: Mentioning that English isn't your first language will immediately assuage users' tendencies to be venomous, growling, and cranky. "Oh, they don't know the language well, as opposed to being a mental case!"
    – JYelton
    Mar 1, 2011 at 16:34

You should say as clearly as you can what you're trying to do, and what problem you're having getting it done. The problem can take the form of "what you expected" and "what you actually got".

Since your English is weak, it might be a good idea to state the objective and the problem two or three different ways. As a technical writer, I often find that saying things two or three different ways is the key to making something clear. In verbal communication, we can stop when we get the feedback from the person we're talking to that the concept is clear. In writing, we need to assume the first pass isn't clear, and explain it anew using completely different words.

Sample code is helpful if it's broken, it usually makes the question clear.


English is my third language. Here are some solutions:

  • Read a lot of questions, this will give you an insight of how 'we ask'
  • Read replies, so you can understand your future answers

If you read a lot, you'll be able to write your own questions, here is some advice:

  • Have a simple but descriptive title.
  • Explain clearly what your problem is. Including code or a screenshot is useful, try to explain what you want to do and how you want it.
  • Include the language, the version, and the OS platform.
  • Don't use 'chat' language.

Hope those tips help get you started!


Be ready to answer to comments to your question and edit your question accordingly.

See also How to ask questions the smart way, by Eric Raymond ; this certainly applies here.

If you are asking questions in a forum that does not use your native language, you will get a limited amount of slack for spelling and grammar errors — but no extra slack at all for laziness (and yes, we can usually spot that difference). Also, unless you know what your respondent's languages are, write in English. Busy hackers tend to simply flush questions in languages they don't understand, and English is the working language of the Internet. By writing in English you minimize your chances that your question will be discarded unread.

  1. Write the question the way it actually reflects the problem.
  2. Write clearly which technology/tools you are using.
  3. Write the problem you are facing and why do you think it is a problem.
  4. Add code/snapshots wherever applicable.

Well, your English seems better than that of some of the supposed native speakers on SO. :) I think it is very acceptable to have an occasional small but relevant screenshot. Also, sample code is preferred to help people give you a specific answer to your question. I wouldn't stress over this, just make sure you understand your problem well and try to communicate it as briefly as you can.


Many times you will make a good effort but still ask a question in a suboptimal way. If that's the case - learn from your mistakes.

Note what other people ask for in comments - it's likely that they will be unable to understand your problem and start helping you unless you clarify. Most probably you should give the same level details the next time you ask a similar question.

Note how other people edit your question (if any) - alter wording to clarify meaning, fix typos, change or add (highly likely) tags. If that happens it's likely you should alter the way you ask your questions next time.


If you're not sure how to word the question, the best way to get an answer is to make a good effort at solving the problem, and if you get stuck, post all of the applicable code and config file settings. Try to pinpoint where you think the problem is occurring. If it's an exception or error, post the stack trace.


Judging from your previous questions, you have made yourself pretty clear, so you don't have to worry about that. Try to tag your questions correctly though, as it could greatly improve the chance of getting answers.

And watch for the typos. :) How to detect new or modified files


Put anything that isn't code into a spell and grammar checker of some sort (MS Word, or web browser add-ins). If you do this, you'll probably have better grammar than many native English speakers.


If possible, rerun your failing command with:

env LANG=C command

This will cause the error messages to come out in English, which is the language understood by many SO users.

You must log in to answer this question.

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