Everything Chasqr can do, step by step — building a site visually without code, deploying a project you already have, and running it once it's live.
Chasqr hosts websites and gives you a visual builder to make them. There are three ways in, and nothing stops you using all of them — one site built by hand, another imported from a repo.
Connect a repository and deploy the built output committed in it — then let every push update the live site automatically.
Already have HTML/CSS/JS, or a built React, Vue, Angular or Svelte app? Drop in a ZIP or a folder and it's online in seconds.
Start with a blank page and drop in headings, images, buttons, forms, a navbar and a footer. No code at any point.
https://your-name.chasqr.com with HTTPS already in place. Connecting your own domain is free and takes about five minutes.This is the “Build from scratch” path. It takes about a minute to get a blank page created and the builder open.
This becomes your free subdomain. Type my-portfolio and your site lives at https://my-portfolio.chasqr.com.
The builder takes over the whole screen: a toolbar across the top, the element palette down the left, and your page in the middle.
Back
Leaves the builder and returns to the site's Layout tab. Save first.
Desktop / Mobile
Switches the canvas between full width and a phone-sized frame so you can check both.
Background
Page-wide settings: background colour or gradient, page font, scroll animations, and page padding.
Navbar
Turns the top navigation on and edits its brand, links, dropdowns and style.
Footer
Turns the footer on and edits its text, links and colours.
Preview site
Opens your published site in a new tab — what visitors currently see.
Save & Deploy
Publishes the page. Greyed out until you have unsaved changes.
Elements
Heading, Text, Image, Button, Form, Embed, Carousel, Tags / pills, Tabs, Navbar, Search bar, Marquee
Dropped into the column you currently have selected.
Utilities (card parts)
Rating (stars), Price, Tags / pills, Button
Small pieces for composing your own cards.
Form templates
Split Form, Agency Form, Survey Step Form
Ready-made contact forms, already wired to your Submissions tab.
Banners & sections
Navbar, Navbar + search, Text over image, Image banner, Carousel slider, Image + text, Footer (4 columns), Footer (simple)
Each one adds a whole new section to the page.
Card templates
Showcase card, Image overlay cards, Hover reveal cards, Multi-image carousel, Product-card carousel, Image-top cards, Profile cards, Text cards, Pricing (3 tiers), Testimonials, Call to action
Complete, styled sections you can edit block by block.
Effects
Glassmorphism, Gradient, Soft shadow, Rounded, Hero height, Glass navbar
Applied to the selected (or most recent) section.
Three levels of structure: sections stack down the page, columns split a section left-to-right, and blocks (text, images, buttons) sit inside columns. Styling any of the three works the same way — select it, then use its panel.
Select a section to set its background colour, gradient or image with an overlay; rounded corners; padding and margins; full-width or a percentage width; a minimum height (useful for hero banners); its own font; an entrance animation; and vertical alignment of its content.
Use the arrows in the section header to move a whole section up or down the page.
Split a section into columns and drag the divider to change the balance — 50/50, 30/70, three across, whatever the layout needs.
Give a column its own background, padding, rounded corners, shadow, border, background image with overlay and a minimum height, and it reads as a card. Add a hover effect — lift, zoom or reveal — for interactive tiles.
Both are toggled from the top toolbar and are page-wide, not part of any section. The navbar takes a brand name or logo image plus links, each of which can have its own dropdown sub-links, and supports a glass style. The footer takes text, links and its own colours.
Drop in a Form element — or one of the three form templates — and it's already connected. Field types include text, email, phone, long text, dropdown, pill choices, checkbox, file and number; each field has a label, a name, an optional placeholder, a required toggle and a half- or full-width setting.
Submissions appear in the site's Submissions tab and are emailed to you. No extra setup.
Connect a repository once and Chasqr deploys the built output committed in it — then redeploys automatically every time you push. Private repositories work exactly the same as public ones.
npm run build step on our side. Your repository must contain the finished output — a committed dist/, build/ or out/ folder, or plain HTML at the root. If your repo only holds source, build it locally and commit the output folder before importing.GitHub asks you to install the Chasqr app. You pick either All repositories or Only select repositories — we'd suggest selecting just the ones you plan to deploy. You can change the list any time from GitHub.
Chasqr only ever asks for read access to repository contents. It cannot push, open pull requests, or change anything in your code.
main.Chasqr scans the branch for index.html and offers the folders it finds, preselecting the most likely one (dist, build and out rank first). Pick Repository root if your HTML sits at the top level.
If nothing is found you'll get a text box and a warning — that almost always means the built output isn't committed yet.
Site name and custom URL work exactly as everywhere else. Two checkboxes matter here:
Any push to the branch you connected. Pushes to other branches, and tags, are ignored. Your site normally updates within a minute.
Open your site → Settings → GitHub. It shows the connected repo, branch and folder, the auto-deploy toggle, and the result of the last deploy with its commit and timestamp — so a push that didn't take is visible rather than silent.
An automatic deploy never spends money. If a free site's build grows past the 5 MB limit, the deploy is recorded as skipped with an explanation and your live site is left exactly as it was — no credit is consumed and nothing breaks. Upgrade the site to PRO and the next push goes through.
Same principle: if the commit you pushed has no index.html in the configured folder, the failure is recorded and the previously deployed version keeps serving. A broken commit can't take your site down.
Redeploy latest commit in the GitHub tab pulls the current branch immediately — handy if you turned auto-deploy off, or a webhook was missed.
Disconnect unlinks the repository; your site stays online exactly as last deployed and simply stops updating. To revoke Chasqr's access entirely, remove the app from GitHub → Settings → Applications.
index.html. Either remove that line from .gitignore and commit the folder, or add a GitHub Action that builds and commits it on every push.Chasqr serves static files. You upload the finished output of your project — not the source folder, and not node_modules. If your project lives on GitHub, importing it is usually less work than uploading.
build/, dist/ or out/). Skip this if you wrote plain HTML/CSS/JS. Exact commands are in .Two options, both fine:
index.html at the top level of the archiveBelow the uploader is “This is an interactive app — keep it live”. It matters for React/Vue/Angular builds:
index.html is an empty app shell, we render it once and store the result as real HTML. Search engines see your content and you can edit text and images from the Editor tab. Interactive behaviour driven by JavaScript may not survive.https://your-slug.chasqr.com.index.html, so deep links like /about in a React Router or Vue Router app resolve correctly./assets/app.js work as-is — no homepage or base setting to change.Anything that compiles down to static files. Build locally, upload the output.
Plain HTML / CSS / JS
Any static website — no build step needed.
Zip your files with index.html at the root
React (Create React App)
Classic CRA projects.
npm run build → zip the contents of build/
React / Vue / Svelte (Vite)
Vite-powered projects of any flavour.
npm run build → zip the contents of dist/
Angular
Angular CLI projects.
ng build → zip the contents of dist/<project>/ (or dist/<project>/browser on v17+)
Next.js (static export only)
Requires output: 'export' — SSR and API routes are not supported.
next build → zip the contents of out/
Astro, Hugo, Jekyll, Eleventy…
Any static site generator works the same way.
Run its build → zip the contents of the output folder
Mandatory, and it must sit at the top level of your ZIP — not inside a wrapper folder. If your build tool produces a folder, open it, select the contents, and zip those.
Otherwise the upload is rejected with “No index.html found”.
Uploads up to 5 MB are free. Anything larger needs a one-time payment, which upgrades that site to PRO — after that it can be redeployed at any size, forever.
HTML, CSS, JavaScript, images, fonts and other static assets are all stored and served with the right content type, keeping your folder structure intact.
Every .html file becomes a page you can edit, run SEO checks against and track separately — they show up as tabs in the Editor and SEO tabs.
Click Edit on any site card to open its dashboard. The card itself also has quick actions: open the live site, pause it, or delete it.
The header shows the site's plan, whether it's live, and its visit count, with buttons to preview the site or upgrade it to PRO. Everything else lives in the left navigation:
Settings
Site URL
Change the free chasqr.com subdomain your site lives on.
Custom Domain
Connect a domain you own. Free on every site.
Update Files
Replace your site's files with a new build, keeping the same URL.
GitHub
For imported sites: the connected repo, auto-deploy, and deploy history.
Content
Editor
Edit the text, images and links on your live pages.
Layout
Open the full-screen visual builder for this page.
Colors
Recolour the site — every colour found in its styles.
SEO
Audit, auto-fix, favicon, and per-page meta tags.
Analytics
Visits over the last 30 days.
Submissions
Contact-form messages, and form connection settings.
Help
Expert Help
Chat with a verified expert about this specific site.
The Editor tab pulls every piece of text, every image and every link out of your page and lists them as editable fields — no HTML required.
Type directly into a text field. For images, paste a URL or upload a file from your device, and set alt text describing the image (good for accessibility and SEO). Links take both the visible label and the destination URL.
Shipped a new build? Update Files replaces the site's contents in place. (Sites imported from GitHub update themselves on every push — see the GitHub tab instead.)
index.html at the root.The Colors tab scans a page's stylesheets and lists every colour it uses, with how many times each one appears.
Every site gets a free subdomain on chasqr.com, with HTTPS included. You can change it whenever you like.
Point a domain you own — example.com, or a subdomain like blog.example.com — at your Chasqr site. It's free on every site, and HTTPS is issued automatically. Budget five minutes of work plus some waiting for DNS.
Open your site → Settings → Custom Domain. Type the exact hostname you want visitors to use — example.com or blog.example.com — without https:// and without a trailing slash. Press the green tick to save.
Do this before touching DNS: a certificate is only ever issued for a domain that's already registered here.
As soon as the domain is saved, the tab displays the exact A record to create. It looks like this:
Find the DNS management screen for your domain and add a new record:
example.com) — Type A, Name @, Value 137.184.18.70, TTL 3600blog.example.com) — Type A, Name blog (just the label, not the full domain), same value and TTLDelete or edit any existing A or CNAME record with the same name — a leftover parking-page record will keep winning.
Where to look: GoDaddy → My Products → DNS; Namecheap → Domain List → Manage → Advanced DNS; Cloudflare → DNS → Records; Hostinger → Domains → DNS / Nameservers.
Usually a few minutes to a couple of hours, occasionally up to 48. Check progress from a terminal:
nslookup example.com
# It's ready when the answer is 137.184.18.70Visit https://example.com. The certificate is issued on that first request, so the very first load can take a few extra seconds — after that it's instant, and renewals are automatic. There's nothing to upload and no certificate to manage.
A site serves one custom hostname, and a hostname can't be connected to two sites — saving one that's already in use is rejected.
example.com and www.example.com are treated separately. Connect whichever you want visitors to use, then redirect the other at your DNS provider or registrar (most offer a free forwarding / redirect rule).
Set the record to DNS only (grey cloud) rather than proxied. Proxying puts Cloudflare's own certificate in front of ours and is the usual cause of redirect loops and SSL errors.
The Remove button disconnects it instantly. Your site stays online at its chasqr.com subdomain, and the domain is free to reconnect elsewhere.
nslookup returns 137.184.18.70 → no conflicting A/CNAME record remains. More cases in .The SEO tab has three parts: an audit that scores each page, a one-click fixer for the mechanical problems, and manual controls for your titles, descriptions, social previews and favicon.
Pick a page and press Run SEO Check. We fetch the live page and run 20+ checks — title, meta description, canonical URL, indexing rules, H1 and heading structure, language attribute, mobile viewport, image alt text, content depth, internal and external links, Open Graph tags, HTTPS and response time — then score it out of 100.
Each result is written in plain English: what's wrong, and why it matters.
Fix Issues Automatically handles the mechanical basics — page title, meta description, canonical link, viewport, language attribute, social tags and missing image alt text — then redeploys and re-scores the page, and lists exactly what it changed.
It can't write your content for you: depth, linking and page speed stay in your hands.
Below the audit you can set, per page:
Live Google and social previews sit beside the form, so you can see truncation before you publish. Saving redeploys.
Also in this tab: upload a favicon or paste an image URL. It applies to every page. A square PNG or ICO of at least 32×32 works best.
Visit tracking is built in — nothing to install, no third-party script, no cookie banner.
Total Visits
Every page request your site has served since it was created.
Last 30 Days
Visits in the last month — the number to watch after a launch or a campaign.
Daily Average
Your typical day, useful as a baseline to compare spikes against.
30-day chart
A bar per day, with today highlighted. Hover any bar for its exact count.
Chasqr captures form submissions for you — every field lands in the site's Submissions tab and is emailed to you the moment it arrives. No third-party form service, no monthly fee. Pick whichever route matches how your site was made.
Any Form element or form template you drop in is already wired up. Publish and start receiving messages.
We scan your pages and list the forms we find. Open Submissions, find yours, and press Connect — likely contact forms are flagged for you. Leave search bars, logins and newsletter widgets disconnected.
Point the form at your site's submit endpoint. The Submissions tab shows the exact URL with a copy button; your site ID is also the code in the dashboard URL (/sites/<id>).
https://api.chasqr.com/api/forms/<your-site-id>/submitOption 1 — plain HTML, no JavaScript
Set the form's action and method. The optional hidden _redirect field sends visitors to a thank-you page after submitting.
<form action="https://api.chasqr.com/api/forms/<your-site-id>/submit" method="POST">
<input type="hidden" name="_redirect" value="https://yoursite.chasqr.com/thank-you">
<input type="text" name="name" placeholder="Your name">
<input type="email" name="email" placeholder="you@example.com">
<textarea name="message" placeholder="Your message"></textarea>
<button type="submit">Send</button>
</form>_redirect must be an https:// address on your own site — your chasqr.com subdomain or your connected custom domain. Anything else is ignored, which keeps the endpoint from being used to bounce people elsewhere.
Option 2 — stay on the page
Add data-chasqr-form to your <form> tag, then paste this just before </body>:
<script>
document.querySelectorAll('[data-chasqr-form]').forEach(function (f) {
f.addEventListener('submit', function (e) {
e.preventDefault();
var data = Object.fromEntries(new FormData(f));
fetch("https://api.chasqr.com/api/forms/<your-site-id>/submit", {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
}).then(function () {
f.reset();
alert('Thanks — your message was sent!');
});
});
});
</script>name attribute — fields without one are invisible to the browser and never reach us. One-click Connect handles this for you._redirect.The Submissions tab holds the 500 most recent, newest first. Each shows the sender's name and email pulled out of the fields, every other field below it, the time it arrived, and a delete button.
Every submission is emailed to your Chasqr account address the moment it arrives. Nothing to switch on, and no forwarding address to configure.
Everything about your login lives on the Profile page — open it from your avatar in the top-right corner.
The name shown in Chasqr and used when an expert is helping you. Changing it doesn't affect your sites.
Set a new one by entering your current password alongside it. Forgotten it? Use Forgot password on the sign-in page and we'll email you a reset link.
New accounts get a 6-digit code by email to confirm the address before the first sign-in. Codes last 10 minutes, and you can request a new one after 60 seconds. Signing up with Google or GitHub skips this — those providers have already verified your address.
Adds a second step at sign-in, so a leaked password isn't enough on its own to reach your account and your live sites.
After your password is accepted we email a fresh code and hold the sign-in until you enter it. Codes expire after 10 minutes; you can resend after 60 seconds.
This applies to every way into your account — password, Google and GitHub all hit the same check, so turning it on can't be sidestepped by using a social login.
Chasqr is free to use. PRO is a one-time payment per site — no subscription, no renewals.
Razorpay and Cashfree are both supported — pick either at checkout. If one is unavailable we fall back to the other and tell you.
Prices here are shown in US dollars for reference. Checkout is processed in Indian rupees — ₹199 for a large upload, and ₹99–₹999 for a site upgrade.
The Transactions page lists every payment with its ID and amount, and shows any unused credits — a credit bought for a large upload you didn't finish stays on your account for next time.
Would rather someone else made the change? Every site has an Expert Help tab that connects you to a verified expert about that specific site.
The problems that come up most often, and what fixes them.
"No index.html found in zip"
Your ZIP has the project inside a folder. Open the build output folder, select everything inside it, and zip that — index.html must sit at the very top level of the archive.
Site is live but the styling and images are missing
You most likely uploaded your source folder instead of the build output. Run your framework's build command and upload the generated build/ or dist/ folder. If you wrote plain HTML, check that your CSS and image paths match the file names in the ZIP (they are case-sensitive).
Editor says "No editable content found"
That site is served as a live JavaScript app (React, Vue, Angular built output, or you ticked the interactive option on upload). Its pages are built in the browser, so there is no HTML text for the panel to edit. Change the content in your code and redeploy from Update Files. Hosting, custom domains, SEO and analytics all still work.
Custom domain shows my registrar's parking page
An old A or CNAME record is still in place, or DNS has not refreshed yet. Delete any other record with the same name, keep only the A record pointing at Chasqr, and give it up to a few hours.
"404 — Site not found" on my custom domain
The domain reaches us, but no live site claims it. Check the spelling in the Custom Domain tab (including www), make sure it is saved on the right site, and make sure the site is not paused on your dashboard.
Browser warns the certificate is invalid
HTTPS is issued the first time your domain reaches us, so it only works once DNS has propagated and the domain is saved in Chasqr. Confirm both, then reload after a minute.
Upload is blocked by a payment prompt
The upload is over the 5 MB free limit. Either trim the build (large images and unused assets are the usual culprits) or make the one-time payment, which upgrades that site to PRO and removes the size limit for good.
Form submissions are not arriving
Open the Submissions tab and check the form shows as Connected. Every field also needs a name attribute, and the site must be live — a paused site rejects submissions.
My repository isn't in the import list
Chasqr only sees the repositories you granted it. Use "Adjust which ones Chasqr can access" at the bottom of the list to add more on GitHub, then hit refresh. Note that a repository owned by an organisation may need an owner to approve the installation.
The import says there's no index.html
Your built output isn't committed — most frameworks gitignore dist/ and build/ by default. Build locally, commit that folder, and import again. If the error lists folders it did find, pick one of those instead.
I pushed but the site didn't update
Check the GitHub tab on your site — it records the outcome of every attempt. Confirm auto-deploy is on and that you pushed to the connected branch; pushes to other branches are ignored by design. If the last deploy shows as skipped or failed, the message there says why, and your previous version is still serving.
Chasqr serves static files today, so anything needing code to run on the server at request time isn't supported yet. These are what we're working on:
If none of the above covers it, or you'd rather have someone make the change for you, open your site and use the Expert Help tab — verified experts are ready to assist, and it's free to ask.
Go to Dashboard