Skip to main content
Put a link on your website, blog or course page. Anyone who clicks it gets a new project of their own with your files. Nothing needs to be set up. Visitors need an account on your instance. A visitor who is not logged in goes to the login page first, and the project opens after logging in. The pages of this feature use the name Overleaf. Your own link or button can say anything, such as Open in Ayakaleaf.

See the examples

Open /devs on your site, for example https://ayakaleaf.example.com/devs. No menu links to this page, so type the address. By default you have to be logged in to see it.
The Overleaf API page with the buttons A LaTeX code snippet and A zipped project

The Overleaf API page

Click A LaTeX code snippet or A zipped project. A new project opens with the example.
The project I am a Zip file with main.tex, main2.tex and sample.bib, and its PDF

The project from the zipped example

1

Build the link

Put the address of the file after /docs?snip_uri=, URL-encoded:
For a zipped project, use zip_uri:
Your instance downloads the file, so it must be reachable over HTTP or HTTPS. Addresses on a private network are refused, see External URL.
2

Add it to your page

3

Click it

The new project opens in the editor, with a single file saved as main.tex.
The project Hello from a link in the editor, with main.tex and its PDF

A project opened from a link

Each click creates another project. The project is a copy, so later changes to your file do not reach it.
For a small file, you do not need to host anything: put its content in the link as a Base64 data URL. In JavaScript:
btoa only takes Latin-1 characters, so encode other text as UTF-8 first. For a zipped project, use zip_uri and data:application/zip;base64,. A link longer than about 8 KB is refused with the error 414 Request-URI Too Large. For anything bigger, host the file or use a form.

Choose the options

Add these to the link, or to the form as hidden fields: A .tex file without \documentclass is wrapped in a standard document, so it compiles right away:
A form sends the same parameters as a link:
To send the LaTeX itself, use snip for plain text or encoded_snip for text passed through encodeURIComponent. A form does not always work, which is why a link is the better choice unless your file is too long for one: If your administrator sets OVERLEAF_ALLOW_PUBLIC_ACCESS=true, the project opens in all these cases, after logging in if needed. That setting also opens other pages to signed-out visitors, see Page Access. For the rest of what administrators can set, see Overleaf Import API. The /devs page has more examples.

If the project does not open

The page says what went wrong. View the Overleaf API docs takes you to /devs.
The Open in Overleaf page with the message invalid url and the View the Overleaf API docs button

A link the instance cannot use

Last modified on November 7, 2026