Three ways in: an address, a file, a sample
Loading a page: URL, upload, samples, scripts
You can load a website into Recolor (recolor.page) by its web address, from an .html or .htm file up to 5 MB that you upload or drop on the preview, or from one of its 3 sample pages. The Scripts switch decides whether the page's own JavaScript runs; every failure shows a card that says what went wrong and offers a retry.
Last updated
src/react-app/site.ts), checked October 8, 2026| When | The card says | What to do |
|---|---|---|
| Not an address | "That is not a web address" | Type a full address; Recolor adds https:// when none is given |
| A local or private address | "That address is not allowed" | Upload the page as a file instead, with its asset base URL |
| No such site | "The site could not be reached" | Check the spelling of the address |
| The site refused | "example.com refused: it answered 403" | Some sites refuse anything but a browser; save the page and upload it |
| No such page | "example.com refused: it answered 404" | Check the path, or load the site's home page |
| The site's server failed | "example.com refused: it answered 503" | Try again later |
| Not a web page | "That is not an HTML page" | Load the page that shows the file, not the file |
| Over the size limit | "The page is too large" | Save the page without its inline images, or try another page under 5 MB |
| Too slow | "The site took too long" | Retry, or Retry with scripts off |
| Too many loads | "Too many pages in a short time" | Wait a minute |
| A script left the preview | "The page left the preview" | Retry with scripts off |
| Recolor cannot be reached | "The Recolor server could not be reached" | Check your own connection |
From a web address
Type the address in the field at the top and press Enter or Load. An address without https:// gets it, so
stripe.com/pricing works. Recolor's Worker fetches the page, follows up to 5 redirects and
shows the page in the preview; the field then shows the address the page ended up at. The address also goes
into the app's own URL as ?site=, so reloading the tab or sharing the link loads the same page again, as
the URL format explains.
Links inside a page loaded this way keep working: clicking one loads its target through Recolor in the same
way. Forms are cancelled, since nothing should be sent to a site on your behalf. Addresses on your own machine or
network, such as localhost:3000, are refused; the next section is the way around that.
From an HTML file
Upload opens a panel: Choose file picks an .html or .htm file, and Load shows it. You can also drop a
file anywhere on the preview, which loads it at once. Files may be 5 MB; the app checks the size
before it sends anything, and reads the file in the character set it declares.
A saved page usually points at its images, stylesheets and fonts with relative addresses. The Asset base URL
field says where those live, for example https://staging.example.com/, and the preview then loads them from
there. This is how a page on localhost or behind a login gets into Recolor: save it, upload it, and give it
the address its files can be fetched from. Testing a palette on your own site
walks through it. Uploaded files are sent to the Worker to be prepared and are never stored or cached.
From a sample
The Samples menu has 3 pages made for Recolor: "Landing page", "Dashboard" and "Blog article". The app opens on the first one, so it is alive before anything is loaded. They are quick ways to judge a palette on a typical layout, and the palette pages open on them too.
Scripts on or off
The Scripts switch is on by default: the page's own JavaScript runs inside the sandbox, so menus, carousels and
pages that build themselves in the browser look as they should. Turned off, the Worker removes the page's scripts
and event handlers and unwraps its <noscript> blocks, so you see the HTML and CSS the server sent.
Switch scripts off when a page keeps loading, when the card says a script left the preview, or when a page shows less than it should. Some sites draw their content with scripts that cannot start in the sandbox; others look right only with scripts off. Which sites load lists what happened on real sites both ways.
When loading fails
The table above shows each card's title. Under it the card names the address and an error code, and offers Back to the page shown before, Retry, and for a timeout or a page that left the preview, Retry with scripts off. A page that is still loading has Cancel. Size and time limits are on Limits; why a site might refuse Recolor is on The Recolor fetcher.
Common questions
Can I load a page that runs on localhost?
No, not by its address: the Worker refuses local and private addresses. Save the page as HTML and upload it, with the asset base URL set to where its files can be fetched.
Can I load a page that is behind a login?
No. The Worker sends no cookies, so it sees what a logged-out visitor sees. Save the page from your browser and upload the file instead.
Does Recolor follow redirects?
Yes, up to 5, and it checks every address before it requests it. The address field then shows the final address.
Are uploaded files stored anywhere?
No. A file is sent to the Worker, prepared and returned, and never cached or written down. The app keeps it in memory for Retry and the Scripts switch until you load another file.
Do links inside the preview work?
Yes, on a page loaded from an address: a click loads the link's target through Recolor. On a sample or an uploaded file a link only shows a short note, since there is no site to follow.
Should I leave scripts on?
Yes, as a start. Turn them off when a page keeps loading, leaves the preview or shows less than it should; the server's HTML and CSS often show the colors well.
Sources
- The noscript element, MDN developer.mozilla.org
- The base element, MDN developer.mozilla.org
- The iframe element and its sandbox attribute, MDN developer.mozilla.org