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.
Open a world
freewrl world.wrl
freewrl https://example.org/world.x3d
freewrl --geometry 1280x800 world.x3dvOn 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.
Navigation modes
A world can limit the modes with NavigationInfo. A key for a mode the world does not allow is ignored.
| Mode | Key | What it does |
|---|---|---|
| EXAMINE | e | Turn the whole model around its center, like a trackball. This is the default when the scene has no NavigationInfo. |
| WALK | w | Move over the ground. Drag up or down to walk forward or back, left or right to turn. |
| FLY | d | Move freely in 3D with the mouse or keyboard. The drag style (YAWZ, XY, YAWPITCH, ROLL) is picked from the HUD fly button. |
| EXFLY | f | Fly 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. |
| SPHERICAL | y | Stand still and look around, as in a panorama. Press y again to switch the drag to zooming the field of view. |
| TURNTABLE | t | Orbit the model like a record on a turntable: no roll, so the up direction stays up. |
| EXPLORE | g | Orbit around a point you choose. Hold Ctrl and click (or press g again) to pick a new center point. |
| LOOKAT | m | Click an object and the viewer moves to look at it, then returns to the previous mode. Press m again to cancel. |
| DIST | button bar | Drag 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. |
| PAN | button bar | Drag 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. |
| NONE | button bar | No user navigation. Only the scene itself can move the viewer. Set only by NavigationInfo. |
Mouse
Left button unless it says otherwise. The wheel only zooms in PAN mode.
| Mode | Input | Result |
|---|---|---|
| EXAMINE | left drag | Rotate the model freely, like a trackball |
| WALK | left drag up/down | Walk forward / back. Small drags are slow, big drags are fast |
| WALK | left drag left/right | Turn left / right |
| WALK | right drag | Slide sideways and up/down |
| FLY | left drag | Depends on the HUD drag style. Default YAWZ: up/down moves forward/back, left/right turns. XY slides, YAWPITCH turns and tilts, ROLL rolls |
| DIST | left drag up/down | Move toward / away from the center point |
| TURNTABLE | left drag | Orbit around the center: left/right spins, up/down tilts |
| TURNTABLE | right drag up/down | Move in / out |
| SPHERICAL | left drag | Look around from a fixed spot |
| SPHERICAL | right drag up/down, or Ctrl+left drag | Zoom the field of view in / out |
| EXPLORE | Ctrl+click | Pick a new center point to orbit |
| EXPLORE | left drag | Orbit around the picked point (looks around like SPHERICAL until a point is picked) |
| LOOKAT | click | Move to look at the clicked object, then return to the previous mode |
| PAN | left drag | Drag the ground under the cursor |
| PAN | scroll wheel | Zoom in / out toward the cursor. The wheel does nothing in other modes |
| PAN | middle drag | Turn around the point under the cursor |
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.
Command-line options
The most useful ones. freewrl --help lists all of them. Use the long forms.
| Option | What it does |
|---|---|
-h, --help | Print all options |
-v, --version | Print program and library version |
-c, --fullscreen | Start 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, --big | Start with an 800x600 window |
--FPS N | Cap the frame rate at N frames per second |
--want TF | Show the status bar (T/F) and menu bar (T/F) |
--pin TF | Pin the status bar (T/F) and menu bar (T/F) so they stay visible |
-K, --keypress STRING | Send these keypresses once the scene is ready (e.g. 'w' to start in WALK) |
-L, --logfile FILE | Send all console messages to FILE ('-' keeps stdout) |
--anaglyph LR | Red/cyan-style stereo. L and R are each one of R,G,B,C,A,M (e.g. RC, RB) |
--sidebyside | Side-by-side stereo in one window |
-u, --shutter | Shutter-glasses stereo (needs quad-buffer OpenGL) |
-y, --eyedist N / -r, --screendist N | Stereo eye separation and screen distance |
-e, --eai | Enable the External Authoring Interface (no host:port argument any more) |
-J, --javascript SM|DUK|NONE | Choose the script engine: SpiderMonkey, Duktape, or none |
--shadingStyle N | 0 flat, 1 Gouraud, 2 Phong, 3 wireframe |
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.
--serverand--sigare gone.--eaitakes 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.
