EMBROIDERED Custom Kids Photo Drawing Tshirt Sweatshirt as a Personalized Unique Special Gift for Moms, Dads, Aunts, Sisters

Worldwide shipping
Sustainably made
Secure payments
$31.36
$44.81
-30%
Style:  T-shirt
Size:  XS
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

Description

๐ŸŒŸ Unique Embroidered Photos, Drawings, Artworks for Cherished Moments!

Transform your most treasured memories into wearable art with our custom embroidered t-shirts and sweatshirts. ๐ŸŽจโœจOur personalized pieces showcase the magic of your child's drawings or family photographs meticulously embroidered onto high-quality fabric.
๐ŸŽจ How It Works:

1. Send us the image and we will check its suitability for embroidery.
2. Specify the location and size of the embroidery on the clothing.
3. Let's decide on revisions together if necessary.
4. After your confirmation, we start the embroidery process.

๐ŸŽจ Instructions
1. Embroidery size can be maximum 20 cm x 20 cm.
2. If you want different color options or different sizes than white, feel free to contact us.
3. However, we would like to inform you that the most realistic result is on white.

๐Ÿ‘จ‍๐Ÿ‘ฉ‍๐Ÿ‘ง A Heartwarming Connection:
Immerse yourself in the sentimental journey of turning your child's imaginative doodles or family snapshots into timeless, tangible keepsakes. Each stitch carries the essence of those precious moments, creating a heartfelt connection that lasts a lifetime.

๐ŸŒŸ Unleash Your Creativity:
Celebrate your child's artistic flair or relive special occasions by submitting a photo of your choice. Our skilled artisans will craft a stunning embroidery, capturing every detail and emotion. The result? A one-of-a-kind masterpiece that merges craftsmanship with memories.

๐ŸŒˆ Sizes That Fit Every Story:
Choose between our carefully crafted t-shirts and sweatshirts, available in a maximum 20 cm x 20 cm size. These pieces aren't just garments; they're wearable stories, encapsulating the essence of your fondest moments in a compact canvas.

๐ŸŽ The Perfect Gift for Every Occasion:
Whether it's a birthday, anniversary, or just a spontaneous gesture of love, our custom embroidered apparel makes for an unforgettable and thoughtful gift. Surprise parents, grandparents, or anyone with a piece of wearable nostalgia that they'll cherish forever.

โœจ Why Choose Us?

Impeccable Craftsmanship: Our skilled artisans pay meticulous attention to detail, ensuring the highest quality embroidery.
Personalized Touch: Your vision, your story – we bring it to life through the art of embroidery.
Lasting Memories: Create a legacy with wearable memories that withstand the test of time.

Processing Time

1- Order confirmation:
Your customized information will be confirmed within 2 hours after placing the order and synchronized to the factory. Please make sure your order information and shipping address are accurate before paying. Cannot be modified after the expiration date.

2 - Design (1-3 Business Days): Once you've placed your order, our designers spring into action. ((Note: In order to improve the efficiency of production and shipment, please contact us through IG to send your order number or e-mail in time after placing your order.)

3 - Production (3-5 Business Days): Upon approval, we jump into production mode which takes 3 to 5 days.

4 - Shipping (8-10 Business Days or Faster): With production complete, your product is packaged securely and shipped. Typically, shipping takes 8 to 10 business days but we offer faster shipping options at the checkout.

Products with complex craftsmanship may take more time to produce. If you have any questions, please feel free to contact us.
For comprehensive delivery times and further details, please refer to our Shipping Policy.

Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.