• This fiddle has previously unsaved changes. Apply changes Discard

Keep JSFiddle running.
Whitelist us in your content blocker.

We've been providing web developers, educators, students, companies with JSFiddle free for many years.

Your can help us in one of two ways:

  • Whitelist JSFiddle in your content blocker
  • Go PRO and get access to additional PRO features →
  • Ad-free

    All ads in the editor and listing pages are turned completely off.

  • Use pre-released features

    You get to try and use features (like the Palette Color Generator) months before everyone else.

  • Fiddle collections

    Sort and categorize your Fiddles into multiple collections.

  • Private collections and fiddles

    You can make as many Private Fiddles, and Private Collections as you wish!

  • Console

    Debug your Fiddle with a minimal built-in JavaScript console.

Join the 4+ million users, and keep the JSFiddle dream alive.

  • Ad-free

    All ads in the editor and listing pages are turned completely off.

  • Use pre-released features

    You get to try and use features (like the Palette Color Generator) months before everyone else.

  • Fiddle collections

    Sort and categorize your Fiddles into multiple collections.

  • Private collections and fiddles

    You can make as many Private Fiddles, and Private Collections as you wish!

  • Console

    Debug your Fiddle with a minimal built-in JavaScript console.

JSFiddle is used by you and 4+ million other developers, in many companies ...

... and top educational institutions:

image/svg+xml
Join as PRO

Color Palette Generator

Generate a cool color palette with a few clicks

Share or embed fiddle

Customize the embeddable experience for websites

Tabs:

Visual:

Embed snippet Prefer iframe?:

No autoresizing to fit the code

Render blocking of the parent page

Editor settings

Customize the behavior and feel of the editor

Behavior

General

Indent size:
Font size:

Console

Your recent fiddles

Recently created fiddles, including ones created while logged out

JSFiddle changelog

A log of all the changes made to JSFiddle – big and small.

  • 🦄 AI Code Completion (beta)

    Introducing some AI sprinkle in the editor - Code Completion based on the Codestral model (by Mistral).

    For now it's a BYOK implmentation which means you need to provide your own API Key − you can get it for free.

  • Editor switch from CodeMirror to Monaco (same as VSCode)

    After much deliberation I've decided to make the switch from CodeMirror to Monaco.

    There's a few reasons for this. CodeMirror 5 is no longer being developed, and the switch to 6 would be a huge rewrite since there's not much compatibility between the two versions.

    Monaco itself has lots of features already built-in, things that took quite a few external plugins to get into the CodeMirror implementation.

    I'm incredibly thankful to Marijn for his work on CodeMirror, it has served well for many years.

  • JSFiddle will load faster

    Technical debt is a drag man. Remember the time when MooTools was state-of-art JS framework? We do and so much of JSFiddle was still dependant on it till this day, but since almost all MooTools features are now available in native JS it was high-time to strip it out of the codebase.

    This took around a week of work, lots of testing, but it's now done. And the final package of our JS bundle is ~30% smaller.

  • Automatically expiring fiddles

    Add expiration date to your fiddle (time button next to Save), it can be: 1 day, 10 days, 1 month, 6 months, 1 year, and you can keep the fiddle forever. Right now the default is Keep forever but this will probably change.

  • Ability to download a fiddle

    We've added the ability to download a specific fiddle version from the Editor's interface. I'll be downloaded as a Zipped single HTML file.

  • Your recent fiddles when logged out

    Saving a fiddle, even when you're logged out, will put it under the Your recent fiddles modal in the sidebar. They will eventually disappear (since they're anonymous), but now you'll have time to save them under your user after logging in.

  • Tailwind CSS

    Added Tailwind CSS to the list of precompilers - even though it's really HTML, you can activate it from the dropdown in the CSS panel. Tailwind CSS would be best used with HTML Hot-reload enabled.

  • Code linting and formatting

    We've replaced the dated code linter and formatted with more modern ones: Stylelint and Prettier.

  • JSFiddle 3.0

    The 3.0 updates brings a lot of changes, most notably a modern UI refresh.

    There was an increadible amount of under-the-hood changes for the front-end, we've mostly moved away from pre-processors. The light/dark themes are using a modern light-dark() approach. The refactoring allows for more changes to be made in a spedier manner.

    • In the new sidebar you can find our mini-apps (right now the Color Palette Generator)

    • System theme follows your OS settings

    • CSS Hot-reload - styles update immidietly as you type

    • HTML Hot-reload (experimental) - update HTML immidietly as you type

    • Results panel color follows the selected theme

    • Title and description are now a single field

    • Public Profile page is completelty redesigned and can be easily used as your code showcase

    • Groups are now Collections and we have big plans for them

    • Collections are completely redesigned

    • Users can now add groups straight from the editor

  • Import fiddles as modules

    Import fiddle code into other fiddles with Modules and Imports.

    JS Modules: import [name] from '@jsfiddle/[username]/[fiddle].js'

    CSS Import: @import url('@jsfiddle/[username]/[fiddle].css')

    See how this works in this fiddle.

  • Fiddle listing shows latest version

    The fiddle listings (Public, Private, Titled, etc) will now display latest versions instead of the ones saved as Base versions - this was causing more confusion than good, so we decided to change this long-standing behavior.

  • Evaluate code into the console

    Custom Console beta is getting more stable and feature-rich. Just added the ability to evaluate code in the console.

Add a new collection

Collect your fiddles in collections

Get a Mistral API Key

A short guide to getting a free Mistral API Key.

  • Sign up for a Mistral account, and pick the free Experiment subscription plan.

  • Log in, and go to your organization's API Keys section.

  • Click Create new key, fill "JSFiddle" as the name for the API key, and save.

  • Copy the key, and paste it into JSFiddle − under the AI Code Completion in the Sidebar.

  • Done! AI Code Completion should now be working.

Set fiddle expiration