In response to web related questions, users tend to link to W3Schools. I have visited this site and used the examples, and found it a useful resource.

Often, linking to W3Schools in comments or answers is corrected (in fact, one of my answers got downvoted for this) by other users who find this website flawed, impure and/or biased and therefore recommend not to link to or even use W3Schools. Often they refer to W3Fools to support their case. W3Fools is a site created by individuals who believe that W3Schools is more or less evil, and they explain why. They also refer to some alternatives to W3Schools. I have visited this site and read their critique.

However, as I looked more carefully at W3Fools, I found that:

  • The scare tactics applied by W3Fools are unnecessary. I believe that Using W3Schools will not negatively influence one's career as mush as is suggested by W3Fools ('Learning key web development idioms slowly or incorrectly puts you years behind your own colleagues.'). It should be clear to any professional developer that W3Schools are not affiliated with W3C in the first place, and that they should not be considered an official resource, just as 'Google' is not in many other cases.

  • W3Fools attach a great deal of importance to they own criticism, leaving clearly outdated items on their site in strike-through format without providing relevant dates. This only suggests that 'they had some rightful criticism in the past', and does not provide useful information.

  • Many of the items that are not 'struck through' are outdated as well, and have already been fixed by W3Schools. For example, the first item on www.w3schools.com/html5/html5_intro.asp is no longer relevant, because the criticised text was updated by W3Schools.

I understand that W3Schools contains mistakes (and in a way prohibits access to more correct resources), and I would like to be able to point other users to relevant information. At the same time I am not sure if linking to W3Fools is the best way to do so.

In addition to these questions:

my questions are the following:

  • Is there any other resource that provides up-to-date 'errata' on W3Schools, and can be kept up-to-date wiki-style?
  • Would it be useful to keep a wiki-style list of errata, e.g. on StackOverflow?
  • 24
    I think this is a very intelligent question, and W3Fools may be a bit over the top sometimes. However, most of their points still stand - heck, they still have a SQL injection in their PHP tutorial. They even have an open SQL injection hole themselves: http://www.w3schools.com/ajax/getcustomer.asp?q=test' I also don't see the point in starting a second errata elsewhere. – Pekka Jan 29 '12 at 13:39
  • 7
    The reality is that w3schools is mixed quality. Some of the topics are covered well, while in particular the PHP tutorials are usually inadvisable. There isn't one single resource to replace it as whole because it covers too many topics. So when asking for alternatives you do need a per-language list. – mario Jan 29 '12 at 13:41
  • 22
    @mario I still think the best course of action would be walking into their hosting center, pulling out their server, marinating it in gasoline, and lighting a match. But I guess that's never going to happen... Unless maybe if Google decide that it's a crap resource, and start banning them from search results. – Pekka Jan 29 '12 at 13:47
  • 8
    @mario For PHP there is PHP.net with a high google ranking. For W3C related stuff, such as HTML, it would probably be best if links to W3C wiki (w3.org/wiki) appeared before W3Schools... – user107729 Jan 29 '12 at 13:58
  • 13
    They even have Google fooled: Google insists on matching W3Schools with "w3c" in my search terms. – BoltClock's a Unicorn Jan 29 '12 at 14:31
  • @Pekka'sOrganicRepFarm Just now, I actually clicked the 'REPORT ERROR' button under the SQL injection code and politely asked them to update or remove the example. Awaiting their response now... ;-) – user107729 Jan 29 '12 at 14:43
  • 37
    W3Fools is failing to update their content? Oh, the irony... – Bill the Lizard Jan 29 '12 at 15:57
  • 4
    w3schools was a good resource (yes, with flaws) in times when front-end community did not had anything like php's online manual. But now we have MDN, MSDN and few other, lesser reference sites - like dottoro.com, so they should be used instead of w3schools links, so maybe, editing such answers - replacing links will work better than down-voting. – c69 Jan 29 '12 at 16:25
  • MDN, while still partially broken as per their banner, is an acceptable but not great resource on most HTML and CSS tags/attributes. I do wish they'd open editing up more. – Ben Brocka Jan 29 '12 at 20:55
  • 8
    I can't help but notice this at the bottom of their w3fools page: Spread this message. If you spot someone using or referencing w3schools.com on blog comments, stackoverflow , etc... Send them our way. - perhaps we should remind them that pointing users to their site isn't helping the user either – Mark Henderson Feb 3 '12 at 20:47
  • 1
    @MarkHenderson It is, it tells them not to think of W3Schools as the reliable source of information and instead points them to the reliable ones (MDN, SitePoint, etc.), thus preventing them from being misled further. – user241908 Dec 7 '13 at 10:41
  • 1
    I have been downvoted today because I was giving a link to w3chools for a simple Jquery animation. I didn't know that there was some problems with this site. Though I've never used it for server language but HTML/CSS/Jquery. But I still don't like how they "attack" this website for some few errors. – Romjpn Jan 28 '14 at 7:00
  • At the end of the day: What is a good, more reliable alternative for learning PHP? – Marc.2377 Feb 7 '14 at 4:07
  • 3
    @Marc.2377: THE MANUAL. It's all there. – Amal Murali Feb 16 '14 at 6:01
  • 1
    If you write an intro on programming, yet can't be bothered to properly indent your code then you have failed. Ever wonder why especially the PHP/JS folks use such a woefully bad indentation in some of the code posted on SO? The SQL injections are also still there, but they've upgraded to mysqli. Hurray. – Martin Tournoij Feb 26 '14 at 10:47

Rumors of the world coming to an end because people link to w3schools.com are greatly exaggerated.

If you strongly feel that w3schools is going to harm the OP in general, simply leave a comment stating that some information on w3schools may be inaccurate. But it's more helpful to link to a better resource that has the specific information the OP needs. Linking to w3fools is a waste of time; the information that the OP needs is not there.

I don't think it's our job to provide yet another errata. If there's information that's inaccurate on the page that's been linked, just point that out specifically.

Finally, if you really feel deeply about the evils of w3schools and SQL injection, use their vulnerability to take down their server.* That should adequately prove your point.

*Not an actual endorsement of illegal activity. If you're dumb enough to try this, don't blame me for your jail time.

  • 43
    "But your honor, Robert Harvey told me to..." – Adam Rackis Jan 29 '12 at 19:47
  • 1
    Are you sure it really is illegal? I think that they can't put you in jail for typing some random characters in your address bar? – 11684 Feb 4 '13 at 15:16
  • 4
    @11684: Ah, but they're not really random, are they? ;) – user102937 Feb 4 '13 at 15:28
  • 1
    Yes, but how would you prove it? You could argue you weren't aware it would damage their servers. I'll look that up, as soon as I know where. – 11684 Feb 4 '13 at 15:32
  • 1
    @11684. Being anonymous on the Internet or claiming ignorance is no excuse for bad behavior. – user102937 Feb 4 '13 at 15:32
  • 13
    Robert'); DROP TABLE Students;-- seems especially apt here. – nneonneo Mar 11 '13 at 1:51
  • 3
    @11684 Even though you wouldn't know hitting a man with a car at 100mph would kill him, you'll still go to jail for doing it. – Jeff Noel Jun 21 '13 at 18:17
  • @Asad It depends on the laws where you live. In Canada, the driver is responsible even if he hit someone jaywalking. You must be bale to stop your vehicle safely at anytime. – Jeff Noel Apr 9 '14 at 10:19

The scare tactics applied by W3Fools are unnecessary. I believe that Using W3Schools will not negatively influence one's career as mush as is suggested by W3Fools ('Learning key web development idioms slowly or incorrectly puts you years behind your own colleagues.').

Before SO I used to spend a lot of time on IRC - there was a never ending influx of newbies who didn't know about any resource except for w3schools. Newbies are always going to be confused, but we can mitigate some of this confusion by pointing them to proper resources instead of the fast-food style information that w3schools provides.

The topics they cover are much too broad to be a complete resource on any one thing: SVG, HTML, CSS, JavaScript, ASP, Web Hosting, SOAP, TCP/IP, jQuery, XML... "Jack of all trades, master of none".

It should be clear to any professional developer that W3Schools are not affiliated with W3C in the first place, and that they should not be considered an official resource.

The key words here are "professional" and "should". Professionals will know the difference (doesn't that by itself say something?), newbies will not necessarily. I have edited many SO posts that say something like:

It's all right here in the official W3C specification: [link to w3schools]

In every case, the OP had been "fooled" into thinking this was the official resource, and was grateful for the clarification. In addition to the excellent resources that w3fools recommends, I would add htmldog to the list for absolute newbies that might find these resources too confusing or intimidating.

I agree that w3fools is pedantic and trite at times, and that linking there in a condescending way is quite trendy, but the folks there are really are trying to help and they truly are interested in creating a thriving web development community.

That being said, I would avoid linking directly to w3fools. Some people might think it's funny, but others are likely to be turned off by the elitist attitude and the implication that they are a "fool" for using the site (that comes up at the top of almost every Google search). I would recommend linking directly to better resources as Robert Harvey suggested.

  • 1
    +1 for linking to better sources. Instead of slinging mud let's just promote the better material. – Charles Sprayberry Jan 29 '12 at 18:49
  • 9
    It was so hard to keep down my deep seated disgust for w3schools while writing this post. – user159834 Jan 29 '12 at 18:56
  • 9
    It's all right here in the official W3C specification: [link to w3schools] I've seen the opposite happen as well: someone posts a link to the actual W3C specification, only to have a W3Fools link dropped on them. – Bill the Lizard Jan 29 '12 at 21:54
  • This answer says everything I can imagine saying about this topic myself. – Andrew Barber Jan 30 '12 at 5:22
  • @BilltheLizard: Really? That's a new one to me, I've never once seen that - and I spend most of my time in the HTML/CSS tags. Are you sure it wasn't the w3schools W3C Tutorial? – user159834 Jan 30 '12 at 17:05
  • @Madmartigan No, it was definitely a link going to the proper W3C site. It's not a common occurrence at all though. I only remember it because it stood out. – Bill the Lizard Jan 30 '12 at 17:10

Regarding your very specific question on how to keep W3Schools errata up to date, bear in mind that W3Fools itself has its source on Github. It should be easy for anyone to contribute with the errata there by forking, editing and issuing pull requests.


The thing is that not all things listed on w3fools are actually errors, some of it is just opinion based, much more still is nitpicking and semantics "it's not called this, it's called that", "this is not new technology any longer" and then there are real inaccuracies, things that they point out as wrong without w3schools being wrong to begin with.

Another claim they make over and over is that things are oversimplified and they promote MDN as "covers JavaScript better than anyone"

Yes, both pages have a step by step tutorial, but the MDN one is god awful when it comes to teaching people javascript...it's great as a resource for looking things up, fine - but as a tutorial for someone who wants to learn javascript? No...just no - w3schools is so successful for a reason, it is simple, engaging, the language is written in a way that is easy to understand and the site caters to the people who want to learn javascript and who doesn't need to have a programming background in order to do so.

  • 6
    I'll not quibble with any of your answer except for your "w3schools is so successful" part; They are so successful because they are good at playing the Google game. – Andrew Barber Feb 4 '13 at 19:41

We need to remember that SO is a community resource and that answers should not be targetted solely for the OP, but also for future answer seekers who find that their question matches the one that you are currently answering.

As a result, we should strive to point to reliable resources. This goes beyond the specific page that we're referring to. If SO users point to w3schools as an authority for the answer that they're providing, it propagates the idea that w3schools is an authority and I think that it's that that many SO users object to.

In instances where w3schools is the best resource, I think it's appropriate to point to them and I would always disagree with any recommendation to block links from SO to w3schools. However in many (most? (all?)) cases, there is a more definitive and accurate source of information, be it MDN, php.net or otherwise.

To this end, I try to comment on answers referring to w3schools with a better (IMO) resource for the answer. While w3fools is not without its problems, they are the most succinct explanation of why w3schools is dubious and should be avoided.

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