AI Website Guides · 2026-10-14 · 5 min read
Cursor Website Templates: How to Build an Animated Website in Cursor
Cursor builds animated websites most reliably when it edits a working template instead of inventing the motion from a prompt. This guide shows the exact steps.
Written by AmJ, founder of Scrollhaus, and edited by the Scrollhaus editorial team. Sources and methodology are documented in the article.

Short answer: the most reliable way to build an animated website in Cursor is to open a working template in the editor and ask Cursor to change the content, not to generate the animation from a description. Cursor is strong at editing code it can read. Scroll timing, easing and frame pacing are exactly the details a text prompt cannot carry.
What you need
- Cursor, the AI code editor, with Agent mode available.
- A template with source code. This guide uses a Scrollhaus template: one
index.htmlfile with the styles and script inside it, and media loaded from a hosted address. Free templates such as Vesper Atlas, Orven and Axiom R9 work for a first run. - A way to preview a local file, for example the Live Server extension or
npx servein the terminal.
Step by step: an animated template in Cursor
- Pick the motion first. Open the website collection, scroll the live previews and choose the one whose movement fits your brand. Changing colours later is easy; changing the motion idea is not.
- Create a folder and save the source. Copy the template source, create
index.htmlin an empty folder, paste, and open the folder in Cursor. - Run it before you change anything. Start a local server and scroll the page from top to bottom. You now know what "working" looks like.
- Add a project rule. Create
.cursor/rules/animation.mdcwith the rule below, so every request respects the animation code. - Change one thing at a time. Ask for copy first, then colours and fonts, then images and video. Reload and scroll after each change.
- Commit after every working step. If a change breaks the scroll, you can go back in one command.
A project rule that protects the scroll engine
---
description: Rules for editing this animated website
alwaysApply: true
---
- This is a single-file website. Keep it as one index.html unless I ask otherwise.
- Do not rewrite, reorder, minify or split the main script. Change values, not structure.
- Do not rename ids or classes that the script selects.
- Keep the scroll runway height and the frame count unless I ask to change the pacing.
- Text changes go in the HTML. Colour and font changes go in the :root variables.
- After each change, tell me exactly which lines you edited.
Prompts that work well
Replace the brand name and all copy with the content in content.md.
Keep every element, id and class exactly as it is.
Change the palette to deep green and cream by editing only the
colour variables on :root. Do not touch the script.
The hero uses an image sequence in assets/seq. I have a new set of
240 frames in assets/seq-new with the same naming. Point the loader
at the new folder and change nothing else.
Single HTML file or a React project?
Keep the single HTML file when the site is a landing page, a launch page or a portfolio. It deploys to any static host and has nothing to build. Move to React or Next.js when the page must live inside an existing app. In that case ask Cursor to wrap the page in one client component and to run the original script once after mount. Splitting the engine across many components is the most common way an animated template stops working.
Common problems and fixes
- The hero is blank. The frames are not loading. Check the media address in the script and the network tab for failed requests.
- The page no longer scrolls. Something removed the tall runway element or added
overflow: hiddento the body. Ask Cursor to compare with the last commit. - The motion feels jumpy. The runway was shortened. Restore its height, or see the scroll performance guide.
- It looks wrong on a phone. Test at 390 pixels wide and ask for fixes to that breakpoint only.
How this compares with other AI tools
The same template works in other tools with small differences. Claude Code follows the same rule-file approach from the terminal. Lovable and Bolt run in the browser and need the instruction not to split the file even more firmly. Cursor's advantage is that you see every edited line and can undo it.
Summary
Choose the motion from a live preview, paste the source into Cursor, protect the animation script with a project rule, and change content in small tested steps. That turns a risky generation task into an editing task, which is what Cursor does best.
Frequently asked questions
Can Cursor build an animated website?
Yes. Cursor can write GSAP, Three.js and canvas animation, but results are much more consistent when it starts from a working animated template with source code and edits the content, rather than generating scroll timing from a text prompt.
Where can I find website templates for Cursor?
Any template that ships as plain source code works in Cursor. Scrollhaus offers animated, scroll-driven website templates as a single HTML file with its assets, including free ones, and each has a live preview to check before you copy it.
Should I convert the template to React in Cursor?
Only if your project needs it. A single HTML file runs anywhere and is the safest starting point. If you do convert, keep the scroll engine in one client-side component and test the scroll before and after.
How do I stop Cursor from breaking the animation?
Add a project rule that tells Cursor not to rewrite or split the animation script, ask for one small change at a time, and reload the page to test the scroll after every change.
Explore animated website templates at Scrollhaus →
Need help with a template, account, or project? Email admin@scrollhaus.ai.