diff --git a/src/command.rs b/src/command.rs
index 21c552a..bcdcc99 100644
--- a/src/command.rs
+++ b/src/command.rs
@@ -176,6 +176,10 @@ fn init(
 
     let crate_path = set_crate_path(path);
 
+    info!(&log, "Checking wasm-bindgen dependency...");
+    manifest::check_wasm_bindgen(&crate_path)?;
+    info!(&log, "wasm-bindgen dependency is correctly declared.");
+
     info!(&log, "Adding wasm-target...");
     build::rustup_add_wasm_target()?;
     info!(&log, "Adding wasm-target was successful.");
diff --git a/src/manifest.rs b/src/manifest.rs
index 297e995..872924e 100644
--- a/src/manifest.rs
+++ b/src/manifest.rs
@@ -11,6 +11,7 @@ use PBAR;
 #[derive(Deserialize)]
 struct CargoManifest {
     package: CargoPackage,
+    dependencies: Option<CargoDependencies>,
     lib: Option<CargoLib>,
 }
 
@@ -24,6 +25,12 @@ struct CargoPackage {
     repository: Option<String>,
 }
 
+#[derive(Deserialize)]
+struct CargoDependencies {
+    #[serde(rename = "wasm-bindgen")]
+    wasm_bindgen: Option<String>,
+}
+
 #[derive(Deserialize)]
 struct CargoLib {
     #[serde(rename = "crate-type")]
@@ -144,6 +151,18 @@ pub fn get_crate_name(path: &str) -> Result<String, Error> {
     Ok(read_cargo_toml(path)?.package.name)
 }
 
+pub fn check_wasm_bindgen(path: &str) -> Result<(), Error> {
+    if read_cargo_toml(path)?.dependencies.map_or(false, |x| {
+        !x.wasm_bindgen.unwrap_or("".to_string()).is_empty()
+    }) {
+        return Ok(());
+    }
+    Error::crate_config(&format!(
+        "Ensure that you have \"{}\" as a dependency in your Cargo.toml file:\n[dependencies]\nwasm-bindgen = \"0.2\"",
+        style("wasm-bindgen").bold().dim()
+    ))
+}
+
 fn has_cdylib(path: &str) -> Result<bool, Error> {
     Ok(read_cargo_toml(path)?.lib.map_or(false, |lib| {
         lib.crate_type
diff --git a/tests/fixtures/bad-cargo-toml/Cargo.toml b/tests/fixtures/bad-cargo-toml/Cargo.toml
index c73a430..1c8e304 100644
--- a/tests/fixtures/bad-cargo-toml/Cargo.toml
+++ b/tests/fixtures/bad-cargo-toml/Cargo.toml
@@ -7,4 +7,3 @@ authors = ["Michael Gattozzi <mgattozzi@gmail.com>"]
 crate-type = ["foo"]
 
 [dependencies]
-wasm-bindgen = "0.2"
diff --git a/tests/manifest/main.rs b/tests/manifest/main.rs
index dc2183c..cf15438 100644
--- a/tests/manifest/main.rs
+++ b/tests/manifest/main.rs
@@ -84,3 +84,13 @@ fn it_creates_a_package_json_provided_path_with_scope() {
     let pkg = utils::read_package_json(&path).unwrap();
     assert_eq!(pkg.name, "@test/scopes-hello-world");
 }
+
+#[test]
+fn it_errors_when_wasm_bindgen_is_not_declared() {
+    assert!(manifest::check_wasm_bindgen("tests/fixtures/bad-cargo-toml").is_err());
+}
+
+#[test]
+fn it_does_not_error_when_wasm_bindgen_is_declared() {
+    assert!(manifest::check_wasm_bindgen("tests/fixtures/js-hello-world").is_ok());
+}