Portfolio with 3D effects · 8 min read

Portfolio website with 3D effects: what to use and how to keep it fast

3D effects on a portfolio range from a card that tilts under the cursor to a whole world visitors explore. The small ones cost almost nothing and add polish; the big ones are memorable but take real work and can slow the site down. This guide covers the four main kinds, the tools behind them, and the rules that keep a 3D portfolio fast on phones.

By Perlink · Updated

The biggest kind: a space to explore

A live 3D room running in this page. Drag to look around, zoom in, and tap the objects.

Opening the room…

Live 3D room · Developer

Drag to look around · Scroll or pinch to zoom · Tap a picture

1. Tilt and parallax: 3D-looking, mostly CSS

The lightest kind. Project cards tilt toward the cursor, layers of an image move at different speeds, or a hero image shifts slightly as you scroll. These are done with CSS transforms (perspective, rotateX, rotateY, translateZ) and a few lines of JavaScript that follow the pointer or the scroll position.

They add depth without loading any 3D library, and they run well on almost any device. The limit is that nothing is really 3D: there are no models and no camera, only flat layers moved in space. Use them to make a grid of work feel more alive, not as the main idea of the site.

2. Scroll-driven 3D: a scene that moves as you read

A 3D object or scene stays on screen and turns, opens or changes as the visitor scrolls, while text sections pass by. Product launch pages use this a lot. It is usually built with Three.js or React Three Fiber for the scene and an animation library such as GSAP with its ScrollTrigger plugin to tie the camera or the model to the scroll position.

It tells a story in order, which suits case studies. It costs more: a 3D library, at least one model, and careful tuning so the motion stays smooth while the page scrolls. Scroll-jacking, where the page stops scrolling normally, is the most common way these sites frustrate people.

3. A WebGL hero: one 3D scene at the top

A single interactive scene in the first screen: a shape that reacts to the mouse, particles, a model of something you made, a shader that ripples. Below it, the rest of the portfolio is a normal page. Tools range from Spline, where you design the scene visually and embed it, to Three.js or React Three Fiber in code, with models made in Blender.

This is the best balance for many people. It makes a strong first impression and leaves the work itself easy to read. The risk is the first screen loading slowly, which is exactly where visitors decide whether to stay, so the scene should load after the text and have a still image as a fallback.

4. An explorable world: the portfolio is the space

The whole portfolio is a 3D place: a room, an island, a town or a game. Visitors move around and find projects as objects. The best-known examples, such as Bruno Simon’s portfolio where you drive a small car around a world, took their makers weeks of work with Three.js and Blender, and a lot of skill.

Nothing is more memorable, and nothing costs more to build or to keep up to date. It also has the biggest risks: long loading, work hidden behind exploration and poor results on weak phones. A world works best when there is also a plain way in, such as a menu or a normal page with the same projects.

The tools, and what each asks of you

Three.js is the most used JavaScript library for 3D in the browser; it handles the renderer, camera, lights, materials and model loading on top of WebGL. React Three Fiber lets you write a Three.js scene as React components, which fits sites already built with React or Next.js. Spline is a visual editor for 3D scenes that exports an embed, quick to start with but heavier and less flexible than hand-written code. Blender is where most custom models are made and textured before being exported, usually as glTF or GLB files.

Building any of the bigger effects yourself means learning at least one of these, plus how to compress models and textures. If your goal is a portfolio rather than learning 3D, a tool that gives you the 3D part ready-made saves most of that time.

Rules that keep a 3D portfolio fast

Whatever kind of effect you choose, the same habits decide whether the site feels quick or heavy:

  • Keep your name, introduction and project descriptions as real HTML text, not text drawn inside the scene, so search engines, screen readers and translation tools can read them.
  • Load the 3D after the page: show the text first, then load the library and models when the scene is about to be seen or when someone taps to open it.
  • Compress models (glTF with Draco or Meshopt) and textures (KTX2 or WebP), and keep polygon counts low.
  • Lower the quality on weaker devices: smaller render size, fewer shadows, a lower frame rate when nothing moves.
  • Respect prefers-reduced-motion and offer a still image or a plain version for people who turn motion off.
  • Have a fallback when WebGL is not available, and never make the 3D the only route to your work or contact details.

Where Perlink fits

Perlink gives you the explorable kind without code. Your portfolio is a normal page that loads fast and that search engines can read, and the same page is a 3D room visitors can walk around: your photos in picture frames on the walls, links on a laptop or a neon sign, a desk, shelves and lamps, on one of 11 lands, by day or night.

The room only loads when it is opened, or first if you choose room-first, and it adjusts its quality to the device, using WebGL or WebGPU where the browser has it. You arrange everything in a visual editor, and you can record a vertical video tour of the room for social media.

The four kinds compared

Effort to build yourselfEffect on speed
Tilt and parallaxHours, CSS and a little JavaScriptAlmost none
Scroll-driven 3DDays, Three.js or R3F plus GSAPMedium: a library and models to load
WebGL hero sceneA day with Spline, days in codeMedium, mostly on the first screen
Explorable worldWeeks, Three.js and BlenderHigh unless loaded on demand

Adding 3D to your portfolio, step by step

  1. 01

    Write the plain version first

    Introduction, best projects, contact. If the 3D failed to load, this page should still get you the job.

  2. 02

    Pick one kind of effect

    Choose the one that fits your work and time: tilt for polish, a hero scene for impact, a world for a creative statement.

  3. 03

    Choose your tool

    CSS for tilt, Spline or Three.js for a hero, Three.js and Blender for a world, or Perlink for a ready-made room.

  4. 04

    Load it late

    Show the text first and load the 3D on demand. Test on a mid-range phone over mobile data, not only on your laptop.

  5. 05

    Add the fallbacks

    A still image, reduced motion support and a way to reach every project without the 3D.

  6. 06

    Measure and trim

    Check load time and smoothness, then shrink models and textures until both are good on a phone.

Questions

What is the easiest way to add 3D effects to a portfolio?

Tilt or parallax effects with CSS are the easiest to code. For real 3D without code, Spline lets you embed a scene you design visually, and Perlink gives you a whole explorable room with your work in it.

Do 3D effects slow down a website?

They can. A 3D library and models add download size and work for the phone. Loading the 3D after the text, compressing models and lowering quality on weaker devices keeps the cost small.

Is Three.js or Spline better for a portfolio?

Spline is faster to start with and needs no code, but its embeds are heavier and harder to customise. Three.js takes longer to learn and gives full control over the scene and its performance.

Are 3D effects bad for SEO?

Not if your text stays as HTML. Search engines struggle with text drawn inside a WebGL canvas, so keep your name, descriptions and headings in the page itself.

Do 3D portfolio websites work on mobile?

Light effects work everywhere. Heavier scenes need smaller models, lower quality on weaker phones and touch controls. Always test on a real mid-range phone.

What does prefers-reduced-motion mean for my 3D portfolio?

It is a setting people turn on when motion bothers them. Your site can read it and switch off camera movements or show a still image instead.

Can I have a 3D portfolio without coding?

Yes. Perlink builds the 3D room for you from a template; you add your photos, links and words in a visual editor and publish at perlink.to/yourname.

Get the 3D without the weeks of work

A fast portfolio page and an explorable 3D room at one address, made in a visual editor. Free to start.

perlink.to/

More on 3D portfolios