Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What is a suitable tool for drawing physics diagrams online? I would love to know if there is a program like the excellent schematic drawing tool that is integrated into the electrical engineering stack exchange, only for physics.

This would really help in answering questions more graphically and in an intuitive fashion, without having to rely on formulas. I am aware of the offline possibilities, but for most problems, I just need to draw simple shapes such as lines, circles, boxes, and squiggly lines. I work from several machines, so an online tool would be a lot more flexible.

share|cite|improve this question
Possible duplicate: – Qmechanic Jun 21 '13 at 18:56
Have you tried svg-edit? – Greg Jun 21 '13 at 22:00
@Greg: I had not before - it looks interesting! It might make for a good answer! – Martin J.H. Jun 22 '13 at 10:15

(Disclaimer: my answer is very heavily weighted towards the programming side, because that's my preference for drawing diagrams. It might be useless and overly time consuming for someone not familiar with the programming languages. The abridged version of this post is "use javascript or possibly Sage")

If you're familiar enough with programming that it's not a serious time investment, I'd suggest javascript/processingjs! With jsfiddle and, you can set up a little app in no time. This makes drawing graphs, writing text, or adjusting parameters and seeing the graphics update in real time a piece of cake. Especially in the khan academy IDE, where a nice draggable bar appears over variables. For example, here are two examples of things I wrote on Khan Academy to explain things to others:

coupled oscillators (maybe 2/3rds of the code here was copy and pasted from previous things I wrote)

monte carlo estimate

If you need another feature, you can just write a reusable object once, and copy and paste it next time you need it.

One place you might suffer is with inserting LaTeX equations. This could be overcome, probably still in jsfiddle, by importing MathJax, and using an html div element with absolute positioning, to position it over your graphic. Another place might be loading a local image file (khan academy, at least, has blocks to try to prevent you from doing this)

I've also heard good things about Sage, despite never having tried it, and I know there's an online in-browser application.

In summary, my diagram drawing options and recommendations, in the order in which I try/consider using them: Mathematica > khanacademy > jsfiddle > local html/javascript file > wall of text description > online bare-bones drawing tool > paper and a scanner. And maybe Sage could replace the Mathematica bit at the top.

As a case example, since time is a serious concern for this, I did the squiggle drawing thing you mentioned. Khan Academy applet here. From time of opening the tab to completing the code (and fiddling around with the values) was 7 minutes (w/ gracious overestimating of time). Try scrolling to the bottom and messing with the color/size/position options, using the color chooser and built in IDE draggable bars. And keep in mind for future squiggle lines you can copy and paste the function.

share|cite|improve this answer
+1 for showing me tools like Khanacademy and JSFiddle, both of which I had never hear of before! I am reluctant to accept it, because I am still looking for something that is more intuitive to the average user. – Martin J.H. Jun 26 '13 at 14:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.