Skip to main content

npx remotion still

Available from v2.3.

Render a still frame based on the entry point, the composition ID and save it to the output location.

npx remotion still <entry-file> [<composition-id>] [<output-location>]
npx remotion still <entry-file> [<composition-id>] [<output-location>]

If output-location is not passed, the still will be rendered into the out folder.
If composition-id is also not passed, Remotion will let you select a composition.



React Props to pass to the selected composition of your video. Must be a serialized JSON string (--props='{"hello": "world"}') or a path to a JSON file (./path/to/props.json). Can also be read using getInputProps().


Inline JSON string isn't supported on Windows because it removes the " character, use a temporary file instead.


jpeg or png - JPEG is faster, but doesn't support transparency. The default is jpeg.


Specify a location for the Remotion config file.


Specify a location for a dotenv file - Default .env. Read about how environment variables work in Remotion.


Value between 0 and 100 for JPEG rendering quality. Doesn't work when image format is png.


Write to output even if file already exists.. This flag is enabled by default, use --overwrite=false to disable it.


Path to a Chrome executable. If not specified and Remotion cannot find one, it will download one during rendering.


Scales the output frames by the factor you pass in. For example, a 1280x720px frame will become a 1920x1080px frame with a scale factor of 1.5. Vector elements like fonts and HTML markups will be rendered with extra details. scale must be greater than 0 and less than equal to 16. Default: 1.


Which frame should be rendered. Example --frame=10. Default 0.
From v3.2.27, negative values are allowed, with -1 being the last frame.


Enable or disable Webpack caching. This flag is enabled by default, use --bundle-cache=false to disable caching.


Set the log level. Increase or decrease the amount of output. Acceptable values: error, warn, info (default), verbose


Set a custom HTTP server port to serve the Webpack bundle. If not defined, Remotion will try to find a free port.


Define the location of the public/ directory.. If not defined, Remotion will assume the location is the public folder in your Remotion root.


Set a custom ffmpeg executable. If not defined, a ffmpeg executable will be searched in PATH.


Set a custom ffprobe executable. If not defined, a ffprobe executable will be searched in PATH.


Define how long a single frame may take to resolve all delayRender() calls before it times out in milliseconds. Default: 30000.



Results in invalid SSL certificates in Chrome, such as self-signed ones, being ignored.


This will most notably disable CORS in Chrome among other security features.


Opens an actual browser during rendering to observe the render.


  • From Remotion v2.6.7 until v3.0.7, the default for Remotion Lambda was swiftshader, but from v3.0.8 the default is swangle (Swiftshader on Angle) since Chrome 101 added support for it.
  • From Remotion v2.4.3 until v2.6.6, the default was angle, however it turns out to have a small memory leak that could crash long Remotion renders.

Select the OpenGL renderer backend for Chromium. Accepted values:

  • "angle",
  • "egl",
  • "swiftshader"
  • "swangle"
  • null - Chromium's default

Default for local rendering: null.
Default for Lambda rendering: "swangle".


Lets you set a custom user agent that the headless Chrome browser assumes.