Surface Surfer app icon

Surface Surfer

Front & rear dual-side scan

App Store (free)

Surface Surfer scans with the iPhone’s front and rear cameras at the same time. Glide the phone over a surface, as if surfing it, to collect interesting surfaces and textures wherever you happen to find them. It works by slit-scanning.

As you move your iPhone, it records as if carving an invisible mirror into the world along your path. Each side of the mirror shows the world it was facing. Just as the gradients on ocean waves mirror the sky on the other side, putting a surface next to what lies opposite it may reveal connections you don’t usually see.

Surface Surfer records with the back and front cameras at the same time, so the two sides of the mirror show:

Back camerathe world in front of you
Front camerayour side: the person holding the phone

A slit-scan takes just one thin vertical line (the “slit”) from the center of the camera image, frame after frame, and places the lines side by side in the order they were captured. The result is a single long image. Move the phone sideways and the space you pass becomes the image. Hold it still and what changes in front of it over time becomes the image instead.

Go explore the surfaces of the world.

On the App Store iPhone 11 or later · iOS 26 or later

1. Scanning

  1. Open the app and point the phone at what you want to scan.

  2. Press and hold a volume button (+ or −) or the Camera Control. The app scans for as long as you hold it.

  3. Let go to stop. The scan is saved to your Photos library and then opens in the 3D view.

iPhones without Camera Control work fine with the volume buttons alone.

If you would rather not hold the button down, change the recording mode in Settings to tap to start, tap again to stop. One press starts the scan; the next press stops and saves it.

Button assignments

iOS reports the volume buttons and the Camera Control to apps as two kinds of button, shown in Settings as A (primary) and B (secondary). You can give each of them one of the following jobs. Both start out as Record.

AssignmentWhat a press does
RecordStarts and stops a scan
Toggle back LEDTurns the back light on or off for scanning
Toggle horizon lockTurns horizon lock on or off
Not usedNothing

If neither A nor B is set to Record, a record button appears on screen.

2. The screen while scanning

The scan fills the screen as it grows. The back-camera and front-camera results are shown one above the other when you hold the phone upright, and side by side when you hold it sideways.

Small live previews of both cameras sit in a corner. The red line on them marks where the slit is being taken.

The screen orientation is locked during a scan, so turning the phone partway through will not flip the layout.

Main screen during a scan: the back-camera and front-camera results stacked one above the other, with small previews of both cameras in a corner
Main screen during a scan

3. Scanning aids

Speed that follows the motion (optical flow)

Optical flow is a way of measuring how far, and in which direction, things in the picture have moved between one frame and the next. Surface Surfer uses it to judge how much the picture is moving and adjusts how fast it writes slits:

This also reacts when the phone is fixed in place but the subject moves, such as people walking by or water. You can turn it off in Settings.

Horizon lock

Using the gyroscope (the sensor that measures how the phone tilts and turns), the app keeps the slit vertical relative to the world even when the phone leans to one side, much like the horizon leveling on action cameras. It can be turned on or off in Settings.

Back LED

The back light can be switched on for the duration of each scan. It can be turned on or off in Settings.

4. Viewing in 3D

When a scan ends, it opens in a 3D view. (You can turn this off in Settings.) Along the bottom you can choose between two ways of looking at it.

Solid

The board is bent to follow how the phone moved during the scan. The front face shows the back camera; the reverse shows the front camera. Drag to rotate, pinch to zoom, and use the flip button to turn it over. The shape is rebuilt from the orientation recorded by the gyroscope and the actual movement measured by optical flow. Each camera's image goes on the side that camera was facing: the back camera's view on the back side of the phone, the front camera's on the screen side.

How the phone movedResulting shape
Straight sidewaysA flat board
Walking around an object, such as a tree trunkA cylinder (the trunk's surface inside, you outside)
Turning on the spot, or circling the phone around your faceA panorama-like curve (the back camera's view outside, your face inside)
Shaking up and downWaves

The measured movement sets the spacing between slits, so parts you moved through slowly shrink and parts you moved through quickly stretch out, bringing the proportions of what you scanned close to the real thing. Because the app also knows whether you moved left or right, hollows and bulges are decided automatically.

Turn off the measured-movement button to build the shape from orientation alone (the image keeps its own proportions). Orientation alone cannot tell left from right, so if the shape looks inside out, use the reverse button to swap hollows and bulges. Older scans without a movement record are also built from orientation alone.

Lenticular

A lenticular print is covered with a sheet of tiny ridge-shaped lenses, so that it shows a different picture depending on the angle you look from. This view imitates one: the two images are cut into thin vertical stripes and interleaved.

Tilt the phone left and right to switch between the back-camera and front-camera image. In between, the two blend together as stripes.

Keep tilting and the back and front images keep alternating. Pinch to zoom; the stripes stay just as fine when zoomed in.

Exporting USDZ

Solid can be exported as a USDZ file (Apple’s 3D file format), keeping its bent shape, with the back camera image on the front and the front camera image on the back. The file opens in the Files app, in AR Quick Look and in Preview on a Mac.

USDZ export is an in-app purchase ("USDZ Export" or "Pro", see section 9). If you haven't bought it yet, tapping "USDZ" shows the purchase screen. Viewing scans as Solid or Lenticular is free.

3D view in Solid mode: a scan made by turning on the spot at a beach, laid out as a ring
Solid
Lenticular view: the back-camera and front-camera images mixed together in thin vertical stripes
Lenticular

5. What gets saved

Images

Each scan is saved automatically to your Photos library as a PNG: one image that combines the back and front results. In Settings you can choose how the two are arranged:

You can also choose to save the back-only and front-only images as well. Their file names end in _back and _front.

Scans made with the phone held sideways are tagged so that Photos shows them the right way up. With full Photos access, scans are also added to an album named “Surface Surfer”.

Orientation record

For every slit, the app records which way the phone was facing at that moment (from the gyroscope) and stores the record inside the saved PNG, as an extra text chunk. The image still opens normally in any app. When you reopen a scan from past scans, this record is used to rebuild the Solid shape.

Location

If you turn on location recording, the app uses GPS to record where the scan started. Location is only read while the app is in use. The recorded location goes into:

It is also shown in the 3D view.

If you share the image or file, you share where it was taken. To keep coordinates out of file names only, turn off the option that adds them to the file name. To stop recording location altogether, turn off location recording.

Open this from the top-right of the main screen. It lists only the scans saved by this app; none of your other photos appear. Tap a scan to open it in the 3D view again.

The past scans list, showing thumbnails of scans saved by this app
Past scans

About Photos access

iOS lets you decide how much of your Photos library each app can use. Surface Surfer needs:

Read accessWhat works
NonePast scans cannot be opened. Scanning and saving still work.
Limited accessScans this app saved are visible. Scans saved before you chose limited access appear once you add them with “select more photos”. The album is not created.
Full accessAll your scans are visible, and the “Surface Surfer” album is created.

Even with full access, the app only reads the scans it saved itself. You can change the access level by opening Surface Surfer in the iPhone Settings app and choosing Photos.

7. Tips

Watch the battery and heat. Processing 4K video from two cameras at once uses a lot of power and can make the phone warm.

Long 4K scans produce large PNG files, often tens of megabytes each, so keep an eye on your storage.

8. FAQ

The volume buttons don’t change the volume while the app is open

The app uses them as shutter buttons. To get normal volume buttons back, set both A and B to Not used in the button assignment settings. A record button then appears on screen instead.

Why does it need both cameras?

The app is built around recording the world in front of you and your own side in the same scan. So it only runs on iPhones that can use the back and front cameras at the same time (iPhone 11 or later).

The Solid shape looks inside out

With measured movement on, this is decided automatically from the direction you moved. With it off (orientation only), the app cannot tell whether the phone moved left or right, so tap the reverse button to swap the hollows and bulges.

Where is the location stored, and how do I turn it off?

In the file name, in the Photos location, and in the orientation record inside the PNG. Turn off location recording in Settings to stop it, or turn off just the file-name option to keep coordinates out of file names. See Location for details.

Which Photos access should I choose?

“Add only” is enough to scan and save. To look at past scans in 3D again, choose limited or full access. The “Surface Surfer” album is only created with full access. Whichever you choose, the app only reads the scans it saved itself. See Past scans for details.

9. Ads and In-App Purchases (Pro)

To keep Surface Surfer free, a small banner ad is shown at the bottom of the main screen. It never covers the scan.

There are three in-app purchases, all one-time purchases. Buy them from "In-App Purchases" at the top of Settings (the gear, top right).

ItemWhat it doesPrice (U.S.)
Remove AdsHides the ad at the bottom of the screen$1.99
USDZ ExportExports the 3D shape as a USDZ file$1.99
ProBoth of the above$2.99

Your scans and scan locations are never used for ads. See the privacy policy for details.

10. Requirements

11. Contact

For bug reports and requests, please get in touch below. It helps to include your iPhone model, iOS version, and the steps that lead to the problem.

For how the app handles your data, see the Privacy Policy.