Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's added here will be added as <link>s in order, and before the CSS in the editor. You can use the CSS from another Pen by using it's URL and the proper URL extention.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Packages

Add Packages

Search for and use JavaScript packages from npm here. By selecting a package, an import statement will be added to the top of the JavaScript editor for this package.

Behavior

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                <button onclick="zoom('450px')">Zoom 50%</button>
<button onclick="zoom('600px')">Zoom 100%</button>
<button onclick="zoom('150px')">Zoom -50%</button>
<button onclick="zoom('300px')">Reset Zoom</button>
<b>Note! Every image has a tooltip that says the quality and saving when hover over the image.</b>
<hr>
<img src="https://www.peterbe.com/guetzli/origin/59_300x300.jpg" title="Original, 22,296 Bytes">
<img src="https://www.peterbe.com/guetzli/guetzli85/59_300x300.jpg" title="Quality 85, 8,315 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli90/59_300x300.jpg" title="Quality 90, 5,776 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli95/59_300x300.jpg" title="Quality 95, 2,854 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli99/59_300x300.jpg" title="Quality 99, 1,250 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli100/59_300x300.jpg" title="Quality 100, 1,010 Bytes smaller">
<hr>
<img src="https://www.peterbe.com/guetzli/origin/144_300x300.jpg" title="Original, 16,042 Bytes">
<img src="https://www.peterbe.com/guetzli/guetzli85/144_300x300.jpg" title="Quality 85, 6,100 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli90/144_300x300.jpg" title="Quality 90, 4,234 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli95/144_300x300.jpg" title="Quality 95, 2,076 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli99/144_300x300.jpg" title="Quality 99, 691 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli100/144_300x300.jpg" title="Quality 100, 513 Bytes smaller">
<hr>
<img src="https://www.peterbe.com/guetzli/origin/522_300x300.jpg" title="Original, 24,945 Bytes">
<img src="https://www.peterbe.com/guetzli/guetzli85/522_300x300.jpg" title="Quality 85, 6,862 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli90/522_300x300.jpg" title="Quality 90, 4,702 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli95/522_300x300.jpg" title="Quality 95, 2,068 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli99/522_300x300.jpg" title="Quality 99, 632 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli100/522_300x300.jpg" title="Quality 100, 453 Bytes smaller">
<hr>
<img src="https://www.peterbe.com/guetzli/origin/664_300x300.jpg" title="Original, 27,413 Bytes">
<img src="https://www.peterbe.com/guetzli/guetzli85/664_300x300.jpg" title="Quality 85, 7,831 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli90/664_300x300.jpg" title="Quality 90, 3,857 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli95/664_300x300.jpg" title="Quality 95, 2,000 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli99/664_300x300.jpg" title="Quality 99, 741 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli100/664_300x300.jpg" title="Quality 100, 439 Bytes smaller">
<hr>
<img src="https://www.peterbe.com/guetzli/origin/690_300x300.jpg" title="Original, 30,473 Bytes">
<img src="https://www.peterbe.com/guetzli/guetzli85/690_300x300.jpg" title="Quality 85, 9,056 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli90/690_300x300.jpg" title="Quality 90, 4,962 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli95/690_300x300.jpg" title="Quality 95, 2,500 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli99/690_300x300.jpg" title="Quality 99, 881 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli100/690_300x300.jpg" title="Quality 100, 650 Bytes smaller">
<hr>
<img src="https://www.peterbe.com/guetzli/origin/693_300x300.jpg" title="Original, 20,107 Bytes">
<img src="https://www.peterbe.com/guetzli/guetzli85/693_300x300.jpg" title="Quality 85, 6,460 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli90/693_300x300.jpg" title="Quality 90, 4,095 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli95/693_300x300.jpg" title="Quality 95, 1,729 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli99/693_300x300.jpg" title="Quality 99, 594 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli100/693_300x300.jpg" title="Quality 100, 429 Bytes smaller">
<hr>
<img src="https://www.peterbe.com/guetzli/origin/746_300x300.jpg" title="Original, 23,203 Bytes">
<img src="https://www.peterbe.com/guetzli/guetzli85/746_300x300.jpg" title="Quality 85, 7,677 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli90/746_300x300.jpg" title="Quality 90, 5,047 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli95/746_300x300.jpg" title="Quality 95, 1,885 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli99/746_300x300.jpg" title="Quality 99, 753 Bytes smaller">
<img src="https://www.peterbe.com/guetzli/guetzli100/746_300x300.jpg" title="Quality 100, 547 Bytes smaller">
<hr>

              
            
!

CSS

              
                img {
    height: auto;
}
button {font-weight: bold; font-size: 150%}
              
            
!

JS

              
                function zoom(w) {
  [].slice.call(document.querySelectorAll('img')).map(img => {
    img.style.width = w;
  })
}

              
            
!
999px

Console