Mozilla

Mozilla Firefox

Roll over each blurb to see examples.

Developer Tools

Ever wonder what makes the Web work? Want to tinker with design and code? Firefox Developer Tools let you look under the hood of any Web page so you can debug, optimize and experiment with the Web.

Style Editor screenshot

Style Editor

The Style Editor makes it easy to experiment with, revise and test changes to the appearance of Web pages. Edit the design of any page and see your changes instantly as you modify the stylesheet. Try it out from the Web Developer menu.

Debugger screenshot

Debugger

Quickly hunt down problems in your JavaScript code as you pause, play and watch script execution by setting breakpoints in the source editor. All of the scripts are listed in a menu and you can jump to a file by typing part of its name. It also supports remote debugging for Firefox OS and Firefox for Android.

Mobile developer tools screenshot

Mobile developer tools

Our Responsive Design View tool makes it easy to resize the page you’re viewing to see what it would look like on any screen, all from the comfort of your desktop. You can also troubleshoot JavaScript running on your mobile with the Debugger. Connect to Firefox for Android or Firefox OS and use your desktop monitor to debug your mobile device.

Developer Toolbar screenshot

Developer Toolbar

Fast, easy and intuitive, the Developer Toolbar saves you time when working on Web development. It provides easy keyboard control over a variety of tools and automatically completes commands and parameters as you type. Find it in the Web Developer menu or hit shift+F2.

Web Console screenshot

Web Console

Watch the events occurring within your Web pages. Web Console lets you see logging messages from your JavaScript code, JavaScript and CSS errors and network activity. Search and filter to find just the events you need to look at. Plus, you can directly interact with and explore your page via JavaScript.

learn more
Page Inspector screenshot

Page Inspector

Peek right into the styling of any Web page by visually selecting the page element that you’re interested in. Simply right-click on any part of the page and select “Inspect Element;” choose Inspect from the Web Developer menu; or use the handy ctrl-shift-I (cmd-shift-I on Mac) keyboard shortcut. (Try it out on this very page!)

learn more
Scratchpad screenshot

Scratchpad

The browser is a fantastic place to experiment with JavaScript and Scratchpad lets you write code that can interact directly with the contents of a Web page. Scratchpad makes it easy to experiment with your ideas and then copy the results into your usual website development tools. It’s also fun for tinkering on top of pages.

learn more

Firebug

The Firebug add-on that web developers everywhere depend on is compatible with the latest version of Firefox.

learn more
Roll over each blurb to see examples.

Innovating With HTML5

Firefox has always had excellent support for HTML5, and the latest version builds on that history with even more advanced features.

Forms

Dear Mozilla,

My name is . I think this demo is .

By the way, I want to tell you that you should .

Submitted! Thank you.

Firefox implements HTML5 forms, and supports new input types, data list support, new input attributes like autofocus and placeholder, decoupled forms, form options, validation mechanisms, constraint validation and new CSS selectors to bind them all together. For more detailed information, visit our Hacks site.

close learn more

Parser

x = - b ± b 2 - 4 a c 2 a

Firefox includes an HTML5-ready parser which brings new capabilities like inline SVG, and also improves performance by running the parsing algorithm on its own processor. This brings the Firefox parser algorithm closer to the standard and lays the foundation for consistent parsing across browsers.

close learn more

WebM

Firefox supports WebM, the new royalty-free format for video on the Web. It works on YouTube if you join their HTML5 beta, and works with embedded YouTube videos if you use their new iframe embedding API. Join the beta and see an example at the bottom of this post.

close learn more

Video Buffer API

With support for the buffered attribute for HTML5 video, Web pages with video can now give an accurate measure of how much video has been buffered rather than an approximation based on the download rate and current position in the stream.

learn more

Video “Preload” Support

The “autobuffer" attribute for video has been replaced with the new “preload” attribute. This attribute gives developers control over how videos are pre-buffered if they’re included on a page rather than the binary on/off system that was included in Firefox 3.5.

learn more

History pushState and replaceState

Firefox supports the HTML5 pushState and replaceState history modification calls, allowing developers to create or modify the browser navigation history. These are helpful for applications that might want to generate history entries using the hash after the URL (useful for HTML-based slides, for example).

learn more
Roll over each blurb to see examples.

Beautifying With CSS

Firefox is chock full of new CSS properties and promotions from the private CSS namespace into the final namespace due to the maturation of some of these standards.

CSS Transitions

❖✪

Firefox includes support for CSS transitions. Since the spec is still early, these are still –moz prefixed extensions.

close learn more

CSS Animations

Firefox 5 supports CSS Animations: a way to define CSS keyframes to create complex animations.

close learn more

-moz-calc()

Firefox supports an early version of calc that’s private-namespaced as –moz-calc. This allows developers to use simple expressions anywhere they can use a length, making CSS page layouts much simpler (no more divs for spacing!).

learn more

-moz-any()

Firefox has added an extremely useful new CSS extension: -moz-any() selector grouping. This allows providing alternatives between combinators rather than having to repeat the entire selector for one different piece.

learn more

-moz-element()

The –moz-element is an extension to the background-image property that lets you use any element as the background for another element.

learn more

-moz-placeholder

The :-moz-placeholder changes the attributes of the background text that’s a placeholder in an HTML5 form. Web developers can change the color or other attribute of the placeholder text.

learn more

Border Radius

The border-radius attribute is now supported, replacing the old -moz-border-radius version.

learn more

box-shadow

box-shadow has replaced -moz-box-shadow.

learn more

Consistent CSS Units

We’ve changed our handling of pixel sizes to match Internet Explorer, Safari and Chrome so that 1 inch always equals 96 pixels.

learn more

Physical CSS Unit Support

Firefox introduces a new CSS unit called mozmm for the rare instance where you actually want a physical size to be used.

learn more

device-pixel-ratio

The -moz-device-pixel-ratio media query gives you the number of device pixels per CSS pixel.

learn more

-moz-tab-size

The -moz-tab-size property lets you specify the width in space characters of how to render a tab character (U+0009) when rendering text.

learn more

-moz-focusring

Firefox’s CSS pseudo-selector, -moz-focusring, lets you specify the appearance of an element when it’s focused and when it would have a focus ring drawn around it. Different operating systems have different conventions for when to draw a focus ring or not, and this lets you control the look of form controls while maintaining platform conventions.

learn more

Resizable Text Areas

Text areas are resizable by default. You can disable that with the new resize CSS property.

learn more
Roll over each blurb to see examples.

Modern APIs

Firefox implements new standard APIs to find out what’s going on in your browser and provide more ways that you can add interactivity (online and offline) to your web pages.

window.matchMedia

Firefox supports a JavaScript equivalent to CSS3 media queries, which allows Web pages to adapt to the media/device they are displayed on. Different information about the media is available, such as screen width, resolution and orientation.

learn more

WebSockets

Firefox supports a way to maintain two-way communications with a server. WebSockets make it possible to create real-time messaging applications and HTML5 games on the Web.

learn more

Server Sent Events

Server Sent Events enable a server to push messages to the browser, which can then be detected as events in the Web page.

learn more

ECMAScript 5

ECMAScript 5 is the new version of the JavaScript language, which includes new features and API like Strict Mode and the JSON API.

learn more

WebGL

Canvas 3D. WebGL brings 3D graphics to the Web by introducing an API that closely conforms to OpenGL ES 2.0 and can be used in HTML5 canvas elements.

close learn more

Support for .click() to the File Upload Control

Firefox can call .click() on a hidden file control to bring up the platform file upload widget, meaning you can build your own instead of exposing the (ugly) file upload control. If you combine this with the new File APIs and progress events you’ll have a recipe for a very nice file upload experience.

learn more

Support for .slice in the File API

Firefox supports the Blob API and the .slice APIs that come with it. This can help people who want to process parts of large File objects from JavaScript without having to load the whole file into the memory. People who reliably upload large files can use some server and JS code to split a large file into sections and upload chunks, including re-retrying failed sections, or even uploading several sections, in parallel.

learn more

Support for File API URLs

Firefox supports the .url attribute for the File API, meaning objects from a File API can be used for images, video, HTML or other URL-powered objects.

learn more

Touch and Multi-Touch Events

Firefox supports both touch and multi-touch events, exposed to the DOM. Support for this functionality is available on Windows 7 systems.

learn more

Detect Click-to-Touch

Firefox can tell if a mouse or finger generated an event with the mozInputSource property. This is useful with the touch and multi-touch events and makes it possible to build apps that treat touch and mouse input differently.

learn more

IndexedDB

Firefox includes an early version of IndexedDB. This emerging standard for local storage is still undergoing change and will be private-prefixed until it’s stable. IndexedDB primer provides an overview of using the IndexedDB API.

learn more

FormData

Firefox includes support for the new FormData object, which makes it easier to interact with HTML forms. It also enables some new capabilities, like making it easy to upload a file as part of a form accessed via the File API.

learn more

Get a Canvas as a File Object

Firefox makes Canvas accessible as a file object for uploads and other purposes. You can now use the mozGetAsFile() method on a canvas and it will return an image file.

learn more

Audio Sampling and Generation API

The Firefox Audio Data API allows developers to read, modify and write data from audio and video elements.

learn more

Enhanced SVG

Firefox expands its support for SVG to let you use line graphics in even more creative ways.

SVG Animation and SMIL

Now you can animate SVG with SMIL in Firefox.

learn more

Advanced Security

Firefox supports a huge number of new security enhancements to help Web developers and protect users.

Content Security Policy

Content Security Policy (CSP) is a set of tools developers can use to help prevent a few different classes of attacks. In particular, it offers tools to mitigate cross-site scripting attacks, click-jacking and packet sniffing attacks. When a rule is violated, Firefox can send back information about that violation to the website, helping improve security for other browsers too.

learn more

X-Frame-Options

Firefox supports the X-Frame-Options header, one defense against clickjacking. This response header is supported by other browsers as well.

learn more

HSTS (ForceHTTPS)

Firefox supports the HTTP Strict Transport Security (HSTS) headers. These headers can be used to tell the browser that it should never, ever contact a site over unencrypted HTTP.

learn more

CORS Improvements

Firefox fixes bugs in the CORS implementation.

learn more