Profile Management
Browser console scripts for updating X/Twitter profile information.
Script Selection
| Script |
File |
Purpose |
| Profile Manager |
src/profileManager.js |
Core profile management operations |
| Update Profile |
src/updateProfile.js |
Update bio, name, location, website |
| QR Code Sharing |
src/qrCodeSharing.js |
Generate and share profile QR codes |
Update Profile
File: src/updateProfile.js
Programmatically updates profile fields: display name, bio, location, website, birth date.
How to Use
- Navigate to
x.com/settings/profile
- Open DevTools (F12) -> Console
- Paste the script -> Enter
Configuration
const CONFIG = {
displayName: 'Your Name',
bio: 'Your new bio here',
location: 'City, Country',
website: 'https://example.com',
};
Profile Manager
File: src/profileManager.js
Core module for reading and updating profile data. Used by other scripts that need profile context.
QR Code Sharing
File: src/qrCodeSharing.js
Generates a shareable QR code for your X profile. Useful for in-person networking and cross-platform promotion.
DOM Selectors
| Element |
Selector |
| Edit profile button |
[data-testid="editProfileButton"] |
| Avatar edit |
[data-testid="editProfileAvatar"] |
| Header edit |
[data-testid="editProfileHeader"] |
| Save button |
[data-testid="Profile_Save_Button"] |
| User name display |
[data-testid="UserName"] |
| User description |
[data-testid="UserDescription"] |
| User location |
[data-testid="UserLocation"] |
| User URL |
[data-testid="UserUrl"] |
Field Limits
| Field |
Limit |
| Display name |
50 characters |
| Bio |
160 characters |
| Location |
30 characters |
| Website |
Valid URL |
| Avatar |
Square image, 400x400px recommended |
| Header |
1500x500px recommended |
Strategy Guide
Optimizing profile for conversions
- Display name: Full name + value proposition keyword (e.g., "Jane Smith | AI Engineer")
- Bio: Lead with what you do, who you serve, proof (numbers), and CTA
- Location: Include if relevant to your niche (e.g., "San Francisco, CA" for tech)
- Website: Link to your most important conversion page (not just homepage)
- Avatar: Professional headshot, face visible, good lighting, contrasting background
- Header: Banner showing your work, product, or personal brand tagline
Bio formula (160 chars max)
{What you do} for {who you serve}
{Proof/credentials}
{CTA or link description}
Example: "Building AI tools for indie hackers | 10K+ users | Free at example.com"
Profile A/B testing
- Use
src/updateProfile.js to set version A
- Run for 1 week, track follower growth with
src/followerGrowthTracker.js
- Switch to version B with
src/updateProfile.js
- Compare growth rates after another week
- Keep the winning version
Notes
- Profile updates take effect immediately after saving
- Avatar and header uploads require file input interaction
- Bio supports line breaks and emoji
- All scripts include dry-run mode by default
- Changes can be reverted by running the script again with old values
1---2name: profile-management3description: Updates X/Twitter profile information including bio, avatar, header image, display name, location, website, and QR code sharing. Use when updating profile fields, optimizing profile for growth, or sharing profile via QR code.4license: Apache-2.05---67# Profile Management89Browser console scripts for updating X/Twitter profile information.1011## Script Selection1213| Script | File | Purpose |14|--------|------|---------|15| Profile Manager | `src/profileManager.js` | Core profile management operations |16| Update Profile | `src/updateProfile.js` | Update bio, name, location, website |17| QR Code Sharing | `src/qrCodeSharing.js` | Generate and share profile QR codes |1819## Update Profile2021**File:** `src/updateProfile.js`2223Programmatically updates profile fields: display name, bio, location, website, birth date.2425### How to Use261. Navigate to `x.com/settings/profile`272. Open DevTools (F12) -> Console283. Paste the script -> Enter2930### Configuration3132```javascript33const CONFIG = {34 displayName: 'Your Name',35 bio: 'Your new bio here',36 location: 'City, Country',37 website: 'https://example.com',38};39```4041## Profile Manager4243**File:** `src/profileManager.js`4445Core module for reading and updating profile data. Used by other scripts that need profile context.4647## QR Code Sharing4849**File:** `src/qrCodeSharing.js`5051Generates a shareable QR code for your X profile. Useful for in-person networking and cross-platform promotion.5253## DOM Selectors5455| Element | Selector |56|---------|----------|57| Edit profile button | `[data-testid="editProfileButton"]` |58| Avatar edit | `[data-testid="editProfileAvatar"]` |59| Header edit | `[data-testid="editProfileHeader"]` |60| Save button | `[data-testid="Profile_Save_Button"]` |61| User name display | `[data-testid="UserName"]` |62| User description | `[data-testid="UserDescription"]` |63| User location | `[data-testid="UserLocation"]` |64| User URL | `[data-testid="UserUrl"]` |6566## Field Limits6768| Field | Limit |69|-------|-------|70| Display name | 50 characters |71| Bio | 160 characters |72| Location | 30 characters |73| Website | Valid URL |74| Avatar | Square image, 400x400px recommended |75| Header | 1500x500px recommended |7677## Strategy Guide7879### Optimizing profile for conversions801. **Display name**: Full name + value proposition keyword (e.g., "Jane Smith | AI Engineer")812. **Bio**: Lead with what you do, who you serve, proof (numbers), and CTA823. **Location**: Include if relevant to your niche (e.g., "San Francisco, CA" for tech)834. **Website**: Link to your most important conversion page (not just homepage)845. **Avatar**: Professional headshot, face visible, good lighting, contrasting background856. **Header**: Banner showing your work, product, or personal brand tagline8687### Bio formula (160 chars max)88```89{What you do} for {who you serve}90{Proof/credentials}91{CTA or link description}92```9394Example: "Building AI tools for indie hackers | 10K+ users | Free at example.com"9596### Profile A/B testing971. Use `src/updateProfile.js` to set version A982. Run for 1 week, track follower growth with `src/followerGrowthTracker.js`993. Switch to version B with `src/updateProfile.js`1004. Compare growth rates after another week1015. Keep the winning version102103## Notes104- Profile updates take effect immediately after saving105- Avatar and header uploads require file input interaction106- Bio supports line breaks and emoji107- All scripts include dry-run mode by default108- Changes can be reverted by running the script again with old values