{"id":2452,"date":"2026-03-07T05:03:19","date_gmt":"2026-03-07T05:03:19","guid":{"rendered":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/"},"modified":"2026-03-07T08:43:01","modified_gmt":"2026-03-07T08:43:01","slug":"tinytask-loop-tutorial","status":"publish","type":"post","link":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/","title":{"rendered":"TinyTask Loop Tutorial: How to Repeat Macros on Loop"},"content":{"rendered":"\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Exo+2:wght@400;500;600;700;800&#038;display=swap\" rel=\"stylesheet\">\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\">\r\n<style>\r\n.tt-article {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  color: #1a2b3d;\r\n  background: #f8fafb;\r\n  line-height: 1.75;\r\n  font-size: 1.05rem;\r\n  font-weight: 400;\r\n  padding: 0;\r\n  margin: 0;\r\n}\r\n.tt-article *,\r\n.tt-article *::before,\r\n.tt-article *::after {\r\n  box-sizing: border-box;\r\n}\r\n.tt-article__inner {\r\n  max-width: 820px;\r\n  margin: 0 auto;\r\n  padding: 48px 24px 60px;\r\n}\r\n.tt-article h1 {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-size: 2.2rem;\r\n  font-weight: 800;\r\n  color: #0b1d33;\r\n  line-height: 1.25;\r\n  margin: 0 0 16px 0;\r\n}\r\n.tt-article__meta {\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 16px;\r\n  flex-wrap: wrap;\r\n  font-size: 0.88rem;\r\n  color: #5a6b7e;\r\n  margin-bottom: 32px;\r\n  padding-bottom: 24px;\r\n  border-bottom: 1px solid #e2e8f0;\r\n}\r\n.tt-article__meta i {\r\n  color: #1499d5;\r\n  margin-right: 4px;\r\n}\r\n.tt-article h2 {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-size: 1.6rem;\r\n  font-weight: 700;\r\n  color: #0b1d33;\r\n  margin: 48px 0 20px 0;\r\n  padding-bottom: 12px;\r\n  border-bottom: 2px solid rgba(20, 153, 213, 0.15);\r\n}\r\n.tt-article h3 {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-size: 1.2rem;\r\n  font-weight: 700;\r\n  color: #0b1d33;\r\n  margin: 32px 0 12px 0;\r\n}\r\n.tt-article p {\r\n  margin: 0 0 16px 0;\r\n  color: #1a2b3d;\r\n}\r\n.tt-article a {\r\n  color: #1499d5;\r\n  text-decoration: none;\r\n  font-weight: 500;\r\n}\r\n.tt-article a:hover {\r\n  text-decoration: underline;\r\n}\r\n.tt-article strong {\r\n  font-weight: 700;\r\n  color: #0b1d33;\r\n}\r\n.tt-article ul,\r\n.tt-article ol {\r\n  margin: 0 0 20px 0;\r\n  padding-left: 24px;\r\n}\r\n.tt-article li {\r\n  margin-bottom: 8px;\r\n}\r\n\r\n\/* TOC *\/\r\n.tt-article__toc {\r\n  background: #ffffff;\r\n  border: 1px solid #e2e8f0;\r\n  border-radius: 14px;\r\n  padding: 24px 28px;\r\n  margin: 0 0 40px 0;\r\n}\r\n.tt-article__toc-title {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 700;\r\n  font-size: 1rem;\r\n  color: #0b1d33;\r\n  margin: 0 0 12px 0;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n}\r\n.tt-article__toc-title i { color: #1499d5; }\r\n.tt-article__toc ol {\r\n  list-style: none;\r\n  padding: 0;\r\n  margin: 0;\r\n  counter-reset: toc;\r\n}\r\n.tt-article__toc li {\r\n  counter-increment: toc;\r\n  margin-bottom: 6px;\r\n}\r\n.tt-article__toc li::before {\r\n  content: counter(toc) \".\";\r\n  font-weight: 600;\r\n  color: #1499d5;\r\n  margin-right: 8px;\r\n  font-size: 0.92rem;\r\n}\r\n.tt-article__toc a {\r\n  font-size: 0.95rem;\r\n  font-weight: 500;\r\n}\r\n\r\n\/* Info\/Warn\/Success Boxes *\/\r\n.tt-article__info-box {\r\n  background: #eef7fc;\r\n  border-left: 4px solid #1499d5;\r\n  border-radius: 0 10px 10px 0;\r\n  padding: 18px 22px;\r\n  margin: 24px 0;\r\n  font-size: 0.97rem;\r\n}\r\n.tt-article__warn-box {\r\n  background: #fef9e7;\r\n  border-left: 4px solid #e5a00d;\r\n  border-radius: 0 10px 10px 0;\r\n  padding: 18px 22px;\r\n  margin: 24px 0;\r\n  font-size: 0.97rem;\r\n}\r\n.tt-article__success-box {\r\n  background: #e6f9ef;\r\n  border-left: 4px solid #18b775;\r\n  border-radius: 0 10px 10px 0;\r\n  padding: 18px 22px;\r\n  margin: 24px 0;\r\n  font-size: 0.97rem;\r\n}\r\n\r\n\/* Cards *\/\r\n.tt-article__card {\r\n  background: #ffffff;\r\n  border: 1px solid #e2e8f0;\r\n  border-radius: 14px;\r\n  padding: 24px 28px;\r\n  margin: 20px 0;\r\n}\r\n.tt-article__card-title {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 700;\r\n  font-size: 1.1rem;\r\n  color: #0b1d33;\r\n  margin: 0 0 10px 0;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n}\r\n.tt-article__card-title i { color: #1499d5; font-size: 1.1rem; }\r\n\r\n\/* Step Cards *\/\r\n.tt-article__step-card {\r\n  background: #ffffff;\r\n  border: 1px solid #e2e8f0;\r\n  border-radius: 14px;\r\n  padding: 24px 28px;\r\n  margin: 20px 0;\r\n  position: relative;\r\n  padding-left: 80px;\r\n}\r\n.tt-article__step-num {\r\n  position: absolute;\r\n  left: 24px;\r\n  top: 24px;\r\n  width: 40px;\r\n  height: 40px;\r\n  background: #1499d5;\r\n  color: #ffffff;\r\n  border-radius: 50%;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 800;\r\n  font-size: 1.1rem;\r\n}\r\n.tt-article__step-title {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 700;\r\n  font-size: 1.08rem;\r\n  color: #0b1d33;\r\n  margin: 0 0 8px 0;\r\n}\r\n\r\n\/* Comparison Table *\/\r\n.tt-article__table-wrap {\r\n  overflow-x: auto;\r\n  margin: 24px 0;\r\n  border-radius: 14px;\r\n  border: 1px solid #e2e8f0;\r\n}\r\n.tt-article__table {\r\n  width: 100%;\r\n  border-collapse: collapse;\r\n  font-size: 0.95rem;\r\n  background: #ffffff;\r\n}\r\n.tt-article__table th {\r\n  background: #0b1d33;\r\n  color: #ffffff;\r\n  font-weight: 700;\r\n  text-align: left;\r\n  padding: 14px 18px;\r\n  font-size: 0.9rem;\r\n  text-transform: uppercase;\r\n  letter-spacing: 0.4px;\r\n}\r\n.tt-article__table td {\r\n  padding: 12px 18px;\r\n  border-bottom: 1px solid #e2e8f0;\r\n  vertical-align: top;\r\n}\r\n.tt-article__table tr:last-child td { border-bottom: none; }\r\n.tt-article__table tr:nth-child(even) td { background: #f8fafb; }\r\n\r\n\/* Keyboard shortcut badges *\/\r\n.tt-article__kbd {\r\n  display: inline-block;\r\n  background: #e2e8f0;\r\n  border: 1px solid #cbd5e0;\r\n  border-radius: 4px;\r\n  padding: 2px 7px;\r\n  font-family: \"Courier New\", monospace;\r\n  font-size: 0.85rem;\r\n  font-weight: 600;\r\n  color: #0b1d33;\r\n}\r\n\r\n\/* Scenario Cards *\/\r\n.tt-article__scenarios {\r\n  display: grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 16px;\r\n  margin: 24px 0;\r\n}\r\n.tt-article__scenario {\r\n  background: #ffffff;\r\n  border: 1px solid #e2e8f0;\r\n  border-radius: 12px;\r\n  padding: 20px;\r\n}\r\n.tt-article__scenario-icon {\r\n  width: 40px;\r\n  height: 40px;\r\n  border-radius: 10px;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: center;\r\n  margin-bottom: 12px;\r\n  font-size: 1.1rem;\r\n}\r\n.tt-article__scenario h4 {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 700;\r\n  font-size: 1rem;\r\n  color: #0b1d33;\r\n  margin: 0 0 8px 0;\r\n}\r\n.tt-article__scenario p {\r\n  font-size: 0.92rem;\r\n  margin: 0;\r\n  color: #5a6b7e;\r\n}\r\n\r\n\/* Pros\/Cons *\/\r\n.tt-article__proscons {\r\n  display: grid;\r\n  grid-template-columns: 1fr 1fr;\r\n  gap: 16px;\r\n  margin: 20px 0;\r\n}\r\n.tt-article__pros {\r\n  background: #e6f9ef;\r\n  border: 1px solid #b7ecd3;\r\n  border-radius: 12px;\r\n  padding: 20px;\r\n}\r\n.tt-article__cons {\r\n  background: #fff0f0;\r\n  border: 1px solid #fbbaba;\r\n  border-radius: 12px;\r\n  padding: 20px;\r\n}\r\n.tt-article__pros-title,\r\n.tt-article__cons-title {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 700;\r\n  font-size: 1rem;\r\n  margin: 0 0 10px 0;\r\n  display: flex;\r\n  align-items: center;\r\n  gap: 8px;\r\n}\r\n.tt-article__pros-title { color: #0f8a4f; }\r\n.tt-article__cons-title { color: #c42b2b; }\r\n.tt-article__pros ul,\r\n.tt-article__cons ul {\r\n  list-style: none;\r\n  padding: 0;\r\n  margin: 0;\r\n}\r\n.tt-article__pros li,\r\n.tt-article__cons li {\r\n  position: relative;\r\n  padding-left: 22px;\r\n  margin-bottom: 6px;\r\n  font-size: 0.95rem;\r\n}\r\n.tt-article__pros li::before {\r\n  content: '';\r\n  display: inline-block;\r\n  width: 14px;\r\n  height: 14px;\r\n  background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%2318b775' d='M13.5 3L6 11 2.5 7.5l-1 1L6 13l8.5-9z'\/%3E%3C\/svg%3E\") center\/contain no-repeat;\r\n  position: absolute;\r\n  left: 0;\r\n  top: 5px;\r\n}\r\n.tt-article__cons li::before {\r\n  content: '';\r\n  display: inline-block;\r\n  width: 14px;\r\n  height: 14px;\r\n  background: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23e05252' d='M12 4L8 8 4 4 3 5l4 4-4 4 1 1 4-4 4 4 1-1-4-4 4-4z'\/%3E%3C\/svg%3E\") center\/contain no-repeat;\r\n  position: absolute;\r\n  left: 0;\r\n  top: 5px;\r\n}\r\n\r\n\/* FAQ *\/\r\n.tt-article__faq-item {\r\n  background: #ffffff;\r\n  border: 1px solid #e2e8f0;\r\n  border-radius: 12px;\r\n  margin: 10px 0;\r\n  overflow: hidden;\r\n}\r\n.tt-article__faq-q {\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 600;\r\n  font-size: 1.02rem;\r\n  color: #0b1d33;\r\n  cursor: pointer;\r\n  padding: 18px 50px 18px 22px;\r\n  list-style: none;\r\n  position: relative;\r\n}\r\n.tt-article__faq-q::-webkit-details-marker { display: none; }\r\n.tt-article__faq-q::after {\r\n  content: \"+\";\r\n  position: absolute;\r\n  right: 20px;\r\n  top: 50%;\r\n  transform: translateY(-50%);\r\n  font-size: 1.3rem;\r\n  font-weight: 700;\r\n  color: #1499d5;\r\n  transition: transform 0.2s;\r\n}\r\n.tt-article__faq-item[open] .tt-article__faq-q::after {\r\n  content: \"\\2212\";\r\n}\r\n.tt-article__faq-a {\r\n  padding: 0 22px 18px;\r\n  font-size: 0.97rem;\r\n  color: #1a2b3d;\r\n  line-height: 1.7;\r\n}\r\n.tt-article__faq-a p:last-child { margin-bottom: 0; }\r\n\r\n\/* CTA Box *\/\r\n.tt-article__cta-box {\r\n  background: linear-gradient(135deg, #0b1d33 0%, #153a5c 100%);\r\n  border-radius: 16px;\r\n  padding: 40px;\r\n  text-align: center;\r\n  margin: 48px 0 0 0;\r\n}\r\n.tt-article__cta-box h3 {\r\n  color: #ffffff;\r\n  font-size: 1.4rem;\r\n  margin: 0 0 12px 0;\r\n}\r\n.tt-article__cta-box p {\r\n  color: rgba(255,255,255,0.8);\r\n  margin: 0 0 24px 0;\r\n}\r\n.tt-article__cta-btn {\r\n  display: inline-flex;\r\n  align-items: center;\r\n  gap: 10px;\r\n  background: #1499d5;\r\n  color: #ffffff !important;\r\n  padding: 14px 32px;\r\n  border-radius: 10px;\r\n  text-decoration: none !important;\r\n  font-family: \"Exo 2\", sans-serif;\r\n  font-weight: 700;\r\n  font-size: 1.05rem;\r\n  transition: background 0.2s, transform 0.2s;\r\n}\r\n.tt-article__cta-btn:hover {\r\n  background: #1180b5;\r\n  transform: translateY(-2px);\r\n  color: #ffffff !important;\r\n}\r\n\r\n\/* Responsive *\/\r\n@media (max-width: 768px) {\r\n  .tt-article h1 { font-size: 1.7rem; }\r\n  .tt-article h2 { font-size: 1.35rem; }\r\n  .tt-article__inner { padding: 32px 16px 40px; }\r\n  .tt-article__proscons { grid-template-columns: 1fr; }\r\n  .tt-article__scenarios { grid-template-columns: 1fr; }\r\n  .tt-article__step-card { padding-left: 70px; }\r\n  .tt-article__cta-box { padding: 28px 20px; }\r\n}\r\n@media (max-width: 480px) {\r\n  .tt-article h1 { font-size: 1.45rem; }\r\n  .tt-article__meta { gap: 10px; font-size: 0.82rem; }\r\n}\r\n<\/style>\r\n\r\n<article class=\"tt-article\">\r\n<div class=\"tt-article__inner\">\r\n\r\n<h1>TinyTask Loop Tutorial: How to Repeat Macros on Loop<\/h1>\r\n\r\n<div class=\"tt-article__meta\">\r\n  <span><i class=\"fa-regular fa-calendar\"><\/i> March 2026<\/span>\r\n  <span><i class=\"fa-regular fa-clock\"><\/i> 15 min read<\/span>\r\n  <span><i class=\"fa-brands fa-windows\"><\/i> Windows XP &#8211; 11<\/span>\r\n  <span><i class=\"fa-solid fa-tag\"><\/i> TinyTask Guides<\/span>\r\n<\/div>\r\n\r\n<p>Recording a macro is only half the job. The real power of TinyTask comes from looping: replaying that recording 10, 100, or 1,000 times while you do something else. Whether you need to fill forms, process files, or automate clicks for hours, looping is what turns a one-time recording into a genuine productivity tool.<\/p>\r\n\r\n<p>This tutorial covers every looping method TinyTask offers, from simple counted loops to continuous playback, plus the tricks that keep long-running loops stable and reliable.<\/p>\r\n\r\n<nav class=\"tt-article__toc\">\r\n  <div class=\"tt-article__toc-title\"><i class=\"fa-solid fa-list\"><\/i> Table of Contents<\/div>\r\n  <ol>\r\n    <li><a href=\"#how-looping-works\">How Looping Works in TinyTask<\/a><\/li>\r\n    <li><a href=\"#counted-loop\">Method 1: Counted Loop (Specific Number)<\/a><\/li>\r\n    <li><a href=\"#continuous-loop\">Method 2: Continuous Playback (Infinite Loop)<\/a><\/li>\r\n    <li><a href=\"#exe-loop\">Method 3: Loop via Compiled EXE<\/a><\/li>\r\n    <li><a href=\"#scheduler-loop\">Method 4: Scheduled Loops with Task Scheduler<\/a><\/li>\r\n    <li><a href=\"#recording-tips\">Recording Tips for Reliable Loops<\/a><\/li>\r\n    <li><a href=\"#speed-control\">Speed Control and Timing<\/a><\/li>\r\n    <li><a href=\"#stopping\">How to Stop a Running Loop<\/a><\/li>\r\n    <li><a href=\"#troubleshooting\">Fixing Loops That Break<\/a><\/li>\r\n    <li><a href=\"#real-examples\">5 Real-World Loop Examples<\/a><\/li>\r\n    <li><a href=\"#faq\">Frequently Asked Questions<\/a><\/li>\r\n  <\/ol>\r\n<\/nav>\r\n\r\n<!-- Section 1: How Looping Works -->\r\n<h2 id=\"how-looping-works\"><i class=\"fa-solid fa-rotate\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>How Looping Works in TinyTask<\/h2>\r\n\r\n<p>When you play a recording in TinyTask, it replays your mouse movements, clicks, and keystrokes in the exact order and timing you recorded them. Looping simply means: when the recording finishes, start it again from the beginning.<\/p>\r\n\r\n<p>Each loop iteration replays the recording identically. TinyTask does not adjust timing, change positions, or modify anything between loops. The recording plays the same way on loop 1 as it does on loop 500. This is both TinyTask&#8217;s strength (predictable, consistent) and its limitation (no adaptation to changing conditions).<\/p>\r\n\r\n<div class=\"tt-article__card\">\r\n  <div class=\"tt-article__card-title\"><i class=\"fa-solid fa-circle-info\"><\/i> Key Concept: The Loop Boundary<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">The most important thing about looping is where your recording starts and ends. The <strong>last action of your recording becomes the setup for the first action of the next loop<\/strong>. If your macro ends with the cursor at position (500, 300) and the next loop starts with a click at (500, 300), the transition is seamless. If there is a mismatch, every loop after the first will fail.<\/p>\r\n<\/div>\r\n\r\n<p>TinyTask supports three types of looping:<\/p>\r\n<ul>\r\n  <li><strong>Counted loop<\/strong> &#8211; plays the recording a specific number of times (1 to 9999)<\/li>\r\n  <li><strong>Continuous playback<\/strong> &#8211; plays indefinitely until you manually stop it<\/li>\r\n  <li><strong>EXE loop<\/strong> &#8211; compile with loop settings baked in, double-click to run<\/li>\r\n<\/ul>\r\n\r\n\r\n<!-- Section 2: Counted Loop -->\r\n<h2 id=\"counted-loop\"><i class=\"fa-solid fa-hashtag\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Method 1: Counted Loop (Specific Number of Repeats)<\/h2>\r\n\r\n<p>This is the most common looping method. You tell TinyTask exactly how many times to repeat the recording, and it stops automatically when done.<\/p>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">1<\/div>\r\n  <div class=\"tt-article__step-title\">Record Your Macro<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Press <span class=\"tt-article__kbd\">Ctrl+Shift+Alt+R<\/span> to start recording. Perform one complete cycle of your task. Make sure the recording ends with the screen in the same state it was when you started. Press <span class=\"tt-article__kbd\">Ctrl+Shift+Alt+R<\/span> again to stop.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">2<\/div>\r\n  <div class=\"tt-article__step-title\">Set the Loop Count<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Look for the loop counter next to the playback controls in TinyTask&#8217;s toolbar. Click the number field and type the number of times you want the macro to repeat. For example, enter <strong>50<\/strong> to process 50 records, or <strong>200<\/strong> for a large batch.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">3<\/div>\r\n  <div class=\"tt-article__step-title\">Start Playback<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Press <span class=\"tt-article__kbd\">Ctrl+Shift+Alt+P<\/span> or click the Play button. TinyTask will play the recording, then immediately restart it. Each cycle counts down until the loop count reaches zero, then playback stops automatically.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__info-box\">\r\n  <strong><i class=\"fa-solid fa-lightbulb\" style=\"color:#1499d5;margin-right:6px;\"><\/i> Tip:<\/strong> Start with a loop count of 3 for testing. Watch all three cycles to confirm the macro transitions cleanly between loops. If cycle 2 and 3 work correctly, you can safely scale up to your full count.\r\n<\/div>\r\n\r\n<h3>When to Use Counted Loops<\/h3>\r\n<ul>\r\n  <li>You know exactly how many repetitions you need (e.g., 150 form entries)<\/li>\r\n  <li>You want the macro to stop automatically when the batch is complete<\/li>\r\n  <li>You are processing a fixed dataset and need one loop per record<\/li>\r\n  <li>You want to walk away and come back to a finished task<\/li>\r\n<\/ul>\r\n\r\n\r\n<!-- Section 3: Continuous Loop -->\r\n<h2 id=\"continuous-loop\"><i class=\"fa-solid fa-infinity\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Method 2: Continuous Playback (Infinite Loop)<\/h2>\r\n\r\n<p>Continuous playback repeats the recording forever until you manually stop it. This is useful when you do not know in advance how many repetitions you need, or when the task should run indefinitely.<\/p>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">1<\/div>\r\n  <div class=\"tt-article__step-title\">Enable Continuous Playback<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Click the wrench\/gear icon in TinyTask&#8217;s toolbar to open Preferences. Look for the <strong>&#8220;Continuous playback&#8221;<\/strong> option and check the box. Some versions display this as a toggle button directly on the toolbar (a circular arrow icon).<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">2<\/div>\r\n  <div class=\"tt-article__step-title\">Start Playback<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Press <span class=\"tt-article__kbd\">Ctrl+Shift+Alt+P<\/span> or click Play. The recording will loop indefinitely. TinyTask&#8217;s title bar or status area may show the current loop count as it runs.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">3<\/div>\r\n  <div class=\"tt-article__step-title\">Stop When Done<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Press <span class=\"tt-article__kbd\">Ctrl+Shift+Alt+P<\/span> again to stop. Some versions also stop on <span class=\"tt-article__kbd\">Scroll Lock<\/span>, <span class=\"tt-article__kbd\">Pause\/Break<\/span>, or <span class=\"tt-article__kbd\">Escape<\/span>. Keep the stop hotkey ready at all times during infinite loops.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__warn-box\">\r\n  <strong><i class=\"fa-solid fa-triangle-exclamation\" style=\"color:#e5a00d;margin-right:6px;\"><\/i> Warning:<\/strong> Continuous playback has no built-in safeguard. If your macro starts clicking in the wrong place, it will keep clicking in the wrong place forever. Always monitor the first few loops, and keep your hand near the stop hotkey. For unattended runs, use a counted loop instead.\r\n<\/div>\r\n\r\n<h3>When to Use Continuous Playback<\/h3>\r\n<ul>\r\n  <li>Monitoring tasks that should run until you decide to stop (e.g., refreshing a page every 30 seconds)<\/li>\r\n  <li>Idle game automation where the macro runs for hours<\/li>\r\n  <li>Keeping an application alive by simulating periodic activity<\/li>\r\n  <li>Testing scenarios where you need to observe behavior over many cycles<\/li>\r\n<\/ul>\r\n\r\n\r\n<!-- Section 4: EXE Loop -->\r\n<h2 id=\"exe-loop\"><i class=\"fa-solid fa-file-export\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Method 3: Loop via Compiled EXE<\/h2>\r\n\r\n<p>TinyTask can compile your recording into a standalone .exe file with loop settings baked in. The resulting EXE runs your macro without needing TinyTask installed, and it can include a specific loop count.<\/p>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">1<\/div>\r\n  <div class=\"tt-article__step-title\">Record and Save Your Macro<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Record your macro normally. Save it as a <code>.rec<\/code> file first as a backup. You can always recompile from the .rec file later if you need different loop settings.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">2<\/div>\r\n  <div class=\"tt-article__step-title\">Set Loop Count Before Compiling<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Set your desired loop count in TinyTask&#8217;s toolbar before compiling. The compiled EXE will use whatever loop count is active at compile time. For continuous playback, enable the continuous toggle before compiling.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">3<\/div>\r\n  <div class=\"tt-article__step-title\">Compile to EXE<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">In TinyTask, look for the Compile option (some versions show this under a menu or as a toolbar button). Select it, choose a save location and filename, and TinyTask will create a standalone EXE. The file will be small &#8211; typically under 100KB including the recording data.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">4<\/div>\r\n  <div class=\"tt-article__step-title\">Run the Compiled EXE<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Double-click the EXE to run. It will immediately start playing the macro with the compiled loop count. To stop a compiled EXE, use the same stop hotkeys (<span class=\"tt-article__kbd\">Ctrl+Shift+Alt+P<\/span>) or close it from the taskbar\/Task Manager.<\/p>\r\n<\/div>\r\n\r\n<h3>Advantages of Compiled EXE Loops<\/h3>\r\n<div class=\"tt-article__proscons\">\r\n  <div class=\"tt-article__pros\">\r\n    <div class=\"tt-article__pros-title\"><i class=\"fa-solid fa-thumbs-up\"><\/i> Benefits<\/div>\r\n    <ul>\r\n      <li>No TinyTask installation needed on the target machine<\/li>\r\n      <li>One double-click to start the entire loop<\/li>\r\n      <li>Can be shared with coworkers<\/li>\r\n      <li>Can be launched by Task Scheduler<\/li>\r\n      <li>Loop settings are permanent<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n  <div class=\"tt-article__cons\">\r\n    <div class=\"tt-article__cons-title\"><i class=\"fa-solid fa-thumbs-down\"><\/i> Drawbacks<\/div>\r\n    <ul>\r\n      <li>Cannot change loop count without recompiling<\/li>\r\n      <li>Cannot edit the recording inside the EXE<\/li>\r\n      <li>Antivirus may flag unknown EXEs<\/li>\r\n      <li>Only works on screens with the same resolution<\/li>\r\n      <li>Larger file than .rec (but still very small)<\/li>\r\n    <\/ul>\r\n  <\/div>\r\n<\/div>\r\n\r\n\r\n<!-- Section 5: Scheduled Loops -->\r\n<h2 id=\"scheduler-loop\"><i class=\"fa-solid fa-calendar-check\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Method 4: Scheduled Loops with Windows Task Scheduler<\/h2>\r\n\r\n<p>For macros that need to run at specific times (daily reports, morning setup routines, periodic data exports), combine a compiled EXE with Windows Task Scheduler.<\/p>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">1<\/div>\r\n  <div class=\"tt-article__step-title\">Compile Your Macro to EXE with Loop Count<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Set the loop count, compile the EXE, and test it by running it manually. Confirm it starts, loops the correct number of times, and stops cleanly.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">2<\/div>\r\n  <div class=\"tt-article__step-title\">Open Windows Task Scheduler<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Search &#8220;Task Scheduler&#8221; in the Start menu and open it. Click <strong>&#8220;Create Basic Task&#8221;<\/strong> in the right panel.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">3<\/div>\r\n  <div class=\"tt-article__step-title\">Configure the Schedule<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">Give the task a name (e.g., &#8220;Daily Report Macro&#8221;). Set the trigger: Daily, Weekly, or One time. Set the start time. Under Actions, choose &#8220;Start a program&#8221; and browse to your compiled EXE file.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__step-card\">\r\n  <div class=\"tt-article__step-num\">4<\/div>\r\n  <div class=\"tt-article__step-title\">Set Conditions<\/div>\r\n  <p style=\"margin:0;font-size:0.95rem;color:#5a6b7e;\">In the Conditions tab, uncheck &#8220;Start the task only if the computer is on AC power&#8221; if you use a laptop. In the Settings tab, check &#8220;Stop the task if it runs longer than&#8221; and set a reasonable limit (e.g., 1 hour) as a safety net against runaway macros.<\/p>\r\n<\/div>\r\n\r\n<div class=\"tt-article__warn-box\">\r\n  <strong><i class=\"fa-solid fa-triangle-exclamation\" style=\"color:#e5a00d;margin-right:6px;\"><\/i> Important:<\/strong> Scheduled macros only work when the screen is unlocked and the target application is open and visible. TinyTask cannot interact with the Windows lock screen or minimize windows. If you log out or lock your PC, the scheduled macro will fail silently.\r\n<\/div>\r\n\r\n\r\n<!-- Section 6: Recording Tips -->\r\n<h2 id=\"recording-tips\"><i class=\"fa-solid fa-wand-magic-sparkles\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Recording Tips for Reliable Loops<\/h2>\r\n\r\n<p>A loop is only as good as the recording it repeats. These recording practices prevent the most common loop failures.<\/p>\r\n\r\n<h3>Rule 1: End Where You Started<\/h3>\r\n<p>This is the golden rule of looping. Your recording must end with the screen in exactly the same state as when it started. If you click a &#8220;Next&#8221; button that changes the screen layout, the second loop will not find the same buttons in the same place. Design your macro so that the last action returns the application to its starting position.<\/p>\r\n\r\n<div class=\"tt-article__success-box\">\r\n  <strong><i class=\"fa-solid fa-check-circle\" style=\"color:#18b775;margin-right:6px;\"><\/i> Example:<\/strong> If your macro enters data in a spreadsheet row, the last action should move the cursor down to the next row. When the loop restarts, it begins entering data in the new row automatically. Each loop advances one row, and the starting position is always &#8220;the next empty row.&#8221;\r\n<\/div>\r\n\r\n<h3>Rule 2: Use Keyboard Navigation<\/h3>\r\n<p>Keyboard shortcuts (<span class=\"tt-article__kbd\">Tab<\/span>, <span class=\"tt-article__kbd\">Enter<\/span>, <span class=\"tt-article__kbd\">Arrow keys<\/span>) are immune to window position changes. A mouse click at pixel (400, 300) fails if the window moves. A <span class=\"tt-article__kbd\">Tab<\/span> keypress moves to the next field regardless of where the window is on screen.<\/p>\r\n\r\n<h3>Rule 3: Maximize All Windows<\/h3>\r\n<p>Maximized windows always occupy the same screen area, so mouse coordinates recorded in a maximized window will match during playback. Press <span class=\"tt-article__kbd\">Win+Up<\/span> to maximize before recording.<\/p>\r\n\r\n<h3>Rule 4: Add Pauses for Slow Applications<\/h3>\r\n<p>If you click &#8220;Save&#8221; and the application takes 2 seconds to process, wait those 2 seconds during recording before performing the next action. TinyTask records your wait time and replays it. Without the pause, the loop will try to click the next button before the previous operation finishes.<\/p>\r\n\r\n<h3>Rule 5: Keep Recordings Short<\/h3>\r\n<p>Shorter recordings loop more reliably. A 30-second recording looped 100 times is more stable than a 5-minute recording looped 10 times. Long recordings accumulate tiny timing inconsistencies that compound over many loops. If your task takes 5 minutes, try breaking it into shorter sub-tasks and looping each one separately.<\/p>\r\n\r\n<h3>Rule 6: Minimize Mouse Movement<\/h3>\r\n<p>Every pixel of mouse movement is recorded. Unnecessary cursor travel between clicks adds to the recording size and creates more opportunities for timing drift. Move the mouse only when you need to click something specific. Use keyboard shortcuts for everything else.<\/p>\r\n\r\n\r\n<!-- Section 7: Speed Control -->\r\n<h2 id=\"speed-control\"><i class=\"fa-solid fa-gauge-high\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Speed Control and Timing<\/h2>\r\n\r\n<p>TinyTask&#8217;s speed slider adjusts how fast the recording plays back. This directly affects loop behavior.<\/p>\r\n\r\n<div class=\"tt-article__table-wrap\">\r\n  <table class=\"tt-article__table\">\r\n    <thead>\r\n      <tr>\r\n        <th>Speed Setting<\/th>\r\n        <th>Effect<\/th>\r\n        <th>Best For<\/th>\r\n        <th>Loop Risk<\/th>\r\n      <\/tr>\r\n    <\/thead>\r\n    <tbody>\r\n      <tr>\r\n        <td><strong>0.5x (Slow)<\/strong><\/td>\r\n        <td>Plays at half speed, doubling all delays<\/td>\r\n        <td>Slow web apps, CRM systems with lag<\/td>\r\n        <td>Low &#8211; extra time prevents timing errors<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>0.8x<\/strong><\/td>\r\n        <td>Slightly slower than recorded<\/td>\r\n        <td>General-purpose safety margin<\/td>\r\n        <td>Low<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>1.0x (Normal)<\/strong><\/td>\r\n        <td>Exact recorded speed<\/td>\r\n        <td>Most tasks; matches your recorded timing<\/td>\r\n        <td>Medium &#8211; works if pauses are adequate<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>1.5x<\/strong><\/td>\r\n        <td>50% faster, shortens all delays<\/td>\r\n        <td>Fast local apps (Notepad, file explorer)<\/td>\r\n        <td>Medium-High &#8211; reduced wait times<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>2.0x+ (Fast)<\/strong><\/td>\r\n        <td>Doubles speed or more<\/td>\r\n        <td>Simple tasks with no app response delay<\/td>\r\n        <td>High &#8211; may outrun application processing<\/td>\r\n      <\/tr>\r\n    <\/tbody>\r\n  <\/table>\r\n<\/div>\r\n\r\n<div class=\"tt-article__info-box\">\r\n  <strong><i class=\"fa-solid fa-lightbulb\" style=\"color:#1499d5;margin-right:6px;\"><\/i> Strategy:<\/strong> Record at a comfortable pace with deliberate pauses at critical points. Then adjust speed during playback. This gives you built-in safety margins that you can reduce by increasing playback speed once you confirm the loop is stable.\r\n<\/div>\r\n\r\n<h3>Speed and Loop Count Interaction<\/h3>\r\n<p>Higher speed means each loop finishes faster, which means more loops per hour. But if you increase speed too much, the application cannot keep up and the macro breaks. Here is a practical approach:<\/p>\r\n<ol>\r\n  <li>Test at 1.0x speed with 3 loops<\/li>\r\n  <li>If all 3 loops pass, increase to 1.2x and test again with 3 loops<\/li>\r\n  <li>Keep increasing by 0.2x increments until you find the maximum stable speed<\/li>\r\n  <li>Set your production speed 0.1-0.2x below the maximum to add a safety margin<\/li>\r\n<\/ol>\r\n\r\n\r\n<!-- Section 8: Stopping -->\r\n<h2 id=\"stopping\"><i class=\"fa-solid fa-stop\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>How to Stop a Running Loop<\/h2>\r\n\r\n<p>Knowing how to stop a loop quickly is just as important as knowing how to start one. Here are all the ways to stop TinyTask playback, from fastest to last resort.<\/p>\r\n\r\n<div class=\"tt-article__table-wrap\">\r\n  <table class=\"tt-article__table\">\r\n    <thead>\r\n      <tr>\r\n        <th>Method<\/th>\r\n        <th>How<\/th>\r\n        <th>Speed<\/th>\r\n        <th>Notes<\/th>\r\n      <\/tr>\r\n    <\/thead>\r\n    <tbody>\r\n      <tr>\r\n        <td><strong>Stop Hotkey<\/strong><\/td>\r\n        <td><span class=\"tt-article__kbd\">Ctrl+Shift+Alt+P<\/span><\/td>\r\n        <td>Instant<\/td>\r\n        <td>Default stop key; customizable in Preferences<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>Pause\/Break Key<\/strong><\/td>\r\n        <td>Press <span class=\"tt-article__kbd\">Pause<\/span> on keyboard<\/td>\r\n        <td>Instant<\/td>\r\n        <td>Works in some TinyTask versions<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>Scroll Lock<\/strong><\/td>\r\n        <td>Press <span class=\"tt-article__kbd\">Scroll Lock<\/span><\/td>\r\n        <td>Instant<\/td>\r\n        <td>Alternative stop key in some versions<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>Security Screen<\/strong><\/td>\r\n        <td><span class=\"tt-article__kbd\">Ctrl+Alt+Delete<\/span><\/td>\r\n        <td>1-2 seconds<\/td>\r\n        <td>Pauses all foreground automation; use if hotkey fails<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>Task Manager<\/strong><\/td>\r\n        <td><span class=\"tt-article__kbd\">Ctrl+Shift+Esc<\/span> then End Task<\/td>\r\n        <td>3-5 seconds<\/td>\r\n        <td>Force-closes TinyTask entirely<\/td>\r\n      <\/tr>\r\n      <tr>\r\n        <td><strong>Lock Screen<\/strong><\/td>\r\n        <td><span class=\"tt-article__kbd\">Win+L<\/span><\/td>\r\n        <td>Instant<\/td>\r\n        <td>Locks PC; TinyTask cannot click through lock screen<\/td>\r\n      <\/tr>\r\n    <\/tbody>\r\n  <\/table>\r\n<\/div>\r\n\r\n<div class=\"tt-article__info-box\">\r\n  <strong><i class=\"fa-solid fa-lightbulb\" style=\"color:#1499d5;margin-right:6px;\"><\/i> Pro Tip:<\/strong> Before starting a long loop, position your left hand on <span class=\"tt-article__kbd\">Ctrl+Shift+Alt<\/span> and your right index finger on <span class=\"tt-article__kbd\">P<\/span>. Watch the first 2-3 loops. If anything looks wrong, stop immediately. The cost of re-running a correct macro is much lower than cleaning up data corrupted by a broken loop.\r\n<\/div>\r\n\r\n\r\n<!-- Section 9: Troubleshooting -->\r\n<h2 id=\"troubleshooting\"><i class=\"fa-solid fa-wrench\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Fixing Loops That Break<\/h2>\r\n\r\n<h3>Loop Works Once Then Fails on Repeat<\/h3>\r\n<p><strong>Cause:<\/strong> The recording does not return the screen to its starting state. After the first cycle, the application is in a different state than when recording began.<\/p>\r\n<p><strong>Fix:<\/strong> Add actions at the end of your recording that navigate back to the starting position. For example, if you are filling a form and clicking &#8220;Submit,&#8221; add actions that navigate back to a blank form after submission.<\/p>\r\n\r\n<h3>Timing Drift After Many Loops<\/h3>\r\n<p><strong>Cause:<\/strong> TinyTask&#8217;s playback adds tiny timing discrepancies (fractions of a second) per action. Over hundreds of loops, these accumulate. A Reddit user reported a 4-minute-48-second recording gaining an extra minute after many loops.<\/p>\r\n<p><strong>Fix:<\/strong> Minimize unnecessary mouse movements during recording. Each mouse movement event adds a timing data point that can drift. Use keyboard shortcuts instead of mouse clicks. Keep recordings under 2 minutes and rely on the loop count for volume.<\/p>\r\n\r\n<h3>Clicks Miss Their Targets After Loop 10+<\/h3>\r\n<p><strong>Cause:<\/strong> The target application&#8217;s UI shifts slightly after processing multiple records. Scroll positions change, new elements appear, or the window resizes due to content changes.<\/p>\r\n<p><strong>Fix:<\/strong> Add a &#8220;reset&#8221; action at the end of each cycle. Scroll back to the top (<span class=\"tt-article__kbd\">Ctrl+Home<\/span>), click a fixed navigation element, or press <span class=\"tt-article__kbd\">Home<\/span> to return to a known position. Run in smaller batches (20-50 loops) and manually verify between batches.<\/p>\r\n\r\n<h3>Macro Suddenly Starts Typing in Wrong Window<\/h3>\r\n<p><strong>Cause:<\/strong> A notification, dialog box, or Windows update pop-up stole focus from the target application between loops.<\/p>\r\n<p><strong>Fix:<\/strong> Enable Focus Assist (Windows 10\/11) before running loops. Close all applications except TinyTask and the target app. Disable scheduled notifications and updates during macro runs.<\/p>\r\n\r\n<h3>Compiled EXE Does Not Loop<\/h3>\r\n<p><strong>Cause:<\/strong> The loop count or continuous playback setting was not active when you compiled the EXE.<\/p>\r\n<p><strong>Fix:<\/strong> Open TinyTask, load the .rec file, set the loop count or enable continuous playback, then compile again. The EXE captures whatever settings are active at compile time.<\/p>\r\n\r\n<h3>Loop Runs But Application Freezes<\/h3>\r\n<p><strong>Cause:<\/strong> The macro runs faster than the application can process. Each loop sends inputs before the previous loop&#8217;s actions finish processing.<\/p>\r\n<p><strong>Fix:<\/strong> Reduce playback speed to 0.8x or lower. Re-record with longer pauses after heavy operations (saving, loading, submitting). If the application consistently freezes after N loops, run N-5 loops, wait for the application to catch up, then start another batch.<\/p>\r\n\r\n\r\n<!-- Section 10: Real Examples -->\r\n<h2 id=\"real-examples\"><i class=\"fa-solid fa-flask\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>5 Real-World Loop Examples<\/h2>\r\n\r\n<div class=\"tt-article__scenarios\">\r\n  <div class=\"tt-article__scenario\">\r\n    <div class=\"tt-article__scenario-icon\" style=\"background:rgba(20,153,213,0.1);color:#1499d5;\">\r\n      <i class=\"fa-solid fa-file-invoice\"><\/i>\r\n    <\/div>\r\n    <h4>Data Entry: 200 Form Submissions<\/h4>\r\n    <p><strong>Recording:<\/strong> Tab to first field, type data, Tab to next, type, Tab, type, click Submit, wait 2 seconds. 45 seconds per cycle. <strong>Loop:<\/strong> 200 counted loops. <strong>Speed:<\/strong> 1.0x. <strong>Total time:<\/strong> ~2.5 hours unattended.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tt-article__scenario\">\r\n    <div class=\"tt-article__scenario-icon\" style=\"background:rgba(24,183,117,0.1);color:#18b775;\">\r\n      <i class=\"fa-solid fa-gamepad\"><\/i>\r\n    <\/div>\r\n    <h4>Idle Game: Overnight Click Farming<\/h4>\r\n    <p><strong>Recording:<\/strong> Click resource button, wait 1 second. 2 seconds per cycle. <strong>Loop:<\/strong> Continuous playback. <strong>Speed:<\/strong> 1.5x. <strong>Duration:<\/strong> Runs all night until manually stopped in the morning.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tt-article__scenario\">\r\n    <div class=\"tt-article__scenario-icon\" style=\"background:rgba(229,160,13,0.1);color:#e5a00d;\">\r\n      <i class=\"fa-solid fa-rotate-right\"><\/i>\r\n    <\/div>\r\n    <h4>Page Refresh: Monitor a Website<\/h4>\r\n    <p><strong>Recording:<\/strong> Press F5, wait 30 seconds. 31 seconds per cycle. <strong>Loop:<\/strong> Continuous playback. <strong>Speed:<\/strong> 1.0x. <strong>Use:<\/strong> Monitoring a dashboard or waiting for a product to come back in stock.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tt-article__scenario\">\r\n    <div class=\"tt-article__scenario-icon\" style=\"background:rgba(224,82,82,0.1);color:#e05252;\">\r\n      <i class=\"fa-solid fa-folder-open\"><\/i>\r\n    <\/div>\r\n    <h4>File Processing: Rename 500 Files<\/h4>\r\n    <p><strong>Recording:<\/strong> Click file, press F2, type prefix, press Enter, arrow down to next file. 4 seconds per cycle. <strong>Loop:<\/strong> 500 counted loops. <strong>Speed:<\/strong> 1.2x. <strong>Total time:<\/strong> ~28 minutes.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"tt-article__scenario\">\r\n    \r\n\r\n<div class=\"tt-article__section\">\r\n<h2>Related Articles<\/h2>\r\n<ul style=\"list-style:none;padding:0;margin:16px 0;\">\r\n<li style=\"margin:10px 0;padding:12px 16px;background:#f8fafb;border:1px solid #e2e8f0;border-radius:8px;\"><a href=\"https:\/\/thetinytask.com\/how-to-use-tinytask\/\" style=\"color:#1499d5;font-weight:600;text-decoration:none;\">How to Use TinyTask: Complete Beginner Tutorial<\/a><\/li>\r\n<li style=\"margin:10px 0;padding:12px 16px;background:#f8fafb;border:1px solid #e2e8f0;border-radius:8px;\"><a href=\"https:\/\/thetinytask.com\/tinytask-record-speed\/\" style=\"color:#1499d5;font-weight:600;text-decoration:none;\">TinyTask Record Speed: How to Control Playback and Recording Speed<\/a><\/li>\r\n<li style=\"margin:10px 0;padding:12px 16px;background:#f8fafb;border:1px solid #e2e8f0;border-radius:8px;\"><a href=\"https:\/\/thetinytask.com\/tinytask-data-entry\/\" style=\"color:#1499d5;font-weight:600;text-decoration:none;\">TinyTask for Data Entry: Automate Repetitive Input Without Code<\/a><\/li>\r\n<\/ul>\r\n<\/div>\r\n\r\n<div class=\"tt-article__scenario-icon\" style=\"background:rgba(126,87,194,0.1);color:#7e57c2;\">\r\n      <i class=\"fa-solid fa-desktop\"><\/i>\r\n    <\/div>\r\n    <h4>Morning Setup: Open Daily Apps<\/h4>\r\n    <p><strong>Recording:<\/strong> Open browser, navigate to dashboard, open email client, open project management tool, arrange windows with Win+Arrow keys. 30 seconds total. <strong>Loop:<\/strong> 1 (no looping needed). <strong>EXE:<\/strong> Compiled, pinned to taskbar, double-click every morning.<\/p>\r\n  <\/div>\r\n<\/div>\r\n\r\n\r\n<!-- Section 11: FAQ -->\r\n<h2 id=\"faq\"><i class=\"fa-solid fa-circle-question\" style=\"color:#1499d5;margin-right:8px;font-size:1.2rem;\"><\/i>Frequently Asked Questions<\/h2>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">What is the maximum number of loops TinyTask supports?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>TinyTask&#8217;s loop counter typically supports values from 1 to 9999 in the standard interface. For anything beyond that, use the continuous playback option instead, which loops indefinitely until manually stopped.<\/p>\r\n    <p>In practice, the limiting factor is not TinyTask but the target application and your computer&#8217;s stability over time. After thousands of loops spanning several hours, you may encounter:<\/p>\r\n    <ul>\r\n      <li>Memory buildup in the target application causing slowdowns<\/li>\r\n      <li>Timing drift accumulating to the point where clicks miss their targets<\/li>\r\n      <li>Windows updates or background processes interrupting the macro<\/li>\r\n    <\/ul>\r\n    <p>For very high loop counts (500+), run in batches of 100-200 with manual verification between batches. This catches problems early and prevents large-scale data issues.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">Can I add a delay between loops?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>TinyTask does not have a dedicated &#8220;delay between loops&#8221; setting. However, you can achieve the same effect by building the delay into your recording.<\/p>\r\n    <p>At the end of your recording, simply wait for the desired delay time before stopping the recording. For example, if you want 5 seconds between loops:<\/p>\r\n    <ol>\r\n      <li>Perform your task actions<\/li>\r\n      <li>When the task actions are complete, wait 5 seconds (do nothing)<\/li>\r\n      <li>Stop recording<\/li>\r\n    <\/ol>\r\n    <p>The 5-second wait becomes part of the recording and replays at the end of every loop, creating a gap between cycles. You can adjust this effective delay by changing the playback speed: at 2x speed, a recorded 5-second pause becomes 2.5 seconds.<\/p>\r\n    <p>For more precise timing control, consider using AutoHotkey, which has a dedicated <code>Sleep<\/code> command that can insert exact delays between loop iterations.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">How do I loop a TinyTask macro overnight?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>Running a macro overnight requires a few extra precautions beyond normal looping:<\/p>\r\n    <p><strong>Before starting:<\/strong><\/p>\r\n    <ul>\r\n      <li>Disable Windows sleep and screen timeout: Settings &gt; System &gt; Power &amp; Sleep &gt; set all timers to &#8220;Never&#8221;<\/li>\r\n      <li>Disable screen saver: it can interrupt macro focus<\/li>\r\n      <li>Enable Focus Assist to block notifications<\/li>\r\n      <li>Plug in your laptop (battery saving mode throttles performance)<\/li>\r\n      <li>Close all unnecessary applications to prevent pop-ups<\/li>\r\n      <li>Disable Windows Update automatic restart: Settings &gt; Windows Update &gt; Advanced options &gt; set active hours<\/li>\r\n    <\/ul>\r\n    <p><strong>Looping setup:<\/strong><\/p>\r\n    <ul>\r\n      <li>Use continuous playback or set the loop count high enough to cover the full night (calculate: hours needed x loops per hour)<\/li>\r\n      <li>Set playback speed to 0.8x-1.0x for maximum stability<\/li>\r\n      <li>Test with 10 loops first while watching, then start the overnight run<\/li>\r\n    <\/ul>\r\n    <p><strong>In the morning:<\/strong> Check the target application to see how far the macro got. If it ran all night without errors, the last record entered should match your expected count. If it stopped early, check for pop-ups, errors, or timing drift.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">Why does my loop work 10 times then break?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>This is the most common loop problem. It almost always means the application&#8217;s state changes after N cycles in a way your recording does not account for. Common causes:<\/p>\r\n    <ul>\r\n      <li><strong>Scroll position drift:<\/strong> After entering 10 rows, the spreadsheet scrolls down and buttons move out of their original positions. Fix: add <span class=\"tt-article__kbd\">Ctrl+Home<\/span> at the end of each cycle to reset scroll position.<\/li>\r\n      <li><strong>Pagination:<\/strong> A web app shows 10 records per page. After 10 entries, a &#8220;Next Page&#8221; button appears or the form moves to page 2. Fix: break the macro into page-sized batches.<\/li>\r\n      <li><strong>Confirmation dialogs:<\/strong> Some apps show a &#8220;Are you sure?&#8221; dialog after every 10th save, or an &#8220;Auto-save complete&#8221; notification. Fix: record one extra cycle that handles the dialog, or increase the loop&#8217;s built-in pause to wait for the dialog to auto-close.<\/li>\r\n      <li><strong>Session timeout:<\/strong> Web applications sometimes refresh the session after a certain number of actions. Fix: add a page refresh (<span class=\"tt-article__kbd\">F5<\/span>) periodically, or run shorter batches.<\/li>\r\n    <\/ul>\r\n    <p>The fix is almost always: add a &#8220;reset&#8221; step at the end of your recording that forces the application back to a known state, regardless of how many cycles have run.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">Can I nest loops (loop within a loop) in TinyTask?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>TinyTask does not support nested loops directly. It has one recording and one loop counter. You cannot create an inner loop that runs 5 times within an outer loop that runs 10 times.<\/p>\r\n    <p>Workarounds for nested-loop behavior:<\/p>\r\n    <ul>\r\n      <li><strong>Record the inner loop manually:<\/strong> If your inner loop is 5 iterations, perform all 5 during recording. Your recording now contains one complete outer-loop cycle with 5 inner iterations baked in. Set TinyTask&#8217;s loop counter for the outer loop count.<\/li>\r\n      <li><strong>Chain compiled EXEs:<\/strong> Create one EXE for the inner task (set to loop 5 times), then record a second macro that launches the first EXE, waits for it to finish, then does the outer-loop setup. Loop the second macro.<\/li>\r\n      <li><strong>Use AutoHotkey:<\/strong> For genuine nested loops with variable iteration counts, AHK&#8217;s <code>Loop<\/code> command supports nesting: <code>Loop 10 { Loop 5 { ... } }<\/code><\/li>\r\n    <\/ul>\r\n    <p>For most practical purposes, recording the inner loop as part of the macro and looping the outer cycle is sufficient and much simpler than trying to simulate nested loops.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">Does looping use more memory or CPU?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>TinyTask itself uses almost no memory or CPU regardless of how many loops run. The entire program is 36KB, and its memory footprint stays constant whether it has looped 1 time or 10,000 times. It does not accumulate data between loops.<\/p>\r\n    <p>However, the target application may accumulate resource usage:<\/p>\r\n    <ul>\r\n      <li><strong>Browsers:<\/strong> Each page reload or form submission can increase memory usage. After hundreds of loops, Chrome or Firefox may use significantly more RAM.<\/li>\r\n      <li><strong>Spreadsheets:<\/strong> Adding rows to large Excel files increases memory usage linearly.<\/li>\r\n      <li><strong>CRM\/ERP systems:<\/strong> Some enterprise applications cache data locally, growing memory usage over many operations.<\/li>\r\n    <\/ul>\r\n    <p>If you notice the target application slowing down after many loops, stop the macro, close and reopen the application, then resume. This clears accumulated memory and restores normal performance.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">How do I make TinyTask loop faster?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>There are two ways to speed up loops: increase playback speed and optimize your recording.<\/p>\r\n    <p><strong>Increase playback speed:<\/strong><\/p>\r\n    <ul>\r\n      <li>Move the speed slider to the right (1.2x, 1.5x, 2x)<\/li>\r\n      <li>Test at each speed level with 3 loops before committing<\/li>\r\n      <li>Maximum safe speed depends on the target application&#8217;s response time<\/li>\r\n    <\/ul>\r\n    <p><strong>Optimize the recording:<\/strong><\/p>\r\n    <ul>\r\n      <li>Remove unnecessary mouse movements: move directly between click targets<\/li>\r\n      <li>Use keyboard shortcuts instead of menu navigation<\/li>\r\n      <li>Reduce wait times to the minimum the application needs<\/li>\r\n      <li>Avoid scrolling when keyboard navigation can reach the same element<\/li>\r\n    <\/ul>\r\n    <p>A well-optimized recording at 1.5x speed can be 3-4 times faster than a sloppy recording at 1.0x speed. The recording quality matters more than the playback speed.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">Can I pause a loop mid-cycle and resume later?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>TinyTask does not have a pause\/resume function. When you stop playback, the macro stops wherever it is in the cycle. Restarting playback begins from the start of the recording, not from where it stopped.<\/p>\r\n    <p>Workarounds:<\/p>\r\n    <ul>\r\n      <li><strong>Plan your stop points:<\/strong> Watch the macro and stop at the end of a complete cycle rather than mid-cycle. This way, restarting the loop picks up cleanly.<\/li>\r\n      <li><strong>Track your progress:<\/strong> If you are processing 200 records and need to stop at record 50, note that you completed 50 loops. When resuming, set the loop counter to 150 for the remaining records.<\/li>\r\n      <li><strong>Use the lock screen trick:<\/strong> Pressing <span class=\"tt-article__kbd\">Win+L<\/span> locks the PC and stops TinyTask from sending inputs, but does not close TinyTask. When you unlock, TinyTask may still be in the &#8220;playing&#8221; state. The macro effectively pauses, but the resume behavior is not reliable across all versions.<\/li>\r\n    <\/ul>\r\n    <p>For tasks that genuinely need pause\/resume, AutoHotkey scripts can implement this with a toggle hotkey that pauses and resumes mid-execution while maintaining state.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">Is there a way to loop different macros in sequence?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>TinyTask can only play one recording at a time and does not support chaining multiple recordings in sequence. However, you can achieve sequential execution with these approaches:<\/p>\r\n    <ul>\r\n      <li><strong>Record everything as one macro:<\/strong> Instead of separate recordings for Task A and Task B, record one continuous session that does Task A then Task B. Loop this combined recording.<\/li>\r\n      <li><strong>Chain compiled EXEs with a batch file:<\/strong> Compile each macro as an EXE, then create a Windows batch file (.bat) that runs them in sequence:\r\n        <br><code>start \/wait TaskA.exe<\/code>\r\n        <br><code>start \/wait TaskB.exe<\/code>\r\n        <br>The <code>\/wait<\/code> flag ensures each macro finishes before the next one starts.<\/li>\r\n      <li><strong>Use Task Scheduler:<\/strong> Schedule Macro A to run at 9:00 AM and Macro B to run at 9:30 AM (with enough gap for Macro A to finish).<\/li>\r\n    <\/ul>\r\n    <p>The batch file approach is the most flexible since it runs macros in strict sequence regardless of how long each takes.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<details class=\"tt-article__faq-item\">\r\n  <summary class=\"tt-article__faq-q\">My loop count resets every time I open TinyTask. How do I save it?<\/summary>\r\n  <div class=\"tt-article__faq-a\">\r\n    <p>TinyTask&#8217;s loop count setting may not persist between sessions depending on your version. The most reliable way to save loop settings permanently is to compile the macro to an EXE with the loop count set.<\/p>\r\n    <p>Steps:<\/p>\r\n    <ol>\r\n      <li>Open TinyTask and load your .rec file<\/li>\r\n      <li>Set the loop count to your desired number<\/li>\r\n      <li>Compile to EXE<\/li>\r\n      <li>The EXE now has the loop count baked in and will always use it<\/li>\r\n    <\/ol>\r\n    <p>If you need to change the loop count frequently, keep the .rec file and set the loop count manually each time you run it. Alternatively, create multiple compiled EXEs with different loop counts (e.g., &#8220;FormEntry-50loops.exe&#8221; and &#8220;FormEntry-200loops.exe&#8221;) for your most common batch sizes.<\/p>\r\n  <\/div>\r\n<\/details>\r\n\r\n<!-- CTA Box -->\r\n<div class=\"tt-article__cta-box\">\r\n  <h3>Ready to Put Your Macros on Loop?<\/h3>\r\n  <p>Download TinyTask and automate repetitive tasks with counted loops, continuous playback, or compiled EXEs. Free, portable, 36KB.<\/p>\r\n  <a href=\"\/#download\" class=\"tt-article__cta-btn\"><i class=\"fa-solid fa-download\"><\/i> Download TinyTask<\/a>\r\n<\/div>\r\n\r\n<\/div>\r\n<\/article>\r\n\r\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@type\": \"FAQPage\",\r\n  \"mainEntity\": [\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"What is the maximum number of loops TinyTask supports?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"TinyTask's loop counter supports values from 1 to 9999. For more, use continuous playback which loops indefinitely. In practice, run batches of 100-200 with verification between batches for stability.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Can I add a delay between loops?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"TinyTask has no dedicated delay setting, but you can build delays into your recording by waiting at the end before stopping. A recorded 5-second pause replays at the end of every loop, creating a gap between cycles.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"How do I loop a TinyTask macro overnight?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Disable Windows sleep, screen timeout, and screen saver. Enable Focus Assist, plug in your laptop, close unnecessary apps, and disable automatic Windows Update restarts. Use continuous playback or a high loop count.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Why does my loop work 10 times then break?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Usually caused by scroll position drift, pagination changes, confirmation dialogs, or session timeouts. Add a reset step at the end of your recording that forces the application back to a known state.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Can I nest loops in TinyTask?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Not directly. Record the inner loop iterations as part of the macro, then use TinyTask's loop counter for the outer loop. For true nested loops, use AutoHotkey's Loop command.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Does looping use more memory or CPU?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"TinyTask itself uses almost no resources regardless of loop count. However, the target application may accumulate memory usage over many operations. Restart the target app periodically for long sessions.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"How do I make TinyTask loop faster?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Increase the speed slider (1.2x-2x) and optimize your recording by removing unnecessary mouse movements, using keyboard shortcuts, and reducing wait times. A well-optimized recording at 1.5x can be 3-4x faster.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Can I pause a loop mid-cycle and resume later?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"TinyTask does not have pause\/resume. Stop at the end of a complete cycle, note how many loops completed, then set the remaining count when restarting.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"Is there a way to loop different macros in sequence?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Compile each macro as an EXE, then chain them in a batch file using 'start \/wait TaskA.exe' followed by 'start \/wait TaskB.exe'. This runs macros in strict sequence.\"\r\n      }\r\n    },\r\n    {\r\n      \"@type\": \"Question\",\r\n      \"name\": \"My loop count resets every time I open TinyTask. How do I save it?\",\r\n      \"acceptedAnswer\": {\r\n        \"@type\": \"Answer\",\r\n        \"text\": \"Compile the macro to an EXE with the loop count set. The EXE saves the loop count permanently. Create multiple EXEs with different loop counts for common batch sizes.\"\r\n      }\r\n    }\r\n  ]\r\n}\r\n<\/script>\r\n","protected":false},"excerpt":{"rendered":"<p>TinyTask Loop Tutorial: How to Repeat Macros on Loop March 2026 15 min read Windows XP &#8211; 11 TinyTask Guides Recording a macro is only half the job. The real power of TinyTask comes from looping: replaying that recording 10, 100, or 1,000 times while you do something else. Whether you need to fill forms, &#8230; <a title=\"TinyTask Loop Tutorial: How to Repeat Macros on Loop\" class=\"read-more\" href=\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\" aria-label=\"Read more about TinyTask Loop Tutorial: How to Repeat Macros on Loop\">Read more<\/a><\/p>\n","protected":false},"author":0,"featured_media":2471,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","footnotes":""},"categories":[88],"tags":[],"class_list":["post-2452","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tinytask-guides"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>TinyTask Loop Tutorial: How to Repeat Macros on Loop<\/title>\n<meta name=\"description\" content=\"Learn how to loop TinyTask macros. Counted loops, continuous playback, compiled EXE loops, scheduled runs, and fixes for common loop problems.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"TinyTask Loop Tutorial: How to Repeat Macros on Loop\" \/>\n<meta property=\"og:description\" content=\"Learn how to loop TinyTask macros. Counted loops, continuous playback, compiled EXE loops, scheduled runs, and fixes for common loop problems.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\" \/>\n<meta property=\"og:site_name\" content=\"TinyTask\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tinytaskmacro\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-07T05:03:19+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-07T08:43:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thetinytask.com\/wp-content\/uploads\/2025\/08\/Tinytask.png\" \/>\n\t<meta property=\"og:image:width\" content=\"265\" \/>\n\t<meta property=\"og:image:height\" content=\"81\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tinytaskmacro\" \/>\n<meta name=\"twitter:site\" content=\"@tinytaskmacro\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"21 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"TinyTask Loop Tutorial: How to Repeat Macros on Loop\",\"datePublished\":\"2026-03-07T05:03:19+00:00\",\"dateModified\":\"2026-03-07T08:43:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\"},\"wordCount\":4202,\"publisher\":{\"@id\":\"https:\/\/thetinytask.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png\",\"articleSection\":[\"TinyTask Guides\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\",\"url\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\",\"name\":\"TinyTask Loop Tutorial: How to Repeat Macros on Loop\",\"isPartOf\":{\"@id\":\"https:\/\/thetinytask.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png\",\"datePublished\":\"2026-03-07T05:03:19+00:00\",\"dateModified\":\"2026-03-07T08:43:01+00:00\",\"description\":\"Learn how to loop TinyTask macros. Counted loops, continuous playback, compiled EXE loops, scheduled runs, and fixes for common loop problems.\",\"breadcrumb\":{\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage\",\"url\":\"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png\",\"contentUrl\":\"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png\",\"width\":1200,\"height\":630,\"caption\":\"TinyTask Loop Tutorial: How to Repeat Macros on Loop\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/thetinytask.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TinyTask Loop Tutorial: How to Repeat Macros on Loop\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thetinytask.com\/#website\",\"url\":\"https:\/\/thetinytask.com\/\",\"name\":\"TinyTask\",\"description\":\"Macro Recorder App\",\"publisher\":{\"@id\":\"https:\/\/thetinytask.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thetinytask.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/thetinytask.com\/#organization\",\"name\":\"Vista Software\",\"url\":\"https:\/\/thetinytask.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thetinytask.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/thetinytask.com\/wp-content\/uploads\/2020\/11\/221467_normal.png\",\"contentUrl\":\"https:\/\/thetinytask.com\/wp-content\/uploads\/2020\/11\/221467_normal.png\",\"width\":750,\"height\":750,\"caption\":\"Vista Software\"},\"image\":{\"@id\":\"https:\/\/thetinytask.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/tinytaskmacro\",\"https:\/\/x.com\/tinytaskmacro\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"TinyTask Loop Tutorial: How to Repeat Macros on Loop","description":"Learn how to loop TinyTask macros. Counted loops, continuous playback, compiled EXE loops, scheduled runs, and fixes for common loop problems.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/","og_locale":"en_US","og_type":"article","og_title":"TinyTask Loop Tutorial: How to Repeat Macros on Loop","og_description":"Learn how to loop TinyTask macros. Counted loops, continuous playback, compiled EXE loops, scheduled runs, and fixes for common loop problems.","og_url":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/","og_site_name":"TinyTask","article_publisher":"https:\/\/www.facebook.com\/tinytaskmacro","article_published_time":"2026-03-07T05:03:19+00:00","article_modified_time":"2026-03-07T08:43:01+00:00","og_image":[{"width":265,"height":81,"url":"https:\/\/thetinytask.com\/wp-content\/uploads\/2025\/08\/Tinytask.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@tinytaskmacro","twitter_site":"@tinytaskmacro","twitter_misc":{"Est. reading time":"21 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#article","isPartOf":{"@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/"},"author":{"name":"","@id":""},"headline":"TinyTask Loop Tutorial: How to Repeat Macros on Loop","datePublished":"2026-03-07T05:03:19+00:00","dateModified":"2026-03-07T08:43:01+00:00","mainEntityOfPage":{"@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/"},"wordCount":4202,"publisher":{"@id":"https:\/\/thetinytask.com\/#organization"},"image":{"@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png","articleSection":["TinyTask Guides"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/","url":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/","name":"TinyTask Loop Tutorial: How to Repeat Macros on Loop","isPartOf":{"@id":"https:\/\/thetinytask.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage"},"image":{"@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage"},"thumbnailUrl":"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png","datePublished":"2026-03-07T05:03:19+00:00","dateModified":"2026-03-07T08:43:01+00:00","description":"Learn how to loop TinyTask macros. Counted loops, continuous playback, compiled EXE loops, scheduled runs, and fixes for common loop problems.","breadcrumb":{"@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thetinytask.com\/tinytask-loop-tutorial\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#primaryimage","url":"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png","contentUrl":"https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png","width":1200,"height":630,"caption":"TinyTask Loop Tutorial: How to Repeat Macros on Loop"},{"@type":"BreadcrumbList","@id":"https:\/\/thetinytask.com\/tinytask-loop-tutorial\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thetinytask.com\/"},{"@type":"ListItem","position":2,"name":"TinyTask Loop Tutorial: How to Repeat Macros on Loop"}]},{"@type":"WebSite","@id":"https:\/\/thetinytask.com\/#website","url":"https:\/\/thetinytask.com\/","name":"TinyTask","description":"Macro Recorder App","publisher":{"@id":"https:\/\/thetinytask.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thetinytask.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/thetinytask.com\/#organization","name":"Vista Software","url":"https:\/\/thetinytask.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thetinytask.com\/#\/schema\/logo\/image\/","url":"https:\/\/thetinytask.com\/wp-content\/uploads\/2020\/11\/221467_normal.png","contentUrl":"https:\/\/thetinytask.com\/wp-content\/uploads\/2020\/11\/221467_normal.png","width":750,"height":750,"caption":"Vista Software"},"image":{"@id":"https:\/\/thetinytask.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tinytaskmacro","https:\/\/x.com\/tinytaskmacro"]}]}},"uagb_featured_image_src":{"full":["https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png",1200,630,false],"thumbnail":["https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial-150x150.png",150,150,true],"medium":["https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial-300x158.png",300,158,true],"medium_large":["https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial-768x403.png",768,403,true],"large":["https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial-1024x538.png",1024,538,true],"1536x1536":["https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png",1200,630,false],"2048x2048":["https:\/\/thetinytask.com\/wp-content\/uploads\/2026\/03\/featured-tinytask-loop-tutorial.png",1200,630,false]},"uagb_author_info":{"display_name":"","author_link":"https:\/\/thetinytask.com\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"TinyTask Loop Tutorial: How to Repeat Macros on Loop March 2026 15 min read Windows XP &#8211; 11 TinyTask Guides Recording a macro is only half the job. The real power of TinyTask comes from looping: replaying that recording 10, 100, or 1,000 times while you do something else. Whether you need to fill forms,&hellip;","_links":{"self":[{"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/posts\/2452","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/comments?post=2452"}],"version-history":[{"count":0,"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/posts\/2452\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/media\/2471"}],"wp:attachment":[{"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/media?parent=2452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/categories?post=2452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thetinytask.com\/wp-json\/wp\/v2\/tags?post=2452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}