Python Formatter
Format and validate Python code online for free with Ruff, right in your browser.
Local browser processing
No sign-up required
Powered by Ruff / Rust
LanguageFor Python code
Pythoninput.py
Indent
Line width
⌘⏎Quick format
InputEditable
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
OutputPython valid30 lines · 725 B
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import asyncio
from dataclasses import dataclass, field
from typing import Optional
@dataclass
class User:
id: int
name: str
email: str
tags: list[str] = field(default_factory=list)
active: bool = True
def display(self) -> str:
return f"{self.name} <{self.email}>"
async def fetch_users(ids: list[int], limit: Optional[int] = None) -> list[User]:
results = []
for uid in ids[:limit]:
user = User(id=uid, name=f"user_{uid}", email=f"user{uid}@example.com")
results.append(user)
return results
async def main():
users = await fetch_users([1,2,3,4,5], limit=3)
for u in users:
print(u.display())
if __name__ == "__main__":
asyncio.run(main())
UTF-8 · Indent: 4 spaces · Line width: 88Local processing · Ready
How It WorksPython
Overview
This Python formatter cleans up code with inconsistent indentation or mixed styles into a unified style, powered by Ruff's real syntax parser. async/await, dataclasses, type hints, and other modern syntax are all correctly recognized. Everything runs locally in your browser; your data never leaves your device.
Use Cases
Unify a team's Python code styleClean up code minified onto a single lineCheck whether syntax is correctFormat code pasted from docs or generated by AI
Steps
123
Paste or uploadAdjust format optionsGet the result