> For the complete documentation index, see [llms.txt](https://docs.overleaf.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.overleaf.com/managing-projects-and-files/uploading-a-project.md).

# Uploading a project

This page goes over how to create a new project from a .zip file and some common troubleshooting steps.

If you have a set of LaTeX files on a local machine, you can upload the entire set to create an Overleaf project. Local LaTeX documents that require multiple files (.tex, .bib, image files, and others) can be zipped and uploaded to Overleaf to create a project.

{% hint style="info" %}
For details on uploading `.docx` or `.md` files please see [Importing and exporting files](/managing-projects-and-files/importing-and-exporting-files.md). For importing from GitHub please refer to [Creating a new Overleaf project from a GitHub repository](/integrations-and-add-ons/git-integration-and-github-synchronization/github-synchronization.md#creating-a-new-overleaf-project-from-a-github-repository).&#x20;
{% endhint %}

## How to upload a project

{% stepper %}
{% step %}
In the project dashboard, click the **New project** button above the projects list on the right side.
{% endstep %}

{% step %}
Select the **Existing project (.zip)** option in the dropdown menu:

<figure><picture><source srcset="/files/qwobiRhlvhp4P1GIQJwL" media="(prefers-color-scheme: dark)"><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2Fgqvq0UmbqlATDaPSEJqo%2Fimage.png?alt=media&amp;token=d49f8aa0-8c79-46aa-ab56-18f9745309ad" alt="The New project menu with the Existing project (.zip) option selected." width="246"></picture><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Drag or select a `.zip` file within the **Upload Zipped Project** modal:

<figure><img src="https://3502988919-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVetOkhFZmAC8QCQK0Pi7%2Fuploads%2FoTpKZSyaD4tckYxrKCK6%2FScreenshot%202026-05-06%20at%2018.41.25.png?alt=media&amp;token=985d20cd-d254-4aaa-b939-dfb6fb372286" alt="The Upload Zipped Project modal" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
If the upload is successful, the project will open in Overleaf.
{% endstep %}
{% endstepper %}

## Uploading large projects

If you plan to upload large projects, here are some Overleaf resource limits/restrictions you need to be aware of:

* You cannot upload individual files which exceed 50 MB.
* Each upload can contain up to 180 files—if you attempt to upload more than that, only 180 files will be uploaded.
* Each Overleaf project cannot contain more than 2000 individual files.

If your project’s `.zip` file exceeds 50 MB you can try this:

* Upload a subset of your files in a `.zip` file (just to create the project).
* Manually upload the remaining files.

For a `.zip` file to upload properly:

* It should contain only file types that a LaTeX compiler can process: plain text files and images in `.eps`, `.pdf`, `.svg` and `.png` formats.
* It cannot contain more than 7 MB of material that can be edited on Overleaf (this is the maximum editable data for a project on Overleaf). For further information, please refer to [this page](/getting-started/free-and-premium-plans/plan-limits.md#overleaf-plan-limits).

## Troubleshooting project upload issues

If a project that compiles on your local machine fails to compile when uploaded to Overleaf, there are a few things you should check before moving on to general LaTeX troubleshooting.

### Ensure that your compiler is the right type for your project

By default, the compiler will be set to be **pdfLaTeX.** Some projects and templates may require the use of another compiler type (**LaTeX**, **LuaLaTeX** or **XeLaTeX**). [Selecting a TeX Live version and LaTeX compiler](/getting-started/recompiling-your-project/selecting-a-tex-live-version-and-latex-compiler.md)

### Check that your project's TeX Live version is compatible with your LaTeX code

When you create a new project in Overleaf, the TeX Live version will be set to the latest available version. Some projects and templates may require the use of an older version of TeX Live. [Selecting a TeX Live version and LaTeX compiler](/getting-started/recompiling-your-project/selecting-a-tex-live-version-and-latex-compiler.md)

### Select the correct main document

Overleaf will attempt to automatically detect the main document, but you should check that the correct `.tex` file has been designated as the main document. [The Main document](/getting-started/recompiling-your-project/the-main-document.md)

### If all files (including your main document) are in a top-level folder, move them out

Sometimes all the files in a zip are under a top-level folder, which can cause problems for Overleaf's compile process. If all your files are in a folder, move the files (and subfolders) out so that your main document is not in a folder. [The Main document](/getting-started/recompiling-your-project/the-main-document.md)

### If you are still seeing errors

If your project is using the right compiler, a compatible TeX Live version, and has a correctly specified main document that is not in a folder, you'll have to take a closer look at any remaining errors that are being reported in order to identify the problem that is occurring. [Fixing LaTeX errors](/troubleshooting-and-support/fixing-latex-errors.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.overleaf.com/managing-projects-and-files/uploading-a-project.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
