Edit on github

What is JS Bin?

JS Bin is a tool that enables you to learn, experiment and teach using web technologies.

There's a mass of features packed inside of JS Bin, but our aim is to be part of your tool chain to help you solve problems, explore technology and teach others.

Here's an analogy to help:

If you wanted to build the coolest, fastest, power hungry car in the world, or perhaps teach a group of students how an engine works or show how aerodynamics are applied to car design, then JS Bin is the garage full of all the tools you need to do your job.

JS Bin's motto is "Hack. Learn. Fix. Teach", and JS Bin is a vehicle to achieve all of these things, and it's likely your use will fall in to one or more of these categories:

  • Hack — JS Bin lets you experiment with the full source code in a throw-away environment.
  • Learn — JS Bin lets you view and watch other people's code, to see exactly how code affects the output instantly in real-time.
  • Fix — JS Bin is perfect as a pastebin to create isolated problems to help diagnose and debug problems, either yourself, or by sharing the bin with others.
  • Teach — Using tools like CodeCasting, embedding you can share your knowledge and help others with your experience, and by sharing that code, they can go on an experiment directly with your code and see real-time feedback in the output window.

In plain English

JS Bin is a code sharing site. Along with the code, the complete output of the code is also be shared. As a user types in the editor "panels", they will see the output being generated in real-time in the output panel.

There's a few common use cases for JS Bin. The first is teaching. Teachers will use JS Bin as a platform for showing how web languages work (HTML, CSS, JavaScript, but also languages that generate these, such as CoffeeScript, LESS and Markdown).

Students need only to use a browser to start creating web pages and seeing the direct effect of their code on the output.

Teachers can also use JS Bin's CodeCasting functionality. This is where the teacher will code in JS Bin, and share a unique URL with their students, and upon visiting the URL, the student's instance of JS Bin will update in real-time with the teacher's code and output - also allowing for remote teaching or remote tutorials.

The second use case is in replicating bugs. Developers will use JS Bin to isolate and replicate bugs that demonstrates a particular problem. Then share the URL to the JS Bin either as the full output or the editor view of JS Bin.

Once this is shared, a good member of the web community can fix the code (which is saved to a new URL) and share that back with the original author.