Acid2 is a test page published and promoted by the Web Standards Project to expose web page rendering flaws in web browsers and other applications that render HTML. It was developed in the spirit of Acid1, a relatively narrow test of compliance with the Cascading Style Sheets 1.0 (CSS1) standard, and was released on April 13, 2005. Like Acid1, a web browser passes the test if the way it renders the test page matches a reference rendering.
Acid2 tests aspects of HTML markup, CSS 2.1 styling, PNG images, and data URIs. It should render correctly on any application that follows the World Wide Web Consortium and Internet Engineering Task Force specifications for these technologies. The idea is that if both web sites and web browsers follow agreed-upon industry standards, then any web site will work the same in any web browser.
On October 31, 2005, Safari 2.0.2 became the first browser to pass the test. Opera, Konqueror, Firefox, and others followed. The only major browser that does not yet pass the test is Internet Explorer, although a version of Internet Explorer that passes Acid2 is in development.
Acid2 was first proposed by Håkon Wium Lie, chief technical officer of Opera Software and creator of the widely-used Cascading Style Sheets web standard. In a March 16, 2005 article on CNET, Lie expressed dismay that Microsoft Internet Explorer did not properly support web standards and hence was not interoperable with other browsers. He announced that Acid2 would be a challenge to Microsoft to design Internet Explorer 7, then in development, to achieve a greater degree of standards compliance than previous versions of Internet Explorer. The original Acid1 test had forced browser makers to fix their applications or face embarrassment; Lie hoped that Acid2 would do the same.
Lie and a colleague, Ian Hickson, had created the first draft of the test in February 2005. Ian Hickson coded the final test in collaboration with the Web Standards Project and the larger web community.    It was officially released on April 13, 2005 and at that time, every web browser failed it spectacularly.
On April 23, 2005, Acid2 was updated to fix a bug that made the mouth appear too close to the nose.  After several complaints, the test was again updated in January 2006 to remove a test for unpopular SGML-style comments that were never widely implemented. On browsers that do not implement SGML-style comments, the original test displayed the word "ERROR" on the bottom part of the face.
In July 2005, Chris Wilson, the Internet Explorer Platform Architect, stated that passing Acid2 was not a priority for Internet Explorer 7, describing the test as a "wish list" of features rather than a true test of standards compliance. In December 2007, Microsoft announced that all the changes required to pass Acid2 would be made available in Internet Explorer 8, but that the changes would not be turned on by default, meaning that IE8 would not actually pass the test.  Then in March 2008 Microsoft released IE8 beta 1 and turned on the changes by default after all. James Pratt, Product Manager for IE8, explained that this decision was made so that "developers can spend more time building features and cool stuff, and less time just trying to tweak their sites across different browsers."
Unfortunately, another unresolved standards compliance issue prevented IE8 beta 1 from passing in some cases.  In August 2008 Microsoft released IE8 beta 2, which resolved the issue, however as of IE8 beta 2 standards mode is not turned on by default for pages loaded in the "Intranet Zone". This zone is active for pages loaded via UNC Paths, named addresses without dots (like http://mysite/), and sites that bypass the proxy settings. As such, IE8 will not pass the Acid2 test if loaded in these cases.
Overview of standards tested
Acid2 tests a variety of web standards published by the World Wide Web Consortium and the Internet Engineering Task Force. With the exception of CSS 2.1, all web standards tested were codified before the year 2000.    CSS 2.1 was a candidate recommendation at the time of Acid2's release, and is still a candidate recommendation as of January 2009.
Specifically, Acid2 tests:
- Alpha transparency in PNG-format images: The eyes of the smiley face use alpha transparency which is part of the 1996 Portable Network Graphics specification. The alpha transparency provides an elegant way to have the eyebrows smoothly blend into the face. This was a significant issue because Internet Explorer 6, the most widely used web browser at the time Acid2 was released, did not support alpha transparency. This deficiency was rectified in Internet Explorer 7, bringing Internet Explorer in line with other web browsers in this regard.
- The object element: The eyes also test support of the HTML object element. The object element has been a part of HTML since HTML 4 was released in 1998, yet by 2005 it still was not completely supported in all web browsers. The creators of Acid2 considered object element support important because it allows for content fallback—if an object fails to load, then the browser can display alternative (generally simpler, more reliable) content in its place.
- data URIs: The actual images that form the eyes are encoded as data URIs. Data URIs allow embedding multimedia directly into web pages rather than being stored as a separate file. Acid2 tests the most common case, where a binary image is base64-encoded into text and then that encoded text is included in a data URI in the web page. Interestingly, although the IETF published the data URI specification in 1998, they never formally adopted it as a standard. Nonetheless, the HTML 4.01 specification references the data URI scheme and data URIs have now been implemented in most browsers.
- Absolute, relative, and fixed CSS positioning: Absolute positioning means that the web developer specifies the exact X and Y coordinates where an element is to be placed into the page. Relative positioning means that the web developer specifies an X and Y offset from the usual position of the element. Fixed positioning means that the element is placed relative to the browser window, and scrolls with the window rather than with the rest of the page. 
- The CSS box model: This feature allows specifying dimensions, padding, borders, and margins, and was the focus of the original Acid1 test. Acid2 not only retests margin support but also tests minimum and maximum heights and widths, features new to CSS 2.0.
- CSS table formatting: This part of CSS allows applying table formatting without traditional HTML table markup.
- CSS generated content: Using CSS generated content, web developers can add decorations and annotations to specified elements without having to add the content to each one individually.
- CSS parsing: A number of illegal CSS statements are present in Acid2 to test error handling. Standards-compliant browsers are expected to handle these errors as the CSS specification directs. This helps ensure cross-browser compatibility by making all browsers treat CSS with the same level of strictness, so that what works in one browser should not cause errors in another.
- Paint order: Acid2 requires that the browser have standard paint order. That is, overlapping elements should be placed or painted on top of each other in the correct order.
- Hovering effects: When the user moves their mouse over the smiley face's nose, it turns blue. This is called a hovering effect, and while it has traditionally been used for hyperlinks, it should work on a wide variety of HTML elements.
Because Acid2 is not a comprehensive test, it does not guarantee total conformance to any particular standard. A variant of the Acid2 test that does not test for data URI support is also available from the Web Standards Project.
A passing score is only considered valid if the browser's default settings were used. Actions such as changing font sizes, zoom level, and applying user stylesheets can break the display of the test. This is expected and is not relevant to a browser's compliance.
The following browser settings and user actions invalidate the test: 
- Resizing the browser window
- Zooming in or out
- Disabling images
- Using Opera's Fit to width or Small Screen Rendering modes
- Applying custom fonts, colors, styles, etc.
If rendered correctly, Acid2 will appear as a smiley face below the text "Hello World!" in the user's browser, with the nose turning blue when the mouse cursor hovers over it. At the time of the test's release every browser failed it, but now a number of applications pass the test:
- WebKit- and KHTML-based browsers
- Prince, an XML-to-PDF converter for Windows, Mac OS X and Linux
- Presto-based browsers
- Opera, a web browser for Windows, Mac OS X, Linux, and BSD
- The Internet Channel, a version of the Opera browser for the Nintendo Wii game console.
- Gecko-based browsers
- Mozilla Firefox, a web browser for Windows, Mac OS X and Linux
- Flock, a web browser for Windows, Mac OS X and Linux
- Songbird, a media player and web browser for Windows, Mac OS X and Linux
- Tkhtml Html Viewer 3, a web browser for Windows and Linux
- Internet Explorer 8
- WebKit- and KHTML-based browsers
- Gecko-based applications
- Camino 2.0, a web browser for Mac OS X
- Fennec, a web browser for mobile devices
- Instantbird 0.1.3, an instant messenger for Windows, Mac OS X and Linux
- Kazehakase 0.5.4 for Linux and other Unix-like operating systems which support GTK+ 2.x
- K-Meleon, a web browser for Windows
- Mozilla Prism, a web application platform for Windows, Mac OS X and Linux
- Mozilla Thunderbird 3, an email client for Windows, Mac OS X and Linux
- Mozilla Sunbird 1.0, a calendar application for Windows, Mac OS X and Linux
- SeaMonkey 2, an Internet suite for Windows, Mac OS X and Linux
- Spicebird 0.7, a personal information manager for Windows, Mac OS X and Linux
Even though Opera Mini is based on the same rendering engine as Opera for personal computers, it does not pass the Acid2 test.  This is because Opera Mini intentionally reformats web pages to try and make them more suitable for devices with small screens.  
Timeline of passing applications
The following is a list of releases noting significant releases of applications that passed the test. New applications that have passed Acid2 since their first official release are not included in the timeline.
|27 April 2005||Safari||private build |
|18 May 2005||iCab||private build ||This build was made available to registered iCab users on May 20, 2005.|
|4 June 2005||Konqueror||private build |
|6 June 2005||iCab||public build||Whether or not this version of iCab truly passes the test was questioned because it displays a scrollbar on the test page. The CSS specification states that Acid2 correctly rendered should not have a scrollbar, but also says that "there may exist valid reasons in particular circumstances" to ignore this requirement.  |
|6 June 2005||Safari||source code available ||WebKit, the underpinnings of Safari, was made open source on June 6, 2005. When Safari was run with this latest version of WebKit, it passed the Acid2 test.|
|31 October 2005||Safari 2.0.2||official release  ||Included in Mac OS X 10.4.3. First officially released web browser to pass test.|
|29 November 2005||Konqueror 3.5||official release ||First Linux-compatible browser to pass the test, although it did not hide the scrollbar.|
|7 December 2005||Prince 5.1||official release ||First non-web browser to pass test.|
|10 March 2006||Opera||public weekly build  ||First Microsoft Windows-compatible browser to pass the test and also the first Linux-compatible browser to pass the test including hiding the scrollbar. A public beta was released on April 20, also successful.  |
|28 March 2006||Konqueror 3.5.2||official release ||Updated to hide the scrollbar.  |
|11 April 2006||Mozilla Firefox||public nightly build ||The "reflow refactoring" nightly builds, whose code was branched from the Gecko 1.9/Firefox 3.0 trunk, pass Acid2.|
|24 May 2006||Opera Mobile for Symbian OS||private build ||First mobile browser to pass test.|
|20 July 2006||OmniWeb 5.5 beta 1||public build   ||OmniWeb switches its rendering engine to WebKit, the same rendering engine used in Safari which already passed the Acid2 test|
|20 June 2006||Opera 9.0||official release |
|4 July 2006||Obigo Browser||private build ||Second mobile browser to pass test.|
|17 August 2006||iCab 3.0.3||official release ||First public release that hides the scrollbar.|
|6 September 2006||OmniWeb 5.5||official release|
|8 December 2006||Mozilla Firefox, Camino, SeaMonkey||public nightly build ||Reflow refactoring branch is merged into main Gecko trunk. Firefox, Camino, and SeaMonkey trunk builds now pass Acid2.|
|5 March 2008||Internet Explorer 8 Beta 1||public build ||Beta 1 passes the test when hosted at www.webstandards.org, but fails the test when hosted at webstandards.org or acid2.acidtests.org.|
|17 June 2008||Mozilla Firefox 3.0||official release  |
|27 August 2008||Internet Explorer 8 Beta 2||public build ||Beta 2 passes the test unless it is hosted from the Intranet Zone.|
Notes and References
- Web site: Håkon. Lie, Håkon Wium. Håkon Wium Lie. Opera Software. 12 May 2008. 27 July 2008.
- Web site: The Acid2 challenge to Microsoft. Lie, Håkon Wium. Håkon Wium Lie. CNET. 16 March 2005. 12 January 2008.
- Web site: People who don't realise that they're wrong. Hickson. Ian. Hixie's Natural Log. 20 January 2006. 1 April 2008.
- Web site: Ian Hickson. The Web Standards Project. 25 March 2008.
- Web site: Ben Henick. The Web Standards Project. 2 April 2008.
- Web site: David Baron. The Web Standards Project. 2 April 2008.
- Acid2: Putting Browser Makers on Notice. The Web Standards Project. 13 April 2005. 1 April 2008.
- Web site: The Acid2 Test. Hyatt. Dave. Surfin' Safari. MozillaZine. 12 April 2005. 1 April 2008.
- Web site: Acid2: Version 1.1 Posted. Surfin' Safari. Hyatt. Dave. MozillaZine. 23 April 2005. 24 December 2007.
- Web site: Acid2: Lopping Off the Sideburns. Surfin' Safari. Hyatt. Dave. MozillaZine. 20 April 2005. 14 May 2008.
- Web site: Acid3 Browser Test. The Web Standards Project. 15 August 2008.
- Web site: Standards and CSS in IE. Wilson. Chris. IEBlog. Microsoft. 29 July 2005. 11 March 2008.
- Web site: IE 8: On the Path to Web Standards Compliance - ACID 2 Test Pass Complete. Charles. Microsoft. 19 December 2007. 30 August 2008. About 19 minutes and 15 seconds through the video, Alex Mogilevsky, a member of the IE team, points at a picture of the Acid2 test improperly rendered and states "The video in the bottom is a IE7 version of smiley face...What you're looking at is actually IE8. It is what it looks currently in IE8 and it will look exactly like this when we ship IE8 because we are not breaking any compatibility, and this is a compatible mode of IE8. And, uh, most of the web relies on particular behavior including particular incorrect behavior, so the incorrect behavior will still be there unless the new content wants IE to be in standards-compliant mode, and then they will ask us, and then we will show perfectly standard picture."
- Web site: Acid2 in IE8!. Lie, Håkon Wium. Opera Software. 20 December 2007. 30 August 2008.
- Web site: Microsoft's Interoperability Principles and IE8. Hachamovitch. Dean. IEBlog. Microsoft. 3 March 2008. 30 August 2008.
- Web site: IE8 Beta 2 screencast demo and interview. Tesar. David. Microsoft. 27 August 2008. 14 December 2008.
- Web site: Why Isn't IE8 Passing Acid2?. Microsoft. Phil. Nachreiner. 5 March 2008. 11 March 2008.
- Web site: Re: MSIE 8 beta 1 clarification needed. Hickson. Ian. World Wide Web Consortium. 14 March 2008. 5 May 2008.
- Web site: Internet Explorer 8 Beta 2: проверяем работоспособность. Перевертайлов. Алексей. Russian. 7 September 2008. 15 October 2008.
- Web site: How to use security zones in Internet Explorer. Microsoft Knowledge Base. Microsoft. 18 December 2007. 31 August 2008.
- Web site: Introducing Compatibility View. Dickens. Scott. IEBlog. Microsoft. 27 August 2008. 30 August 2008.
- World Wide Web Consortium Issues First Recommendation for PNG. World Wide Web Consortium. 7 October 1996. 12 August 2008.
- Web site: Cascading Style Sheets, level 2. Bos. Bert. Lie, Håkon Wium
. World Wide Web Consortium. 11 April 2008. 12 August 2008.
- Lilley, Chris; Jacobs, Ian
- Web site: RFC 2397 - The "data" URL scheme. Masinter, L. Internet Engineering Task Force. August. 1998. 12 August 2008.
- Web site: HTML 4.01 Specification. Raggett. Dave. Le Hors, Arnaud; Jacobs, Ian. World Wide Web Consortium. 24 December 1999. 11 August 2008.
- Web site: Cascading Style Sheets, level 2 revision 1. Bos. Bert. Çelik, Tantek; Hickson, Ian; Lie, Håkon Wium. World Wide Web Consortium. 19 July 2007. 5 January 2009.
- Web site: Cascading Style Sheets, level 2 revision 1. Bos. Bert. Çelik, Tantek; Hickson, Ian; Lie, Håkon Wium. World Wide Web Consortium. 19 July 2007. 5 January 2009.
- Web site: Acid2: The Guided Tour. The Web Standards Project. 24 December 2007.
- Web site: Browser Stats. TheCounter.com. April. 2005. 23 August 2008.
- Web site: Making IE use PNG Alpha transparency. Wilton-Jones, Mark "Tarquin". 31 July 2008.
- Web site: HTML 4.0 Specification. Raggett. Dave. Hors, Arnaud Le; Jacobs, Ian. World Wide Web Consortium. 24 April 1998. 28 July 2008.
- Web site: Proposed Standards. Official Internet Protocol Standards. Internet Society. 4 January 2009. 4 January 2009.
- Web site: Objects, Images, and Applets: Rules for rendering objects. Raggett. Dave. Le Hors, Arnaud; Jacobs, Ian. HTML 4.01 Specification. W3C. 24 December 1999. 20 March 2008.
- Web site: Visual formatting model. Cascading Style Sheets, level 2 revision 1. Bos. Bert. Çelik, Tantek; Hickson, Ian; Lie, Håkon Wium. World Wide Web Consortium. 19 July 2007. 5 January 2009.
- Web site: Understanding CSS Positioning part 1. Valkhof. Kilian. 5 May 2008. 31 July 2008.
- Web site: Box model. Cascading Style Sheets, level 2 revision 1. Bos. Bert. Çelik, Tantek; Hickson, Ian; Lie, Håkon Wium. World Wide Web Consortium. 19 July 2007. 5 January 2009.
- Web site: Details on our CSS changes for IE7. Mielke. Markus. IEBlog. Microsoft. 22 August 2006. 31 July 2008.
- Web site: Acid2 and Opera 9 Clarifications: Yes, Opera 9 Passes the Test. Holzschlag, Molly E.. Molly Holzschlag. The Web Standards Project. 20 July 2006. 22 July 2006.
- Web site: Tim's Opera Bits v1.1. Altman. Tim. Tim's blog. 19 July 2006. 15 November 2007.
- Web site: Issue 7734 - chromium - Do not pass ACID2 test. Google Code. 18 February 2009. 20 February 2009.
- Web site: Opera Mini 4 beta out. Bersvendsen. Arve. June. 2007. 22 December 2007.
- Web site: Opera Mini Simulator. Opera Software. 22 December 2007.
- Web site: Opera Mini Features. Opera Software. 21 December 2007.
- Web site: c33322. Wilton-Jones, Mark "Tarquin". Simon Willison. 10 June 2006. 10 May 2008.
- Web site: Safari Passes the Acid2 Test (Updated). Hyatt. Dave. 27 April 2005. 14 June 2006.
- Web site: Acid2 - the truth about Safari, iCab and Konqueror. Much. Thomas. Thomas Much's Weblog. 5 November 2005. 5 May 2008.
- Web site: Konqueror now passes Acid2. Sandfeld, Allan [carewolf]. carewolf's blog. KDE Developer's Journals. 4 June 2005. 16 May 2006.
- Web site: Notes about the scrollbar. Acid 2 in major browsers. Wilton-Jones, Mark "Tarquin". 10 January 2009.
- Web site: Visual effects. Cascading Style Sheets, level 2 revision 1. Bos. Bert. Çelik, Tantek; Hickson, Ian; Lie, Håkon Wium. World Wide Web Consortium. 19 July 2007. 5 January 2009.
- Web site: Conformance: Requirements and Recommendations. Cascading Style Sheets, level 2 revision 1. Bos. Bert. Çelik, Tantek; Hickson, Ian; Lie, Håkon Wium. World Wide Web Consortium. 19 July 2007. 10 January 2009.
- Web site: RFC 2119 - Key words for use in RFCs to Indicate Requirement Levels. Bradner, S.. Internet Engineering Task Force. March. 1997. 10 January 2009.
- News: Apple opens up open-source effort. Festa. Paul. CNET. 7 June 2005. 26 February 2009.
- Web site: WebKit Fixes in Safari 2.0.2 / Mac OS X 10.4.3. Stachowiak. Maciej. Surfin' Safari. 1 November 2005. 3 May 2008.
- Web site: Apple Safari 2.0.2 software download. VersionTracker. 3 May 2008.
- Web site: K Desktop Environment 3.5 Released. KDE Project. 29 November 2005. 16 May 2006.
- Web site: The Acid2 Test. YesLogic. 16 May 2006.
- Web site: Acid2 - Rows 4 and 5 AKA Opera passes the Acid2 test!. Altman. Tim. Tim's blog. 10 March 2006. 16 May 2006.
- Web site: …and one more weekly!. Santambrogio. Claudio. 10 March 2006. 10 May 2008.
- Widgets, BitTorrent, content blocking: Introducing Opera 9 Beta. Opera Software. 20 April 2006. 10 May 2008.
- Web site: Changelog for Opera 9.0 Beta 1 for Windows. Opera Software. 20 April 2006. 10 May 2008.
- Web site: KDE 3.5.2 Release Announcement. The KDE Project. 28 March 2006. 10 January 2009.
- Web site: KDE 3.5.1 to KDE 3.5.2 Changelog. The KDE Project. 28 March 2006. 10 January 2009.
- News: KDE 3.5.2 Released. Kügler. Sebastian. The KDE Project. 28 March 2006. 26 February 2009.
- Web site: Firefox (on a development branch) passing the Acid2 test. Baron. David. Flickr. 11 April 2006. 1 January 2009.
- Web site: Opera for Symbian passes Acid2. Nevstad. Magnus. The Digital Void of SPZ. Opera Software. 24 May 2006.
- Web site: Historical Release Notes. The Omni Group. 9 April 2008. 29 April 2008.
- Web site: Acid2 Passes!. Handycam. The Omni Group. 8 May 2006. 10 May 2008.
- Web site: Fourth Mac OS X browser test. http://web.archive.org/web/20060717122922/http://macintalk.com/index.php?id=136. Lengyel. Andras. Macintalk. 11 July 2006. 17 July 2006. 24 August 2008.
- Web site: Welcome to Opera 9.0. Ford. Thomas. Opera Software. 20 June 2006. 20 June 2006.
- Teleca’s Obigo Browser displays prestigious Acid2 test page faultlessly. Teleca. 4 July 2006. 5 May 2008. PDF.
- Web site: iCab 3.0.3 Final(ly). Much. Thomas. Thomas Much's Weblog. 24 August 2006. 13 April 2008.
- Web site: [https://bugzilla.mozilla.org/show_bug.cgi?id=289480#c121 Comment #121]. Baron. David. Bug 289480 - Tracking bug for acid2 (acid 2) test. Mozilla Corporation. 8 December 2006. 8 December 2006.
- Web site: Internet Explorer 8 Beta 1 for Developers Now Available. Hachamovitch. Dean. IEBlog. Microsoft. 5 March 2008. 5 May 2008.
- News: A first look at Firefox 3.0. Paul. Ryan. Ars Technica. 12 December 2006. 5 August 2008.
- Web site: Firefox 3 Release Notes. Mozilla Foundation. 7 June 2008. 4 August 2008.
- Web site: Internet Explorer 8 Beta 2 Now Available. Hachamovitch. Dean. IEBlog. Microsoft. 27 August 2008. 17 November 2008.