Although JavaScript is one of the major languages used for web and other general applications, it does not have a language-level module system. Lack of module system causes name conflicts when programmer uses libraries. We introduce a JavaScript module system with formal semantics. As an implementation, we also introduce a source-to-source transformation from JavaScript with module to JavaScript itself for current JavaScript engines to use them.