Error 404 - previous options did not work

I am extremely new to Pavlovia, but I have tried as many of the currently available solutions for this error as I can and am no longer sure how to proceed.

I have uploaded my experiment (which works perfectly in the builder) to Pavlovia. When I try to pilot it, I get either a 404 or 403 error. It usually gives me three errors in the developer tools console and they read something along the lines of:

Failed to load resource: the server responded with a status of 404 ()

I also can see information about errors in the “Issues” part of the console in Chrome that say “The ‘viewport’ meta element ‘content’ attribute value should contain ‘width=device-width’.”

I’m not sure if this link will work for the experiment, but the current piloting link is: iSpy_V1_Online [PsychoPy] (

I do not currently have credits and am only trying to pilot. I have done the following:

  • went from piloting to inactive to piloting
  • deleted the index.html folder
  • made sure the index.html folder existed
  • deleted the hidden git folder
  • recreated the experiment, excel files, and resources folder in a new place and re-uploaded
  • added /html at the end of the experiment link
  • removed the index.html/? from the URL
  • removed the code from my experiment in the builder and re-pushed to the git (still runs in the builder without the code)
  • ensured the photos are in a folder called “resources” and are .jpg files

The experiment in the builder is quite simple. For the most part, it reads in an excel sheet for trial order, then loops through trials from another excel sheet to show photos on each routine. Participants respond with a keypress or a slider. There is currently no custom code nor audio/video.

Any troubleshooting advice is welcome.

Do you have html in Experiment Settings/Online/Output path? That should be blank.

It is blank. I haven’t touched anything in the online settings, so the only thing set in there is “Export HTML” is set to “on Sync”.

Interestingly, when I run it in Firefox (I’ve been using Edge up to this point), it gives me the error:

Loading module from “” was blocked because of a disallowed MIME type (“text/html”)"

I’m not sure what it means, but it seems different from the error in Edge.

Have you tried local debug mode?

I did not know that existed, but when I tried it, it gave me the same error:

Error response

Error code: 404

Message: File not found.

Error code explanation: HTTPStatus.NOT_FOUND - Nothing matches the given URI.

I haven’t gone any further in debugging because I wanted to respond while it seems like you’re online, but I’ll play around with this and search for the error code.

I never use local debug mode myself – but I’ve heard it can cause issues if you use it before syncing.

Have you checked on Gitlab whether you can see the files? It sounds like you aren’t syncing. Maybe there’s an error to look at in the runner. This page might help with general approaches.

I created a very simple experiment - one routine, loops three times through an excel file and shows the text from the file. The routine ends with the space bar being pressed. This works perfectly when I push it online.

I took just the first routine of my actual experiment, which is a consent form. So just text on a page, one routine, no loops or anything. I put it in a new folder and created a new project, and when I pushed it I get the same error as with my full experiment. With this experiment, my dashboard lists the platform as “UNKNOWN”, whereas with the test experiment above it lists the platform as “PSYCHOJS”. Something must be happening so Pavlovia doesn’t recognize the platform. I found some other posts where people had the same issue, but no solutions. I also tried to just send the experiment in the builder to javascript with the yellow button in the builder but it throws a synchronization error and tells me I don’t have permissions. It looks like the synchronization errors are mentioned in the link above, but not how to fix them.

UNKNOWN means there is no JS file online due to sync errors. Maybe there’s an issue with your consent form. You said just text – in what way is it a form?

It is just text right now. It is a single routine with a text object (I edited the wrap width of the text object) and then added a keyboard response with the spacebar to end the study. In the real experiment, it will have an “I agree” button (making it more of a “form”), but I haven’t added that here.

I compared the files in the git for little demo I got working to this experiment and I can see that the .js file isn’t being generated for my experiment, but I don’t know what would be different between the two of them.

If it is helpful, I’m uploading “testdemo” (needs the textFiles excel sheet) which works, and “iSpyOnline”, which doesn’t.
iSpyOnline.psyexp (7.9 KB)
onlinedemo.psyexp (8.8 KB)
textFiles.xlsx (8.2 KB)

Are both psyexp files in the same folder?

No, two seperate folders. I made sure the folders only have the one experiment in them. They have since the beginning, but I saw that issue in another forum too.

Well, I got it to work but I don’t actually know what the solution was.

I went back to the little test experiment that was working, and I rebuilt my actual experiment in that psychopy file. I still don’t know why that worked and all the other new experiments that I built didn’t work.

Some other minor issues I ran into (including here in case anyone comes across this is the future):

  • had to use incognito/private browsing mode to see the most up to date version after syncing to Pavlovia (disabling the cache did not work)
  • made sure the slash in the excel files to read in the photo files was “/” and not "\ "
  • added all the photo files names to the “Additional Resources” under experiment settings > online