Skip to content

✷ free shipping over $20 on select collections ✷

Create Your Planner

Time Blocks
Hourly schedule planner
Task List
Priority-based checklist
Hybrid
Time + Priority tasks
Journal
Reflection & free-form
Personal
3.75" x 6.75"
Passport
3.5" x 5.5"
Pocket
3" x 5"
Mini
2.5" x 4.25"
6:00 AM
7:00 AM
8:00 AM
9:00 AM
10:00 AM
11:00 AM
12:00 PM
1:00 PM
2:00 PM
3:00 PM
4:00 PM
5:00 PM
6:00 PM
7:00 PM
8:00 PM
9:00 PM
1
2
3
9:00 AM
11:00 AM
1:00 PM
3:00 PM

Preview

Daily Planner

Select your options and click "Generate My Planner" to create your custom daily planner!

`); printWindow.document.close(); printWindow.print(); // Track print event if (typeof gtag !== 'undefined') { gtag('event', 'planner_printed', { 'template_type': selectedTemplate, 'planner_size': selectedSize }); } } function downloadPDF() { const element = document.getElementById('planner-preview'); const opt = { margin: 0.5, filename: `deskbunny-daily-planner-${selectedTemplate}-${new Date().toISOString().slice(0,10)}.pdf`, image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2 }, jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' } }; html2pdf().set(opt).from(element).save(); // Track download event if (typeof gtag !== 'undefined') { gtag('event', 'planner_downloaded', { 'template_type': selectedTemplate, 'planner_size': selectedSize }); } } function shareOnSocial() { const text = `Just created my custom daily planner with Desk Bunny's free generator! 🐰📝`; const url = window.location.href; if (navigator.share) { navigator.share({ title: 'Custom Daily Planner', text: text, url: url }); } else { // Fallback to Twitter share window.open(`https://twitter.com/intent/tweet?text=${encodeURIComponent(text)}&url=${encodeURIComponent(url)}`, '_blank'); } } function closeModal() { const modal = document.getElementById('upsellModal'); if (modal) { modal.style.display = 'none'; } } // Close modal when clicking outside window.onclick = function(event) { const modal = document.getElementById('upsellModal'); if (event.target === modal) { closeModal(); } } // Close modal with escape key document.addEventListener('keydown', function(event) { if (event.key === 'Escape') { closeModal(); } });