Warehouse Transfer
We are temporarily not accepting new orders while we complete our warehouse transfer. We expect to resume normal operations during the first week of August, with a tentative target date of August 5. Thank you for your patience and understanding. Follow us on social media for updates.
(function () { function initAngelGjSlider() { const container = document.querySelector( ".angel-gj-slider-container" ); if (!container || container.dataset.sliderInitialized === "true") { return; } container.dataset.sliderInitialized = "true"; const slides = Array.from( container.querySelectorAll(".angel-gj-slide") ); const dots = Array.from( container.querySelectorAll(".angel-gj-dot") ); const prevBtn = container.querySelector(".angel-gj-prev"); const nextBtn = container.querySelector(".angel-gj-next"); if (!slides.length) { return; } let idx = 1; function prepareVideo(video) { if (!video) { return; } video.muted = true; video.defaultMuted = true; video.autoplay = true; video.loop = true; video.playsInline = true; video.setAttribute("muted", ""); video.setAttribute("autoplay", ""); video.setAttribute("loop", ""); video.setAttribute("playsinline", ""); } function playVideo(video) { if (!video) { return; } prepareVideo(video); const playPromise = video.play(); if ( playPromise && typeof playPromise.catch === "function" ) { playPromise.catch(function () { video.addEventListener( "canplay", function () { video.muted = true; video.play().catch(function () {}); }, { once: true } ); }); } } function show(n) { if (n > slides.length) { idx = 1; } if (n < 1) { idx = slides.length; } slides.forEach(function (slide, slideIndex) { const video = slide.querySelector("video"); const isActive = slideIndex === idx - 1; slide.style.display = isActive ? "block" : "none"; if (isActive) { playVideo(video); } else if (video) { video.pause(); } }); dots.forEach(function (dot, dotIndex) { dot.classList.toggle( "active", dotIndex === idx - 1 ); }); } function changeSlide(amount) { idx += amount; show(idx); } slides.forEach(function (slide) { prepareVideo(slide.querySelector("video")); }); const firstVideo = slides[0].querySelector("video"); if (firstVideo) { firstVideo.preload = "auto"; playVideo(firstVideo); } if (prevBtn) { prevBtn.addEventListener("click", function () { changeSlide(-1); }); } if (nextBtn) { nextBtn.addEventListener("click", function () { changeSlide(1); }); } dots.forEach(function (dot) { dot.addEventListener("click", function () { const slideNumber = parseInt( dot.getAttribute("data-slide"), 10 ); if (!Number.isNaN(slideNumber)) { idx = slideNumber; show(idx); } }); }); show(1); window.addEventListener( "load", function () { playVideo(slides[0].querySelector("video")); }, { once: true } ); document.addEventListener( "visibilitychange", function () { if (!document.hidden) { playVideo( slides[idx - 1].querySelector("video") ); } } ); } if (document.readyState === "loading") { document.addEventListener( "DOMContentLoaded", initAngelGjSlider ); } else { initAngelGjSlider(); } })();

Welcome to Goods Japan! Since 2009, we've been your one stop shop for dependable, affordable, and high quality Japanese leathercraft tools and supplies, wood carving tools, jewellery making products, and more! With our dedication to customer satisfaction, quality, and a constantly growing line up of products, we're confident you'll love shopping with us.

Goods Japan Leathercraft tools and supplies
Goods Japan PMC and Art Clay
Goods Japan Woodcarving and Woodworking tools and supplies
Goods Japan Wholesale Inquiry
Goods Japan Customer Support
Morin Silver Metal Clay

Create magnificent 99.9% pure silver jewelry with Morin’s precious metal clay, Available in 5g, 15g, and 50g sizes. Click here to shop!