How to Create a Modern CV For FREE On Overleaf

Aaron Imani
6 min readAug 21, 2022

--

After months of not updating my Curriculum Vitae (CV), it was too outdated to be modified. I looked for some free templates for creating a CV from scratch or online service that helps me do it free. However, my Google search results were discouraging. Therefore, I decided to modify the WORD document I used to write my old CV. Struggling with Microsoft Word in a document with images, horizontal lines, and other elements except the text is too exhausting for me. This led me to find an easier way to create a modern CV for free and hassle-less. In this story, I will provide a step-by-step guide to creating your own stylish CV on Overleaf without spending a dime.

The Sample CV you can create by reading this Story

Overleaf is an online LateX editor for creating and managing documents. One good thing with Overleaf is that no matter what kind of document you want to create, there are always free templates for that! So, why not use Overleaf to create our CV? You might say: “Well, I don’t know the LateX syntax!” but you will be just fine with reading this story!

Find The Right Template

The first step to creating a CV on Overleaf is to find a suitable template for you! There are dozens of free templates for CV/Résumé on Overleaf. You can browse them here. Depending on the template's structure, how it has organized the CV sections, and any other personal criteria you might think of, you can choose one of the templates on which to build your CV. After choosing a template, let’s say your choice is my favourite template, Awesome CV, click on the Open as Template button on the template page. It will create a new project on your Overleaf account with the selected template. If you don’t have an Overleaf account, you should create an account at this step to continue.

Browsing The Template Files

Now that an Overleaf project has been built from our selected template, it is time to browse the template files and find a general sight of what they are meant for. Below is a screenshot of a project created from the Awesome CV template I mentioned. On the left part of the screenshot, we can see the files and folders of the project. Following, I explain what the files and folders contain to know which files are meant to be modified. If you are familiar with LateX templates, feel free to skip to “Modifying The CV”.

Overleaf project created based on the Awesome CV template mentioned earlier.

CLS Files

Usually, there is at least one .cls file in each project that has been created from a template. This file contains a set of rules in LateX syntax that define the general structure and appearance of the final generated document. In our case, the file is called awesome-cv.cls.

Folders

The folders usually are consisted of the fonts, graphics, and other dependencies that the .cls file(s) relies on as well as a set of .tex files.

TEX Files

The files that include the visible contents of the generated document have the .tex extension at the end of their names. Unlike the cls file, there are usually multiple .tex files inside a project to keep each of them concise and to organize the files better. Typically, each .tex file represents a section in the generated CV. On the existence of multiple .tex files, one should be selected as the main document to be compiled by Overleaf. This can be done by clicking on the Menu button on the top left of the screen and locating the main document dropdown. Usually, the files you should select are located at the top level of the project, while the sections that create the final document appear in the folders. In our case, we can see three .tex files at the project's top level, e.g., resume.tex, coverletter.tex, and resume.tex.

tex files at the top level of the project on Overleaf

We can choose the corresponding .e main document from the menu depending on what document we want. Let’s select cv.tex for the main document since our mission is to create a CV.

Understanding The Template’s Structure

Now that we know what the files contain and we have selected our main document, the next thing we should do is to understand the structure of our proposed main document. In our case, if we click oncv.tex, we can see there are mainly two parts. The first part of the document that is before the \begin{document} line (Line 80) includes the below materials:

As the comment (Texts in gray colour) suggests on the top of the screenshot, this portion of the TEX file includes the configurations of generated CV. Instructions have been given on how to change the configuration. For example, changing the colour of highlights to sky blue is possible by changing line 32 of the above screenshot to \colorlet{awesome}{awesome-sky blue}. Please note that the colour options have been given in lines 30 and 31. If you are unfamiliar with LateX parameters, I advise you to read this article. It will help you to customize the configuration by modifying the commands’ parameters.

Following the configuration lines, we observe a part for entering our personal information to be printed on top of the CV. Please note that some lines are commented and can be uncommented by simply removing % at the beginning of the desired comment line. For instance, one can add their Medium profile by uncommenting line 70 in the screenshot below and replacing medium-id with their actual Medium ID like @alireza_imn (Don't use my ID, though).

The next part of this TEX file includes multiple tex files consecutively to generate the CV sections. Using the \input{} command multiple TEX files have been imported in lines 98–105. The order of the contents of the files in the final document will be the same as the order they have been imported.

The imported .Tex files in the main document
The imported tex files in the main document

Modifying The CV

Being familiar with the structure of the main document besides the project files, we can start modifying the TEX files that have been imported to the main document, as explained above. Take the first imported .tex file on line 98 in the screenshot above as an example. Try locating it in the project files and opening it.

Locating education.tex and opening it

Since education.tex is the first imported tex file in the main document, we can see in the above screenshot that Education is on top of the compiled PDF file. In the editor, try changing the values between brackets in lines 14–22 and observe the changes by clicking the Recompile button on top of the compiled PDF preview. Once you realize how changing the bracket values affects the CV, you can replicate the \cventry command by simply copying and pasting lines 13–21 anywhere before \end{cventries}. You could successfully edit the first section of your CV! You can do the same tricks on the other sections by locating the corresponding .tex files and editing them. You can also add your .tex file by following one of the .tex files included in the main document and including the newly added .tex file to the main document by giving the right path to the file in the \input{path-to-your-tex-file.tex} command. This command can appear anywhere between the \input lines in the main document (lines 98–107).

Reading this story, you are now familiar with how to use FREE Overleaf templates to create your CV. You don’t have to deal with the layout, design, or anything unless you want to customize the template, and this is the power of using an Overleaf template. It saves your time, energy, and money and makes you concentrate on the content rather than the layout. Should you have any questions, we can discuss them below this story.

--

--

Aaron Imani

Ph.D. Student in Software Engineering at University of California, Irvine