[page:BufferGeometry] → [page:ExtrudeGeometry] →

# [name]

A class for generating text as a single geometry. It is constructed by providing a string of text, and a set of parameters consisting of a loaded font and settings for the geometry's parent [page:ExtrudeGeometry]. See the [page:FontLoader] page for additional details.

## Import

[name] is an add-on, and must be imported explicitly. See [link:#manual/introduction/Installation Installation / Addons].

`import { TextGeometry } from 'three/addons/geometries/TextGeometry.js';`

## Code Example

`const loader = new FontLoader(); loader.load( 'fonts/helvetiker_regular.typeface.json', function ( font ) { const geometry = new TextGeometry( 'Hello three.js!', { font: font, size: 80, depth: 5, curveSegments: 12, bevelEnabled: true, bevelThickness: 10, bevelSize: 8, bevelOffset: 0, bevelSegments: 5 } ); } );`

## Examples

[example:webgl_geometry_text geometry / text ]

## Constructor

### [name]([param:String text], [param:Object parameters])

text — The text that needs to be shown.
parameters — Object that can contains the following parameters.

- font — an instance of THREE.Font.
- size — Float. Size of the text. Default is 100.
- depth — Float. Thickness to extrude text. Default is 50.
- curveSegments — Integer. Number of points on the curves. Default is 12.
- bevelEnabled — Boolean. Turn on bevel. Default is False.
- bevelThickness — Float. How deep into text bevel goes. Default is 10.
- bevelSize — Float. How far from text outline is bevel. Default is 8.
- bevelOffset — Float. How far from text outline bevel starts. Default is 0.
- bevelSegments — Integer. Number of bevel segments. Default is 3.

## Available Fonts

TextGeometry uses typeface.json generated fonts. Some existing fonts can be found located in /examples/fonts and must be included in the page.

Font | Weight | Style | File Path
--- | --- | --- | ---
helvetiker | normal | normal | /examples/fonts/helvetiker_regular.typeface.json
helvetiker | bold | normal | /examples/fonts/helvetiker_bold.typeface.json
optimer | normal | normal | /examples/fonts/optimer_regular.typeface.json
optimer | bold | normal | /examples/fonts/optimer_bold.typeface.json
gentilis | normal | normal | /examples/fonts/gentilis_regular.typeface.json
gentilis | bold | normal | /examples/fonts/gentilis_bold.typeface.json
droid sans | normal | normal | /examples/fonts/droid/droid_sans_regular.typeface.json
droid sans | bold | normal | /examples/fonts/droid/droid_sans_bold.typeface.json
droid serif | normal | normal | /examples/fonts/droid/droid_serif_regular.typeface.json
droid serif | bold | normal | /examples/fonts/droid/droid_serif_bold.typeface.json

## Properties

See the base [page:ExtrudeGeometry] class for common properties.

### [property:Object parameters]

An object with a property for each of the constructor parameters. Any modification after instantiation does not change the geometry.

## Methods

See the base [page:ExtrudeGeometry] class for common methods.

## Source

[link:https://github.com/mrdoob/three.js/blob/master/examples/jsm/geometries/TextGeometry.js examples/jsm/geometries/TextGeometry.js]