MarvinSketch is a Java based chemical drawing tool. MarvinSketch allows you to create and edit molecules in various file formats including MDL mol, Compressed mol, unique SMILES, SMARTS, Sybyl mol, PDB, CML, XYZ, POV-Ray.
MarvinSketch includes many advanced features, such as recent structures (i.e. structure history), visual fragment placement, ambiguity reduction, and multi-level undo/redo.