When I first started exploring Python’s Turtle module, I was amazed at how intuitive it was to create graphics with just a few lines of code. The Turtle pen is at the heart of this experience. It controls how your drawings appear, from the color and thickness of lines to when the pen is up or down. If you want to create engaging visuals or teach programming concepts interactively, mastering the Python Turtle pen is essential.
In this article, I’ll walk you through everything you need to know about the Turtle pen, including practical methods to control it effectively.
What is the Python Turtle Pen?
The Turtle pen is like the tip of a real pen or brush. It draws lines on the screen as the Turtle moves. When the pen is down, it leaves a trail; when it’s up, the Turtle moves without drawing anything.
From my experience, the pen’s properties such as color, width, and speed can make a huge difference in your graphics. The Turtle module provides straightforward commands to customize these properties, making your drawings more dynamic and visually appealing.
How to Control the Turtle Pen: Basic Methods
Let me explain to you how to control the turtle pen.
1. Pen Up and Pen Down
One of the first things I learned was how to control when the pen draws. Use penup() to lift the pen and pendown() to put it back down.
import turtle
t = turtle.Turtle()
# Move without drawing
t.penup()
t.goto(-100, 0)
# Start drawing
t.pendown()
t.forward(200)You can see the output in the screenshot below.

This method is useful when you want to move the Turtle to a new position without drawing a connecting line. For example, when outlining California, you might want to move the pen to a starting point without marking the map.
Check out Python Turtle Polygon
2. Change Pen Color
The pen color sets the color of the lines you draw. You can set it using the pencolor() method.
t.pencolor("blue")
t.forward(100)You can see the output in the screenshot below.

You can use color names like "red", "green", or hex color codes like "#FF5733". I often use hex codes to match specific color schemes, especially when creating state flags or logos.
3. Adjust Pen Width
The thickness of the pen can be changed with the pensize() or width() method. This is helpful when you want to emphasize certain lines.
t.pensize(5)
t.forward(100)When I was working on a project to draw the US flag, I used a thicker pen to draw the stripes and a thinner pen for the stars to capture detail.
4. Use pen() Method for Multiple Attributes
The Turtle module also offers a pen() method that lets you change multiple pen properties at once.
t.pen(pencolor="green", pensize=3, speed=5)
t.forward(150)This method is convenient when you want to set up your pen quickly without multiple lines of code.
Read Python Turtle Window
Advanced Pen Controls
Now, I will explain the advanced pen controls.
1. Use pensize() vs width()
Both pensize() and width() do the same thing — they set the pen’s thickness. I prefer width() because it’s shorter to type, but both are widely used.
t.width(4)
t.forward(100)2. Setting Pen Color with RGB Tuples
For precise color control, you can use RGB tuples but you need to set the color mode to 255 first:
turtle.colormode(255)
t.pencolor((255, 0, 0)) # Bright red
t.forward(100)This comes in handy when you want to match specific colors, like in a project visualizing American city maps with color-coded regions.
3. Pen Stamping
Sometimes, you might want to leave a shape or mark without drawing lines. The stamp() method stamps the Turtle’s shape at the current position.
t.shape("turtle")
t.stamp()This is useful for marking cities or points of interest on a map.
Check out Python Turtle Random
Practical Example: Draw a Simple US State Outline
Let me show you how I use the Turtle pen to draw a simplified outline of Texas.
import turtle
screen = turtle.Screen()
screen.title("Texas Outline")
t = turtle.Turtle()
t.pensize(3)
t.pencolor("darkgreen")
# Start at bottom left corner
t.penup()
t.goto(-150, -100)
t.pendown()
# Simplified shape
t.goto(-100, 0)
t.goto(-50, 50)
t.goto(0, 100)
t.goto(50, 50)
t.goto(100, 0)
t.goto(150, -50)
t.goto(100, -100)
t.goto(50, -150)
t.goto(-50, -150)
t.goto(-150, -100)
turtle.done()You can see the output in the screenshot below.

This example uses a pen up/down to move without drawing and sets the pen color and size for clarity. You can expand this by adding fill colors or more detailed lines.
Read Python Turtle Hide
Tips for Working with the Turtle Pen
- Use Pen Up/Down Wisely: It helps to avoid unwanted lines when moving the Turtle.
- Experiment with Colors: Use hex or RGB to match your project’s theme.
- Adjust Pen Width for Emphasis: Thicker lines draw attention, and thinner lines add detail.
- Combine
pen()Method: It’s a quick way to set multiple pen attributes. - Remember Speed: Pen speed affects how fast your drawing appears. Use
speed()to control it.
Mastering the Python Turtle pen is a rewarding step in creating interactive graphics or teaching programming concepts. With these simple yet powerful methods, you can bring your ideas to life on the screen.
If you want to explore more, try combining pen controls with Turtle’s fill methods or event-driven drawing for interactive projects. Happy coding!
You may also read:

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.