Native VRML97 / X3D browser · since 1998v6.7.0-macos-beta.2 · 2026-09-27

Use

Open a world. Look around.

Open a file from the command line, or on macOS from Finder. Then move with the mouse or keys. Every key on this page was checked in the current FreeWRL source. Parts are adapted from the upstream use.html.

§01

Open a world

Linux / macOS terminalshell
freewrl world.wrl
freewrl https://example.org/world.x3d
freewrl --geometry 1280x800 world.x3dv

On macOS, double-click a .wrl, .x3d or .x3dv file, or drop it on FreeWRL.

FreeWRL also reads gzipped files (.wrz, .x3dz) and loads worlds over HTTP and HTTPS.

§02

Navigation modes

A world can limit the modes with NavigationInfo. A key for a mode the world does not allow is ignored.

ModeKeyWhat it does
EXAMINEeTurn the whole model around its center, like a trackball. This is the default when the scene has no NavigationInfo.
WALKwMove over the ground. Drag up or down to walk forward or back, left or right to turn.
FLYdMove freely in 3D with the mouse or keyboard. The drag style (YAWZ, XY, YAWPITCH, ROLL) is picked from the HUD fly button.
EXFLYfFly driven by an external device: FreeWRL reads position and orientation from the file /tmp/inpdev (C:/tmp/inpdev.txt on Windows). If the file is missing it falls back to EXAMINE.
SPHERICALyStand still and look around, as in a panorama. Press y again to switch the drag to zooming the field of view.
TURNTABLEtOrbit the model like a record on a turntable: no roll, so the up direction stays up.
EXPLOREgOrbit around a point you choose. Hold Ctrl and click (or press g again) to pick a new center point.
LOOKATmClick an object and the viewer moves to look at it, then returns to the previous mode. Press m again to cancel.
DISTbutton barDrag up or down to move closer to or farther from the model's center, without rotating. Set from the HUD or NavigationInfo. There is no hotkey.
PANbutton barDrag the terrain under the cursor, scroll the wheel to zoom, and drag with the middle button to turn. Set from the HUD or NavigationInfo. There is no hotkey.
NONEbutton barNo user navigation. Only the scene itself can move the viewer. Set only by NavigationInfo.
§03

Mouse

Left button unless it says otherwise. The wheel only zooms in PAN mode.

ModeInputResult
EXAMINEleft dragRotate the model freely, like a trackball
WALKleft drag up/downWalk forward / back. Small drags are slow, big drags are fast
WALKleft drag left/rightTurn left / right
WALKright dragSlide sideways and up/down
FLYleft dragDepends on the HUD drag style. Default YAWZ: up/down moves forward/back, left/right turns. XY slides, YAWPITCH turns and tilts, ROLL rolls
DISTleft drag up/downMove toward / away from the center point
TURNTABLEleft dragOrbit around the center: left/right spins, up/down tilts
TURNTABLEright drag up/downMove in / out
SPHERICALleft dragLook around from a fixed spot
SPHERICALright drag up/down, or Ctrl+left dragZoom the field of view in / out
EXPLORECtrl+clickPick a new center point to orbit
EXPLOREleft dragOrbit around the picked point (looks around like SPHERICAL until a point is picked)
LOOKATclickMove to look at the clicked object, then return to the previous mode
PANleft dragDrag the ground under the cursor
PANscroll wheelZoom in / out toward the cursor. The wheel does nothing in other modes
PANmiddle dragTurn around the point under the cursor
§04

Keys

The same on Linux and macOS. On macOS, Command-key shortcuts go to the menu, not to FreeWRL.

Navigation modes

e
EXAMINE mode
w
WALK mode
d
FLY mode (mouse and keyboard)
f
EXFLY mode (external device input)
y
SPHERICAL mode. Press again to toggle field-of-view zoom
t
TURNTABLE mode
g
EXPLORE mode. Press again to toggle pick-a-center
m
LOOKAT mode (toggle)

Viewpoints

v
Next viewpoint
b
Previous viewpoint
Page Down
Next viewpoint
Page Up
Previous viewpoint
Home
First viewpoint
End
Last viewpoint
/
Print the current viewpoint position and orientation to the console

Moving with keys

Arrow keys
Fly with the current arrow-key style. Default at startup is XY: left/right slides, up/down rises and sinks
Shift+Left/Right arrow
Cycle the arrow-key style: YAWZ, YAWPITCH, ROLL, XY
a / z
Move forward / back (also keypad 0 / keypad .)
j / l
Slide left / right
p / ;
Move up / down
u / o
Turn (yaw) left / right (also keypad 4 / 6)
k / 8
Tilt (pitch) up / down (also keypad 2 / 8)
7 / 9
Roll counterclockwise / clockwise (also keypad 7 / 9)

World and program

h
Toggle the headlight
c
Toggle collision detection
Esc
Toggle whether keys go to the scene's KeySensor/StringSensor or to FreeWRL
x
Save a screenshot (Linux and Windows builds. The macOS and Android frontends take their own snapshots.)
n
Clear the world (unload the current scene)
`
Toggle logging console output to a file (freewrl_tmp/logfile.log)
Space
Open a ':' command prompt in the console. Type key,value and press Enter (e.g. keychord,yawz)
H
Toggle the frame-rate histogram
.
Print profiling timers to the console
q
Quit (ignored when running as a browser plugin)

Be careful with n: it unloads the world. x saves a screenshot on Linux and Windows builds only.

§05

Command-line options

The most useful ones. freewrl --help lists all of them. Use the long forms.

OptionWhat it does
-h, --helpPrint all options
-v, --versionPrint program and library version
-c, --fullscreenStart full screen (on X11 only if built with the xf86vmode extension)
-g, --geometry WxH[+X+Y]Set window size and position, e.g. 1024x768+100+50
-b, --bigStart with an 800x600 window
--FPS NCap the frame rate at N frames per second
--want TFShow the status bar (T/F) and menu bar (T/F)
--pin TFPin the status bar (T/F) and menu bar (T/F) so they stay visible
-K, --keypress STRINGSend these keypresses once the scene is ready (e.g. 'w' to start in WALK)
-L, --logfile FILESend all console messages to FILE ('-' keeps stdout)
--anaglyph LRRed/cyan-style stereo. L and R are each one of R,G,B,C,A,M (e.g. RC, RB)
--sidebysideSide-by-side stereo in one window
-u, --shutterShutter-glasses stereo (needs quad-buffer OpenGL)
-y, --eyedist N / -r, --screendist NStereo eye separation and screen distance
-e, --eaiEnable the External Authoring Interface (no host:port argument any more)
-J, --javascript SM|DUK|NONEChoose the script engine: SpiderMonkey, Duktape, or none
--shadingStyle N0 flat, 1 Gouraud, 2 Phong, 3 wireframe
§06

Changed since the old manual

  • Slide left and right is j / l. The old page said 7 / 9, but those keys roll the view.
  • NumLock no longer toggles the headlight on Linux. Use h.
  • New modes: SPHERICAL, TURNTABLE, EXPLORE, LOOKAT and PAN.
  • EXAMINE now turns the model freely, like a trackball. Right-drag zoom moved to DIST mode.
  • The fly keys work in every mode except NONE. The arrow keys start in the XY style: they slide, not turn.
  • --server and --sig are gone. --eai takes no host:port.

Checked against the FreeWRL 6.7 source on 2026-09-30. Not yet checked in a running window on every platform. If something here is wrong, please open an issue.