Portfolio Website Generator
Drop your resume and get a one-page personal website that looks designed, not like a resume on a screen: a hero with your photo, project cards with pictures, case studies and big highlight numbers. Every section your resume has is filled in, every word is yours to edit, and you get one index.html file you can put online free.
- 1UploadAdd your resume
- 2DesignPick a look
- 3PhotoAdd a photo
- 4EditMake it yours, download
No file at hand?
Your site is kept in this browser while you work. Nothing goes online until you upload the file yourself.
Step 2
Choose a design
This is your own site in each design. You can switch later without losing anything you typed.
Step 3
Add a photo
A clear, friendly photo of your face makes the site feel like you. It is optional, and it stays inside your file.
Put your site online, free
Press Download index.html first. The file is the whole site: the text, the design and your photo if you added one. Two free hosts, with the steps from their own guides (checked 3 October 2026):
GitHub Pages
- Sign in to GitHub (a free account is enough). Click + at the top right, then New repository.
- For Repository name, type
yourname.github.io, using your GitHub username in lowercase. On a free account the repository must be Public. - Click Create repository. On the next screen, choose Add file, then Upload files, drop your
index.htmland click Commit changes. - Open Settings, then Pages in the sidebar. Under Build and deployment, set Source to Deploy from a branch, pick the main branch and the / (root) folder, and save.
- Wait a few minutes (GitHub says up to 10), then open
https://yourname.github.io.
GitHub looks for a file called index.html at the top of the repository, which is why the download always has that name.
Netlify Drop
- Make a new folder on your computer and put
index.htmlinside it. Netlify Drop takes a folder, not a single file. - Go to
app.netlify.com/dropand sign up or log in (free), so the site belongs to you straight away. - Drag the folder onto the page. Your site gets an address ending in
netlify.app. - To change the site later, drag the updated folder onto your site's Deploys page.
You can drop without an account, but Netlify then protects the address with a temporary password until you claim the site, so sign in first if you want to share the link today.
The portfolio gets you the call. Then you have to talk.
"Walk me through this project" is where most people freeze. ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. It is hidden from screen share on every plan, including Free; only you can see it.
How to make a portfolio website from your resume
- Import your resume. Drop a PDF or Word file on the box, or press Paste resume text instead. If you made your resume in our resume builder in this browser, it shows up as a one-click choice too.
- Read the import note. A blue note says what was filled from your resume and what was not found. Nothing is made up: a section your resume does not have stays empty, and empty sections are left off the site.
- Edit the boxes. About you holds your name, headline, location, email and the About text. Each section (Experience, Projects, Skills, Education and any others) opens into one box per entry. Add, delete, move up, move down, rename or hide any of them.
- Add what a resume cannot show. In each project, add a picture (a screenshot, a photo of the work or a cover), the result in one line and the tools you used. Add "The problem it solved" and the project gets its own case study on the page. In About you, add up to four highlights: numbers you can back up, like "40 stores use my weekly report".
- Pick a design. After the import you see your own site in each design: use the arrows or the list, and switch between Desktop and Phone. Minimal, Cards, Night, Showcase, Studio and Bento put your photo in a big hero and show projects as cards; Clean, Editorial, Split, Midnight and Mono are quieter one-column pages. Then pick a link color, a photo and an optional availability badge. Check Desktop and Phone above the live preview; recruiters often open a portfolio link on a mobile phone first.
- Fix weak lines first. If a line starts with "Responsible for" or leans on a buzzword like "team player", a yellow box says so. Fix weak lines first sends your text to the resume builder, where AI rewrites those lines and you approve each change; back here, Bring in the fixed lines puts them into your site without touching the design or pictures.
- Download and publish. Press Download index.html, fix anything in the "Before you publish" list, then follow the GitHub Pages or Netlify Drop steps above.
What the import fills, and what you check by hand
We tested it on 3 October 2026 with a short plain-text resume for a data analyst named Priya: her name on line one, "Data Analyst | SQL, Python, Tableau" on line two, a line with her city, email and phone, a LinkedIn and GitHub line, then Summary, Experience (two jobs), Projects, Education, Skills (two labeled groups), Certifications and Languages headings.
The import filled her name, that headline, the email, both links, the location, the phone (kept off the site until she switches it on), the summary as her About text, both jobs with their dates and bullet points, the project, the school, six skills in two groups, one certificate and two languages. One thing needed a hand fix: her first job line read "Data Analyst, Brightline Retail — Pune", and the whole of "Data Analyst, Brightline Retail" landed in the job title box with the company box empty. Read each job once after an import and move words to the right box where needed.
Some things a resume parser cannot know: the link to a live project, the code behind it, or a photo. Add those in the Projects and Design boxes. References are left out on purpose, because a public web page should not carry other people's phone numbers and emails.
The eleven designs, and what is inside the file
Every design uses the same clean page structure: a header with your name, headline and links, a short menu to each section, then one section per heading with real headings, lists and links. Screen readers and search engines read the same order you see. Our tests check every design for contrast: body text, muted text and link color all reach at least 4.5 to 1 against the page and against its cards, the WCAG AA level for normal text, whatever link color you pick.
- Minimal is laid out like the best resume-to-website builder we tested in October 2026: a top bar with your name and the sections, a grey hero with your photo, your name in very large type, your headline, About, place and email, and buttons for email and each link. Each section has its title on the left, and the title stays in view while you scroll its content. Jobs sit on a timeline with the dates on the right, projects are cards with a wide picture, the result and the tools, and languages sit beside your skills.
- Cards keeps the same parts and puts each one on a white card with soft corners: the hero, every job, every project, every skill group.
- Night is a dark navy page with large section titles and a thin rule beside them, projects two to a row.
- Showcase opens with your name in large type, your photo beside it, an Email me button and a See my work button. Highlights sit under it as big numbers, projects are cards with a picture, the result and the tools, and a project with a problem and what you did gets a case study further down: the problem, what you did and the result.
- Studio is the same layout on a dark page, with very large type and numbered sections (01 About, 02 Experience), the look of a design studio's site. Case studies alternate picture left and picture right on a wide screen.
- Bento puts everything in rounded tiles: your photo, the intro, each highlight, then one tile per section, with small sections such as Skills and Education side by side.
- Clean is a minimal white page with one column and quiet typography, a modern, professional choice for any field.
- Editorial uses warm paper and serif headings, good for writers, teachers and anyone whose work is words.
- Split keeps your name, photo and links on the left on a wide screen while the work scrolls on the right; on a phone it becomes one column.
- Midnight is a dark page with light text and card-style entries.
- Mono sets everything in monospace (typewriter) type for a plain, technical look.
The downloaded file is standalone: its styles are embedded inside it and it runs no JavaScript. It loads nothing from other sites: Minimal, Cards and Night carry the Geist font inside the file (about 40 KB, free under the SIL Open Font License), and the other designs use the fonts already on the visitor's device. The one script tag it has is a small block of structured data that tells search engines your name, your headline and your profile links. Our example site comes to about 60 KB in Minimal, Cards and Night (most of it the font), about 15 KB in Showcase and about 9 KB in the one-column designs, before pictures. Your photo and project pictures are stored inside the file too, so they are most of its size; the page warns you if the file grows past 1.5 MB, which is slow to open on a phone.
Link preview picture and tab icon
When someone pastes your link into LinkedIn, WhatsApp, Slack or X, those sites show a card with a picture, a title and a line of text. The title and text come from your name, headline and About, which the file already carries. The picture is a separate file, og.png, 1200 by 630 pixels, that this page draws from your design: your name, your headline and your photo (or your initials on your accent color).
Link previews need the picture's full web address, and the page cannot know where your site will live. So open Link preview and tab icon in the editor and type your address: for GitHub Pages that is yourname.github.io, which you know before you publish; on Netlify, publish once, copy the address it gives you, then come back. Download index.html again and upload it with og.png in the same folder. The file then also names that address as its canonical address, which tells search engines which copy is the real one.
The small icon in the browser tab is your initials on your accent color. It is drawn inside index.html, so there is nothing extra to upload for it.
Turn a project into a case study
A card says what a project is. A case study says why it mattered, and it is what a hiring manager reads when they want to know how you think. In the designed layouts, a project gets its own case study section when it has two things: "The problem it solved" and at least one line in "What you did". The card then links to it with Read the case study.
Write the problem as the situation before you started, in one or two sentences a stranger would understand. Write what you did as three or four actions, each starting with a doing word. Put the result in its own box, in one line, and keep it to what you can prove: a time saved, a number of people who use it, a decision it changed. Add a picture of the work if you have one; a screenshot of a dashboard, a photo of a finished space or the cover of a report all work.
What hiring managers look for in a portfolio
1. Deployed proof of work
Hiring teams care more about work they can open than bullet points. A live link, a repository, a published article or a dashboard with a short note on the decision it changed proves you can deliver.
2. A fast, plain page
The site is one small file with no scripts to run and no web fonts to download, so it opens quickly on a phone. Use the phone preview to check that every section reads well on a small screen before you share the link.
3. Free hosting anywhere
You own your site. Deploy the generated index.html to GitHub Pages, Netlify, Cloudflare Pages, or your own custom domain at zero monthly cost, and move it whenever you like.
What should a portfolio website include?
A hiring manager gives a portfolio a short first look, so put the answers where they look first. One line on who you are and the work you want. Two to four pieces of work, each with the problem, your part, the result and a link someone can open. A way to contact you. Nothing that contradicts your resume.
The work does not have to be code. A developer shows a repository and a live page, a designer shows case studies, a writer shows published pieces, an analyst shows a dashboard with a short note on the decision it changed, and a teacher can show a lesson plan with results. Keep the headline the same as on your profiles; the LinkedIn headline generator helps you write one line that works in both places. If your resume needs work first, start with the resume builder, then come back and import it.
For each project, write three short lines in the Projects box: what it is, what you did, and what changed because of it. Put the strongest project first with Move up. If a project has a live page, put it in "Link to see it"; the project name becomes a link and a "See it" link appears under it.
Why own the file instead of a hosted profile page?
Hosted profile sites can close, and their pages close with them. Read.cv, a popular profile and portfolio site, announced in January 2025 that its team was joining Perplexity and shut down on 16 May 2025; members had to export their pages before then. Bento.me, a link-in-bio portfolio page bought by Linktree, shut down on 13 February 2026. A portfolio that lives in your own index.html keeps working wherever you put it, and moving it to a new host is one upload.
Keep the backup file too (More, then Save backup file). It holds every box you filled in, so you can open it on this page from any computer, change one job, and download a fresh index.html in a minute.
Common portfolio mistakes, and the better version
- Sample text left in. A template's made-up company or lorem ipsum tells a recruiter you did not read your own page. This page starts empty, and if you open the example it lists every example line still in your site before you download.
- A headline that says nothing. "Passionate learner" fits anyone. "Data analyst: sales and stock reporting" tells the reader in one line what you do.
- Every project ever made. Ten small exercises bury the two that matter. Keep two to four, strongest first, and hide or delete the rest.
- Duties instead of results. "Responsible for month-end close" copies a job description. "Closed the books in three days instead of five" shows what changed. The page marks lines like the first and sends them to the resume builder to rewrite before they go public.
- A dead or private link. Open every link on the published site from your phone. A link to a private repository or a deleted page costs more than no link.
- A different story from your resume. Titles and dates that do not match your resume and LinkedIn raise questions. Import from the resume you send out, so they start the same.
- An availability badge left on after you start a job. The badge is off until you switch it on, and its words are yours to change, for example "Open to freelance work".
Frequently Asked Questions
How does the portfolio website generator work?
Drop your resume (PDF or Word) or paste its text. The page reads it with the same parser as our Resume Builder and fills every section it finds: name, headline, email, links, About, experience, projects, education, skills, certifications, languages and any other headings. Every word is editable, you add project pictures and results, pick one of eleven designs, and Download index.html gives you the finished site as one file.
Where can I host the exported HTML file?
Anywhere that serves a plain HTML file. The styles and pictures are inside the file and it loads nothing from other sites. GitHub Pages and Netlify are free, and the steps for both are on this page. Cloudflare Pages, Vercel and any ordinary web host work the same way: upload the one file, plus og.png if you want a link preview picture.
What themes are available?
Eleven designs. Minimal (big photo and name, section titles that stay in view as you scroll, a timeline for your jobs), Cards (every job, project and skill group on its own card) and Night (a dark navy page with large headings) follow the layout of the best resume-to-website builder we tested. Showcase, Studio and Bento add case studies and big highlight numbers. Clean, Editorial, Split, Midnight and Mono are quieter one-column pages. Switch any time without losing your content. Pick any link color; the page darkens or lightens it until text in that color is easy to read on the design you chose.
Is my portfolio data private?
Your site is kept in this browser while you work, and nothing is published until you upload the file yourself. Text you paste and your edits are kept in this browser only. When you import a resume file, its text is saved to ClapAssist so our tools can fill it in for you next time. If you press Fix weak lines first, the resume builder's AI step sends your resume text to ClapAssist to write the answer, and it is saved to your history; see or delete it at My Data.
Do I need a portfolio website to get hired?
Not for every job. It helps most when the work itself is the proof: software, design, writing, data and marketing roles, or any job post that asks for a portfolio or work samples. For other roles, a strong resume and LinkedIn profile matter more, and a portfolio is a bonus.
Why does my portfolio show jobs and projects I never had?
It should not any more. Until 3 October 2026 this generator started from a sample engineer, and its import replaced only the name, headline, email, GitHub and LinkedIn, so sample jobs and projects stayed. Now the page starts empty and fills only what your resume says. If you open the example, the page lists any example text still in your site and warns you before you download.
Can I use my own domain name for the portfolio?
Yes. Buy a domain from any registrar, then follow your host's custom domain steps; GitHub Pages and most other free static hosts support it. Your site stays one HTML file, so moving it to another host later is a simple upload.
How do I publish this to GitHub Pages?
Create a public repository named yourname.github.io (your GitHub username in lowercase), upload index.html to it, then in Settings, Pages, choose Deploy from a branch and the main branch. GitHub says changes can take up to 10 minutes to publish. The full steps are on this page.
Can I customize the CSS styles?
Yes. Every style sits in one style block at the top of index.html. Open the file in any text editor and change colors, font sizes, margins or spacing in plain vanilla CSS; the variables at the top (--bg, --fg, --muted, --accent) change the whole page at once. Keep a copy of the original file in case you want to go back.
Where can I manage my saved data?
Your site is kept in this browser's storage. More, then Save backup file, downloads it as a .json file you can open on another computer with Open backup file. A resume file you import is saved to ClapAssist as text; what our tools save is listed, with Delete, at My Data.
Can I add a photo to my portfolio website?
Yes, and it is optional. In Design, press Add a photo and pick a JPG, PNG or WebP. The page crops it to a square, shrinks it to 560 pixels and stores it inside index.html, so there is no second file to upload. Each project can have a picture too, shrunk to 1200 pixels wide. Remove takes either out again.
How do I get a picture to show when my portfolio link is shared?
Open Link preview and tab icon, type the address your site will have (for example yourname.github.io), download index.html again and press Download og.png. Upload both files to the same folder. LinkedIn, WhatsApp and X can then show your 1200 by 630 preview picture: your name, headline and photo. Without an address the link still works, with a plain card.
What does "Fix weak lines first" do?
It finds lines that read like a duty list or a buzzword, such as "Responsible for" or "team player", and opens the resume builder with your site's text. Its AI rewrites those lines and you approve each change. Come back to this page and press Bring in the fixed lines: only the lines change, never your design, pictures or links.
How do I update my portfolio website later?
Open this page in the same browser and your site is still here. Change what you need, press Download index.html again and replace the old file (and og.png, if your name, headline or photo changed): on GitHub, upload the new index.html to the same repository; on Netlify, drop the folder again on your site's Deploys page. On another computer, open your backup file first.
Return to ClapAssist Hub
Explore all 24+ free career preparation, resume, interview, and salary negotiation tools.