sofast
Guides / Troubleshooting
Guide

My Site Looks Broken After I Uploaded It

August 2026 · 5 min read

Your page looked perfect on your computer and arrived online with no styling, no images, or nothing at all. This is the most common thing that happens on a first upload, and it is almost never a problem with your design or with the host. In nearly every case, a file your page depends on did not travel with it, or it travelled to a slightly different place than the HTML expects. Four causes cover almost all of it, listed below in the order they actually occur.

Nothing is lost — start here

Before anything else: your files on your computer are untouched, and nothing you uploaded is destroyed. Whatever went wrong, the fix is uploading a corrected version over the top. The address does not change and nothing you shared breaks.

Now open your live site and look at what you have got, because the symptom points straight at the cause.

Text with no styling, everything left-aligned
your CSS did not arrive
Broken image icons or empty gaps
your images did not arrive
A completely blank white page
your index.html is in the wrong place
The old version, unchanged
your browser is showing you a cached copy

Cause 1: files were left behind

This is the big one, and it accounts for most broken first uploads.

Your HTML does not contain your stylesheet or your images. It contains instructions to go and fetch them: <link href="style.css"> says "there is a file called style.css sitting next to me." On your computer that is true. If you uploaded only index.html, it is no longer true online, and the browser follows the instruction, finds nothing, and renders the page unstyled.

Diagram — 06-broken-paths.svg
The HTML is identical in both cases. On the left, style.css and the images folder travelled with it. On the right, they did not — so every reference points at nothing.

The fix. Go back to the folder on your computer. Everything that folder contains — the stylesheet, the scripts, the images folder, the fonts — has to be in the ZIP you upload, arranged exactly as it is on your machine. Zip the whole folder rather than picking out files.

One quick check before you re-upload: open index.html in a text editor and search for src= and href=. Every one of those is a file that has to come along.

Cause 2: index.html is in the wrong place

If you get a blank page or a file listing rather than your site, index.html is probably one level too deep.

When you zip a folder, some tools produce a ZIP containing your folder, which contains your files. Unpacked, that gives my-site/index.html — and the server, asked for the root of your site, looks for index.html at the root and does not find one.

The fix. Open the folder so you can see index.html, style.css and the rest directly. Select all of them, then compress the selection. That gives you a ZIP with index.html at the top level.

While you are there, check the name. Index.html, index.HTML and home.html will all fail. It has to be index.html, lowercase.

Cause 3: capital letters in filenames

This one is genuinely unfair, and it catches people who did everything else right.

Windows and macOS mostly treat Logo.png and logo.png as the same file. Web servers do not — they are case-sensitive. So a page that works flawlessly on your laptop can arrive online with one image missing, and only one.

The fix. Make every filename lowercase, and make every reference in your HTML match exactly. <img src="images/Logo.png"> needs a file called Logo.png, with the capital L, in a folder called images, lowercase. Renaming everything to lowercase and updating the references is the reliable move.

Cause 4: the browser is showing you an old copy

You fixed it, re-uploaded, and see exactly the same broken page.

Your browser saved a copy of your CSS and images to avoid downloading them again. It is still using that copy, including the version where things were broken.

The fix. Open the site in a private or incognito window, which ignores the cache. If it looks right there, your upload worked and only your own browser is behind. A hard refresh — Cmd+Shift+R on Mac, Ctrl+F5 on Windows — clears it.

Common questions

The five answers below cover mobile display, partial breakage, fonts, JavaScript and rolling back.

It works on my laptop but looks wrong on my phone.

That is a design issue rather than an upload issue — the files arrived fine. Your page probably lacks a viewport tag. Check that <meta name="viewport" content="width=device-width, initial-scale=1"> is in your head section. If an AI tool generated the page, asking it to make the layout responsive is the fastest path.

Some images show and others do not.

Almost always capital letters, or a file that was in a different folder from the rest. Compare the exact filename in your HTML against the exact filename on disk, character by character, for one that fails.

My fonts are not loading.

If the fonts come from a service like Google Fonts, check that the link tag is present and uses https://. If you are hosting font files yourself, they need to be in the upload like any other file, with the paths in your CSS matching.

My JavaScript stopped working.

Open your browser's developer console — right-click, then Inspect, then Console — and read the first error. A "404 not found" means the .js file did not arrive. Any other error is in the code itself and existed before you uploaded.

Can I go back to the previous version?

Re-upload the version that worked. It replaces the current one at the same address. Keeping the ZIP of a working version on your computer before you upload a new one is a habit worth building.

Still stuck?

Send us the address and what you are seeing. We will look at it.

Read the publishing guide →
Written by the sofast team.

Let's get your site online