Personalized Canvas Wall Art "Date of birth of family members"

$45.90
$80.00
-43%
1.2k+ sold
people are viewing this right now
Shipping
Color:  Style 1
Size:  8"x12"/20*30cm
Free shipping on orders over $80
Cash on delivery
30 days no reason to return
Secure payments

Description

EMOTIONAL CANVAS THAT TOUCHES MOTHERS' HEARTS

Make Mother's Day or her birthday unforgettable with a personalized canvas that beautifully expresses your appreciation and love for her! Capture the names of all the children along with their respective birth dates, creating a heartfelt tribute that will surely move her to tears.

More than 7,000+ happy families!
We are very proud to say that we have been able to make more than 7,000 households happy with our personalized canvases!

ADD UPTO 7 NAMES &7 DATES

You have the option to frame it yourself or visit the nearest framing service to find the ideal frame that best suits your style. Alternatively, if you choose to frame with us, we offer the added convenience of stretching your canvas on a ready-to-hang wooden frame. Enjoy the flexibility of personalizing your canvas presentation and creating a masterpiece that suits your individual preferences.

LOVED BY OUR CUSTOMERS

People love our canvases  because we turn their cherished moments into heartwarming artworks, uniquely tailored to capture their most treasured memories with a touch of personalization and care.

Surprise your family with this personal family canvas! 😍

Surprise your mom/dad or husband/wife with a personalized canvas that shows them how much you appreciate them !

PREMIUM MATERIALS
Crafted from a blend of 35% cotton and 65% polyester, our canvas boasts a luxurious satin finish. It exhibits remarkable durability and environmental friendliness. Additionally, its smooth and delicate surface is impermeable to water, ensuring long-lasting quality. Please note that a 1-2 cm measurement error is within the normal range.

  • Size:
    8"x12"/20*30cm
    12"x16"/30x40cm
    12"x18" / 30x45cm 
  • Product Details:
    0.78" (2 cm) depth for a premium look appearance

  • Quality that will last a lifetime:
    Family Gift can bring life and meaning into a home, they can tell a story & make an ordinary space feel loved and appreciated. That’s why we make canvas wall art very seriously.

Attention:
Make sure the name and date are spelled correctly,

We can only customize according to the information you send.

If you send all lowercase letters, we will change the first letter to capital for you,

But if you want everything in caps, send the name directly in all caps

📦About logistics: In order to prevent canvas damage during transportation, we adopt separate shipping of the frame and canvas. Assembly is required upon receipt.

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.